The "All Options" Trap: How to Lock Down Your Island Before Players Even Spawn
The "All Options" Trap: How to Lock Down Your Island Before Players Even Spawn
You’ve built the perfect arena. You’ve placed the sniper nest, the loot goblin, and the trap that launches players into the skybox. But then the match starts, and chaos ensues because the teleporter works during the lobby, the tank spawns before the game begins, and the stat tracker is showing numbers for players who haven’t even joined yet.
This isn’t a bug. This is a configuration error.
In UEFN, every device has a settings panel. In that panel, there is a section often labeled "All Options (Additional)." It sounds boring, like reading the terms and conditions for a free skin. But this section is actually the gatekeeper of your island’s logic. It decides when a device works, who can use it, and how it behaves before the first player even steps onto the island.
If you don’t lock down these settings, your island will behave like a chaotic battle royale match where the storm closes, the bus lands, and the game starts all at the same time. Today, we’re going to master the "All Options" panel so you can control the chaos, not let it control you.
What You'll Learn
- Phase Control: Why your devices shouldn’t work while players are still in the lobby.
- Team & Class Gating: How to restrict devices to specific teams or classes (or exclude them).
- The "Invert" Trick: A powerful way to say "everyone except this person."
- Scene Graph & Hierarchy: How these settings tie into the entity system in Unreal Engine 6.
How It Works
To understand "All Options," you need to understand two things: Game Phases and Scope.
1. Game Phases (The Timeline)
Think of a Fortnite match like a TV show with different acts.
- Pre-Game: The lobby. Players are picking their emotes, waiting for the bus, or on the island before the storm closes.
- Gameplay: The actual match. The storm is closing, people are shooting, and loot is flying.
Most devices in UEFN have an "Enabled During Phase" setting. By default, many are set to "All." This means your trap triggers while players are still posing in the lobby. That’s annoying for players and weird for testers. You usually want traps to only work during Gameplay.
2. Scope (Who is this for?)
Devices don’t just work on everyone. They have filters.
- Team: Is this for Team Red, Team Blue, or Everyone?
- Class: Is this for the Tank, the Sniper, or No Class?
- Invert: This is the cool part. If "Team" is set to Red, and you turn Invert on, the device now works for everyone except Red. It’s the "Anti-Team" switch.
3. Scene Graph & Entities (The UE6 Connection)
Here is where it gets technical but important. In Unreal Engine 6, everything is an Entity (a thing that exists in the world) with Components (properties or behaviors attached to it).
When you place a Teleporter or a Stat Creator in UEFN, you are creating an Entity. The "All Options" panel is essentially configuring the Component Data for that Entity.
- Hierarchy: The device is part of the Scene Graph. It has a parent (the level) and children (its effects).
- Persistence: Some devices (like Stat Creators) can save data to the backend. This is a property of the Entity’s state. If you turn off persistence, the device forgets your high score when you leave the island.
If you mess with the "All Options," you are changing the blueprint of that Entity before it even enters the game loop. It’s like setting the stats of your character in the menu before you press "Play."
Let's Build It
We’re going to build a Lobby Trap. You know the kind: a trap that looks like a normal floor tile, but if you step on it while waiting for the game to start, it launches you into the void. If you step on it during gameplay, it does nothing.
This teaches us how to use Phase Control and Team Gating.
The Setup
- Place a Teleporter Device.
- Place a Prop Mover (set to "Launch" or "Push Up") and link it to the Teleporter’s output.
- Place a Trigger Volume (a simple box) over the floor tile.
- Connect the Trigger to the Teleporter.
The Code (Verse)
Now, let’s write the Verse code to enforce these rules. In modern UEFN, we often use Verse to handle complex logic that devices alone can’t do, or to wrap device behavior in a clean script.
Here is a Verse script that checks the Phase and Team before allowing the teleport.
# This script attaches to a Trigger Volume.
# It acts as a bouncer at the club door.
using { /Fortnite.com/Devices }
using { /Verse.org/Sim }
# We define our Trigger as an Entity.
# In the Scene Graph, this entity has a 'OnBeginOverlapping' event.
struct MyLobbyTrap : Entity {
# The device we want to control
TeleporterDevice: TeleporterDevice = TeleporterDevice{}
# The team that is FORBIDDEN from using this
# If a player is on this team, they get bounced.
BannedTeam: Team = Team{Index = 0}
# This is the main "Bouncer" function.
# It runs when a player steps on the trigger.
OnBeginOverlapping := func(Other: Entity) -> void {
# 1. Check if the thing stepping on us is a Player
Player: PlayerDevice = Other.As[PlayerDevice]()
if (Player == None) {
return # Not a player, so let's ignore them.
}
# 2. Check the Phase
# We want to block this ONLY in the Pre-Game phase.
# If the game has started, we return early (do nothing).
if (GetPhase() != Phase::PreGame) {
return # Game is live. The trap is disarmed.
}
# 3. Check the Team (The "Invert" Logic)
# If the player's team matches the BannedTeam, we trigger the trap.
if (Player.GetTeam() == BannedTeam) {
# Trigger the teleporter
TeleporterDevice.Trigger()
# Optional: Send a message to the player
# "Nice try, Red Team! Back to the lobby!"
}
}
}
# This is the entry point.
# When the island loads, this function runs once.
Main := func() -> void {
# Here we would typically find our entities in the scene graph
# and attach the logic.
# For simplicity, we assume the struct is instantiated on the trigger.
}
Walkthrough
struct MyLobbyTrap : Entity: We are creating a new type of Entity. Think of this as a custom blueprint.TeleporterDevice: TeleporterDevice: We’re telling the script, "Hey, I have a Teleporter Device attached to me."OnBeginOverlapping: This is an Event. An event is like a trigger in Unreal. Something happens (a player steps on the volume), and the code wakes up.GetPhase() != Phase::PreGame: This is the Phase Control logic. We are asking the game engine, "What phase are we in?" If it’s not Pre-Game, wereturn(stop running). This ensures the trap is dead during actual gameplay.Player.GetTeam() == BannedTeam: This is the Team Gating. We check if the player is on the banned team. If yes, we callTrigger().
Why This Matters
Without this code, if you just linked the Trigger to the Teleporter in the device graph, the trap would work all the time. Players would die in the lobby. With this Verse script, you’ve added a layer of logic that respects the Game Phase and Team Scope.
Try It Yourself
Challenge: Create a Class-Exclusive Health Pack.
- Place a Health Pack Device.
- Write a Verse script that checks the Player’s Class.
- Only allow players with the class "Healer" (or any custom class you create) to pick it up.
- If a non-Healer tries to pick it up, play a "Denied" sound effect (you can use
PlaySoundif available, or just do nothing).
Hint: Look at the PlayerDevice structure in the Verse docs. It has a method to get the player’s class. You’ll need to check if Player.GetClass() == Class::Healer. Remember to handle the case where the player has no class!
Recap
- All Options are the gatekeepers of your devices. They control when and who can interact with them.
- Phases (Pre-Game vs. Gameplay) are crucial for preventing lobby chaos.
- Teams and Classes let you target specific groups of players.
- Invert is your friend for creating "Anti-Team" or "No-Class" restrictions.
- In UE6, these settings configure the Entity’s Component Data, ensuring your Scene Graph behaves predictably.
Mastering "All Options" means you stop building random devices and start building systems. Your island will feel polished, responsive, and fair. Now go forth and lock down those traps!
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/usingrocketboostpowerupdevicesinfortnitecreative
- https://dev.epicgames.com/documentation/en-us/fortnite/using-tank-spawner-devices-in-fortnite-creative
Verse source files
- 01-fragment.verse · fragment
Turn this into a guided course
Add All Options 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.