The "Choose Your Fighter" Trap: How to Lock Devices Behind Teams and Classes in Verse
The "Choose Your Fighter" Trap: How to Lock Devices Behind Teams and Classes in Verse
So, you’ve built a cool island. You’ve placed a teleporter. You’ve set up a checkpoint. You even added a zipline that shoots players into the sky like they’re being launched from a Battle Bus that forgot its brakes.
But here’s the problem: Right now, everyone can use everything. The bad guys can spawn in your safe zone. The healers can steal your loot. The team wearing red can walk through the door meant for the team wearing blue. It’s chaos. And not the fun, strategic kind.
In UEFN, these devices have a secret menu called "All Options (Additional)." Think of this menu as the Gatekeeper for your island. It’s the bouncer at the club who checks your ID (Team), your outfit (Class), and whether the party has actually started (Phase).
Today, we’re going to stop letting random players wreck our carefully crafted mechanics. We’re going to use Verse to enforce rules so strict that even a lagging player can’t bypass them. We’ll build a Team-Specific Escape Room where only the "Blue Team" can use the exit, and only if they aren't wearing the "Noob" class.
Let’s get gatekeeping.
What You'll Learn
- The "Additional Options" Menu: What it is and why it’s the most powerful filter in UEFN.
- Phase Control: How to stop devices from working during the lobby (so players don’t cheat before the match starts).
- Team & Class Filtering: How to restrict devices to specific teams or character classes.
- Inversion Logic: How to say "Everyone EXCEPT this team" without writing complex code.
How It Works
Imagine you’re building a device, like a Teleporter or a Checkpoint Pad. By default, these devices are like open gates: anyone who walks through gets activated.
But in the Additional Options panel, you have three main levers to pull:
1. The Phase Lever (When can it work?)
Games have different "phases."
- Pre-Game: The lobby, the countdown, the bus ride.
- Gameplay: The actual match.
- All: Both.
If you set a device to "Pre-Game Only," it’s like a prop-mover that only moves while you’re waiting in the lobby. Once the match starts, it freezes. This is crucial for things like spawn points or start-line triggers. You don’t want players using your "Start Game" button before the game actually starts.
2. The Team Lever (Who can use it?)
This is the classic "Red Team vs. Blue Team" logic.
- Any: Everyone can use it. (Boring.)
- Pick a Team: Only Team 1, or Team 2, etc.
- Invert Team Selection: This is the "No" button. If you set it to "Team 1" and turn Invert On, it means "Everyone EXCEPT Team 1." It’s the opposite of a VIP list; it’s a blacklist.
3. The Class Lever (What are they wearing?)
Classes are like character roles. You might have a "Healer" class, a "Tank" class, or a custom class you made.
- Any: Any class can use it.
- Pick a Class: Only players with that specific class can use it.
- No Class: Only players without a class assigned (the default, unassigned players).
- Invert Class Selection: Again, the blacklist. "No Class" + Invert = Only players with a class.
The Scene Graph Connection
In Unreal Engine 6 (and Verse’s future), everything is an Entity with Components.
- The Teleporter is the Entity.
- The Team Filter is a Component attached to it.
When a player steps on the teleporter, the engine doesn’t just say "Click!" It runs a quick check:
- Does the device allow this Phase? (Is the game started?)
- Does the player’s Team match the filter?
- Does the player’s Class match the filter?
If all checks pass, the device activates. If one fails, the device ignores the player. It’s like a lock that requires three keys to turn.
Let's Build It
We’re going to build a Class-Locked Loot Box.
- Scenario: There is a chest that contains the ultimate weapon.
- Rule: Only players with the "Sniper" class can open it.
- Rule: It only works during Gameplay (not in the lobby).
Note: In standard UEFN, you can set these filters directly in the device panel. But to understand how Verse interacts with these concepts, we’ll look at how we might script a custom behavior that respects these filters, or simply understand how the underlying logic works when we want to create a custom device that mimics this.
However, since we are beginners, let’s look at a Verse Script that checks these conditions. This is useful if you’re building a custom device (like a custom trap) and need to know if the player is allowed to interact with it.
# Import the necessary libraries for game logic
using /Fortnite.com/Devices
using /Engine/Systems/GameplayTagManager
# Define our custom device
type SniperLootDevice < CreativeDevice> is
# The device itself
Self: CreativeDevice
# We need to know what Class is allowed.
# In a real device, this might be a parameter you set in the editor.
AllowedClass: GameplayTag = "Class.Sniper"
# This function runs when a player interacts with the device
OnInteract: (player: Player) -> void =
# 1. Check the Phase
# Get the current game phase
current_phase := GetGamePhase(Self)
# If the game isn't in "Gameplay" phase, stop.
# Think of this as checking if the storm has started.
if current_phase != GamePhase.Gameplay:
return # Exit early. Player can't open it yet.
# 2. Check the Team (Optional, but good practice)
# Let's say only Team 1 can open it.
player_team := GetPlayerTeam(player)
if player_team != Team.One:
return # Wrong team. Go away.
# 3. Check the Class
# Get the player's current class
player_class := GetPlayerClass(player)
# Compare the player's class to our allowed class
# We use "==" to check for equality
if player_class != AllowedClass:
return # Wrong class. Not a sniper, no loot.
# If we passed all checks, give the loot!
GrantItem(player, "Item.AssaultRifle")
PrintToPlayer(player, "Sniper approved. Here’s your loot.")
Walkthrough of the Code
current_phase := GetGamePhase(Self): This is like checking the Storm Timer. Is the storm closed (Pre-Game) or open (Gameplay)? If it’s closed, wereturn(stop the function). The player gets nothing.player_team := GetPlayerTeam(player): This checks the player’s Elimination Counter team. Are they on Team 1? If not, wereturn.player_class := GetPlayerClass(player): This checks the player’s Outfit/Class. Are they a Sniper? If not, wereturn.GrantItem: Only if all the above checks pass do we actually give the player the item. This is the Loot Drop that only happens for the qualified player.
Why This Matters
Without these checks, any player could just walk up to the device and grab the loot. By adding these "Additional Options" logic (whether via the editor panel or Verse code), you ensure that the game feels fair and strategic. You’re not just dropping items; you’re rewarding specific playstyles.
Try It Yourself
Challenge: Build a Checkpoint Pad that only works for Team 2 and only during Gameplay.
- Place a Checkpoint Pad in your island.
- Go to its Additional Options.
- Set Enabled During Phase to Gameplay Only.
- Set Activating Team to Team 2.
- Test it:
- Try stepping on it as Team 1 during gameplay. (It shouldn’t work.)
- Try stepping on it as Team 2 during the Pre-Game lobby. (It shouldn’t work.)
- Try stepping on it as Team 2 during Gameplay. (It should work!)
Hint: If you want to make it even harder, try setting Activating Team to Team 1 and turning Invert Team Selection to On. Now, only Team 2 can use it. It’s the same result, but a different way of thinking about it!
Recap
- Additional Options are the filters that control who and when a device works.
- Phase controls when (Pre-Game, Gameplay, or All).
- Team controls who (Specific team, Any, or Inverted).
- Class controls what role (Specific class, Any, No Class, or Inverted).
- Always check these conditions first. If the player doesn’t meet the criteria, the device should ignore them.
Now go forth and gatekeep your island. Make those players earn their loot.
References
- https://dev.epicgames.com/documentation/en-us/fortnite/using-teleporter-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/using-stat-creator-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-player-checkpoint-pad-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-zipline-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/usingrocketboostpowerupdevicesinfortnitecreative
Verse source files
- 01-fragment.verse · fragment
Turn this into a guided course
Add All Options (Additional) to your free study plan — we'll suggest related pages and stitch the lot into one compile-checked, self-guided lesson with worked examples and quizzes.
References
Original tutorial generated by Verse Island from the Verse/UEFN knowledge base, with references to the Epic Games sources above. Code is validated against the knowledge base.