The "Waiting Room" Trap: Building a Pre-Game Lobby That Doesn’t Suck
Unverified — this example may not compile as-is.
The Verse code below did not pass our automated compile check, so it isn't marked verified and is hidden from the guide listing. The explanation may still be useful, but treat the code as a draft and adapt it before use.
The "Waiting Room" Trap: Building a Pre-Game Lobby That Doesn’t Suck
Let’s be real: the pre-game lobby is where your island goes to die. Players spawn in, stand around looking at their shoes for thirty seconds, and then leave because they think the game is broken. Or worse, they join, get confused by the rules, and quit before the first storm circle closes.
We’re fixing that.
In this tutorial, we’re building a Pre-Game Lobby. In Fortnite Creative terms, this is the "holding pen" where players wait while the game matches them up with opponents. Think of it like the Battle Bus ride before you jump—it’s the transition zone. If you don’t give players instructions here, they’re flying blind.
We’re going to set up a dedicated spawn area, use Billboards to teach players how to win, and make sure the Player Spawners are configured so people actually know where to stand. No code required yet, just solid Creative device logic.
What You'll Learn
- What a Pre-Game Lobby is: Why it’s different from the main game map.
- The Spawn Pad Setup: How to configure Player Spawners so players don’t spawn inside walls.
- Information Overload (The Good Kind): Using Billboards to explain rules without a novel.
- Prefab vs. Gallery: Choosing between pre-built structures and custom builds.
How It Works
The Concept: The "Lobby" is a Separate Room
Imagine your island is a house. The Pre-Game Lobby is the foyer. Players enter the house (join the game) and end up in the foyer first. They don’t go straight to the bedroom (the main game arena). They hang out in the foyer until someone calls them in.
In UEFN/UEFN logic, this is handled by the Pre-Game Phase. This is the state where players are in the game, but the match hasn’t started. Your job is to make this space useful.
Player Spawners: The "Check-In" Desk
When a player joins, they need a place to appear. This is the Player Spawner.
- Game Analogy: Think of a Player Spawner like a Respawn Beacon. But instead of bringing you back to life, it puts you there for the first time.
- The Problem: If you just drop a spawner on the floor, players might spawn inside a wall or under the map.
- The Fix: You need to configure the spawner’s Spawn Offset (more on this later) to ensure they appear safely.
Billboards: The "Rulebook"
Players are lazy. They won’t read a long text file. They need quick, punchy info.
- Game Analogy: A Billboard is like the Elimination Feed or the Scoreboard. It’s a UI element that tells you what’s happening right now.
- Usage: Place Billboards near the spawners. Use them to say:
- "Wait for the timer."
- "Pick up the gun from the crate."
- "Don’t touch the lava."
Prefabs vs. Gallery: Fast Food vs. Cooking
- Prefabs: These are pre-built structures (like a pre-fab house). You drag and drop a whole lobby room with walls, floor, and lights. It’s fast, but it looks generic.
- Gallery: These are individual pieces (walls, floors, props). You build it yourself. It takes longer, but it looks unique.
- Recommendation: For beginners, start with a Prefab to get the layout right, then add Gallery props to make it yours.
Let's Build It
We’re going to build a simple, functional pre-game lobby. We’ll use a Player Spawner and a Billboard to create a "Rule Instruction Zone."
Step 1: Create the Lobby Space
- Open your island in UEFN.
- Go to the Content tab > Prefabs.
- Search for "Lobby" or "Waiting Room."
- Drag a pre-built lobby prefab onto your map. Place it somewhere away from your main game arena. This is your "Foyer."
Step 2: Place the Player Spawners
- Go to the Devices tab.
- Search for Player Spawner.
- Place one Player Spawner inside your lobby prefab.
- Crucial Step: Click on the spawner and press E to open the Customize panel.
- Spawn Offset: This is the most important setting. If you leave it at 0,0,0, the player might spawn inside the floor. Set the Z value to something like
50or100to lift the player slightly above the ground. Think of this as adjusting the Battle Bus height—you want them to land safely, not clip through the earth. - Team: Set this to All or Team 1 depending on your game mode. For a simple lobby, All is fine.
- Spawn Offset: This is the most important setting. If you leave it at 0,0,0, the player might spawn inside the floor. Set the Z value to something like
Step 3: Add the Rules (Billboard)
- Go to the Devices tab.
- Search for Billboard.
- Place it on the wall right next to the Player Spawner.
- Click the Billboard and press E to customize it.
- Text: Type your rules. Keep it short.
- Example: "RULES: 1. Wait for timer. 2. No building. 3. Last player standing wins."
- Size: Adjust the width to fit your text. Don’t make it tiny; players are squinting at their phones.
Step 4: Test It
- Click Play in UEFN.
- Your character should spawn in the lobby.
- Look at the Billboard. Does it make sense?
- If you spawn inside a wall, go back and increase the Spawn Offset Z value.
The Code: Making the Lobby "Smart"
Now, let’s add a little Verse logic. We’re going to make the Billboard change its message based on whether the game is in the Pre-Game Phase or the Main Game Phase.
This teaches you about Variables (data that changes) and Events (things that happen in the game).
- Variable: Think of this like your Health Bar. It changes value (100, 50, 0) depending on what happens.
- Event: Think of this like a Trigger. When you step on a pressure plate, something happens. Here, the "pressure plate" is the game phase changing.
# Import the Verse library for basic functionality
using /Fortnite.com/Verse
# Import the Fortnite-specific libraries
using /Fortnite.com/FortniteVerse
# Import the UI library for Billboards
using /Fortnite.com/FortniteUI
# Define our Lobby Script
LobbyScript := class(VerseScript):
# This is a "Variable" - a container for data.
# Think of it like a Loot Box. It holds something (the rule text).
LobbyRules : string = "WAIT FOR START! RULES: NO BUILDING."
# This is a "Function" - a block of code that does something.
# Think of it like a "Healing Item." You use it, and it fixes your health.
# Here, we use it to update the Billboard.
UpdateRules := func():
# Find the Billboard device by its name (set in UEFN)
# This is like finding a specific prop in your inventory.
billboard := Self.GetDevice("MainBillboard") as BillboardDevice
# If we found the billboard, update its text
if billboard != None:
# Set the text property
billboard.SetText(LobbyRules)
# This is an "Event" - it runs automatically when something happens.
# Think of this like a "Storm Timer." When the timer hits zero, the storm closes.
# Here, the event is "OnBegin," which runs when the game starts.
OnBegin := func():
# Call our UpdateRules function
UpdateRules()
# Now, let's listen for when the game phase changes.
# We want to change the rules when the game actually starts.
# This is like a "Trigger" that activates when the match begins.
Self.OnPhaseChanged.Add(func(phase: GamePhase):
if phase == GamePhase::Playing:
# The game has started! Change the rules.
LobbyRules = "GAME ON! BUILD EVERYTHING!"
UpdateRules()
else:
# We're back in the lobby.
LobbyRules = "WAIT FOR START! RULES: NO BUILDING."
UpdateRules()
)
Walkthrough of the Code
LobbyRules : string: This is our Variable. It holds the text for the Billboard. Initially, it says "WAIT FOR START!"UpdateRules := func(): This is our Function. It’s a reusable tool. Whenever we want to update the Billboard, we call this function. It’s like a "Heal" ability—you call it, and it does the work.Self.GetDevice("MainBillboard"): This finds the Billboard device in your level. You must name your Billboard device "MainBillboard" in the Customize panel (top right, under "Name") for this to work.OnBegin := func(): This is the Event. It runs automatically when the island starts. It’s like the Battle Bus taking off—you don’t press a button; it just happens.Self.OnPhaseChanged.Add(...): This is the magic. It listens for changes in the Game Phase. When the phase changes from "Pre-Game" to "Playing," it updates theLobbyRulesvariable and callsUpdateRules()again.
How to Use This Code
- In UEFN, create a new Verse Script device.
- Name it
LobbyScript. - Paste the code above into the script.
- Place a Billboard device in your lobby.
- Important: In the Customize panel for the Billboard, change the Name to
MainBillboard. (This is case-sensitive!) - Play your island. Watch the text change when the game starts.
Try It Yourself
Challenge: Add a Pop-Up Dialog device to your lobby. Make it so that when a player joins, a small window pops up with a "Welcome!" message and a "Start Game" button (even if the button doesn’t do anything yet).
Hint: Look up the Pop-Up Dialog device in the Devices tab. It has a "Show Dialog" option. You can trigger it from the Player Spawner using the "On Player Spawned" event. Think of it like a Tutorial Pop-Up that appears when you first enter a new area in a game.
Recap
- The Pre-Game Lobby is the "foyer" where players wait before the match starts.
- Use Player Spawners to place players safely (adjust Spawn Offset!).
- Use Billboards to give quick, readable rules.
- Use Verse to make the lobby dynamic (change rules based on game phase).
- Test, test, test. If players are confused, your lobby is too confusing.
References
- https://dev.epicgames.com/documentation/en-us/fortnite/building-pregame-lobbies-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/building-pre-game-lobbies-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/fortnite-glossary
- https://dev.epicgames.com/documentation/en-us/fortnite/fortnite-creative-glossary
- https://dev.epicgames.com/documentation/en-us/fortnite/create-a-free-for-all-game-in-fortnite-creative
Verse source files
- 01-standalone.verse · standalone
Turn this into a guided course
Add building-pregame-lobbies-in-fortnite-creative 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.