Ship It: Island Settings, Matchmaking Queues, and Publishing
In this lesson you'll learn to
- βStudent can configure island settings, set matchmaking queue controls, and publish through Creator Portal so their hub is a real joinable Fortnite island.
Student can configure island settings, set matchmaking queue controls, and publish through Creator Portal so their hub is a real joinable Fortnite island.
π Reference & full walkthrough: Ship It: Island Settings, Matchmaking Queues, and Publishing
π Builds on: grounding: configure-the-island-settings, matchmaking-portal-device, using-creator-portal (crawled Epic docs)
π§© Your capstone piece: The published AweShucks Town island code that all portals and the site link to
Publishing is where AweShucks Town stops being a project file and becomes a place. The work splits into three layers: Island Settings (what matchmaking reads), Verse launch control (when the gates actually open), and the Creator Portal (how a private build becomes a public island code). Get all three right and every portal you have wired β and the Verse Island site itself β has a real destination to link to.
What you will build
The capstone piece for this lesson is the published AweShucks Town island code β the one code every zone portal and the site links back to. Concretely you will:
- Configure the Mode, Matchmaking, and Spawning island settings so the hub actually fills with players.
- Set the five matchmaking queue controls (Max Players, Minimum Players, Overtime Player Target, Queue Main Duration, Queue Overtime Duration) with values that fit a social hub.
- Build a
launch_control_devicein Verse that holds the island closed until launch, then opens live matchmaking and the Gateway portal from the previous lesson with one lever pull. - Walk the Creator Portal flow: private version code β Create New Release β ratings β review β live island code.
Walkthrough
Step 1 β Island Settings that matchmaking actually reads
Open Island Settings in UEFN and work through the Mode section first. These are the settings that silently break matchmaking when left at careless defaults β the pre-publish checklist:
| Setting | Hub-safe value | Why it matters |
|---|---|---|
| Max Players | 16 | The preferred player count matchmaking fills toward. |
| Teams | Free for All | A social hub has no sides. Warning: Teams = Custom with Team Size left at Dynamic disables matchmaking entirely. |
| Island Matchmaking Privacy | Public | Private restricts joins to the host's party β nobody discovers a private hub. |
| Minimum Players | 1 | A hub should open even for one wandering traveler. Set this too high and the queue cancels instead of starting. |
| Spawn Location | Spawn Pads | Do Not Spawn is for cinematic intros β leave it on and players never appear in the plaza. |
Step 2 β Queue controls: fuller matches, shorter waits
The queue runs in two phases. During Queue Main Duration it tries to reach Max Players; when that timer expires it enters overtime and tries to reach the Overtime Player Target; if even Minimum Players cannot be met, the queue cancels. For AweShucks Town:
- Max Players = 16 β the plaza feels alive at sixteen.
- Minimum Players = 1 β never strand a solo visitor.
- Overtime Player Target = 4 β a handful of travelers is already a town.
- Queue Main Duration = 5 s β hubs should feel instant.
- Queue Overtime Duration = 15 s β one short overtime pass, then start with whoever is there.
Epic's guidance: you can stretch queues to two minutes, but short waits win. Parties whose size fits within your team size all land on the same team β one more reason Free for All suits a hub.
Step 3 β The Verse launch-control device
Island settings decide whether matchmaking can run. Verse decides when. round_settings_device exposes EnableMatchmaking() / DisableMatchmaking() β note the digest's own caveat: these only apply to published games that have matchmaking turned on in the Island Settings, which is exactly why Step 1 came first. We reuse the matchmaking_portal_device Enable/Disable pattern from The Gateway lesson and the HUD announcement pattern from Professor AweShucks Speaks.
Place a Round Settings device, your existing Gateway matchmaking portal, a HUD Message device, and two Trigger devices (the open and close levers in the town hall), then wire them to this device:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Launch-day control room for AweShucks Town.
# Wire this to your round settings device, the Gateway portal from
# "The Gateway: Matchmaking Portal Device", a HUD message device,
# and two trigger levers in the town hall.
launch_control_device := class(creative_device):
# The round settings device that owns live matchmaking for the island.
@editable
RoundSettings : round_settings_device = round_settings_device{}
# The Gateway portal built in the previous lesson β reused here.
@editable
GatewayPortal : matchmaking_portal_device = matchmaking_portal_device{}
# Professor AweShucks' town announcement board.
@editable
AnnounceHUD : hud_message_device = hud_message_device{}
# Host-side levers: open and close the island to matchmaking.
@editable
OpenGateLever : trigger_device = trigger_device{}
@editable
CloseGateLever : trigger_device = trigger_device{}
# Localized announcements β HUD message params must be type `message`.
GatesOpen<localizes> : message = "AweShucks Town is OPEN β travelers incoming!"
GatesClosed<localizes> : message = "The town gates are closed for maintenance."
OnBegin<override>()<suspends> : void =
# Start closed: no matchmaking fills and no portal traffic
# until the host pulls the launch lever.
RoundSettings.DisableMatchmaking()
GatewayPortal.Disable()
# Levers fire listenable(?agent) β handlers match that shape.
OpenGateLever.TriggeredEvent.Subscribe(OnOpenGates)
CloseGateLever.TriggeredEvent.Subscribe(OnCloseGates)
# Announcements flash for four seconds.
AnnounceHUD.SetDisplayTime(4.0)
# Launch day: let matchmaking fill the island and open the Gateway.
OnOpenGates(Agent : ?agent) : void =
RoundSettings.EnableMatchmaking()
GatewayPortal.Enable()
AnnounceHUD.SetText(GatesOpen)
AnnounceHUD.Show()
Print("Launch control: matchmaking ENABLED, Gateway portal open.")
# Maintenance mode: stop new fills, close the portal.
OnCloseGates(Agent : ?agent) : void =
RoundSettings.DisableMatchmaking()
GatewayPortal.Disable()
AnnounceHUD.SetText(GatesClosed)
AnnounceHUD.Show()
Print("Launch control: matchmaking DISABLED, Gateway portal closed.")
Walk the flow: OnBegin starts the island closed β DisableMatchmaking() stops live fills and GatewayPortal.Disable() shuts the portal, so playtests stay private. Pulling the open lever fires TriggeredEvent (a listenable(?agent), so the handler takes ?agent), which enables matchmaking, opens the Gateway, and flashes Professor AweShucks' announcement to everyone via SetText + Show. The close lever reverses it all for maintenance windows β players already in town are untouched; you are only closing the front door.
Step 4 β Creator Portal: from private code to public release
- In UEFN, click PUBLISH. This creates a private version code β yours alone, unmoderated, perfect for playtesting the queue settings on other platforms before anyone else sees the town.
- In the Creator Portal, open your island's project page and click Create New Release. Select the private version you validated and click Publish next to it.
- Fill in What has Changed From the Previous Release? β Epic and the IARC rating authorities read this, players do not.
- On the Ratings tab, provide the IARC contact email and answer the content questionnaire; your island receives its age ratings.
- Decide on Auto Activation: toggled on, the island goes live on your island code the moment it passes review; toggled off, it waits for you to release manually β handy if launch day is a scheduled event with a lever-pull ceremony.
- Click Submit for Publishing. Track the status icon on the Public Releases page while Epic moderates. When it flips to released, AweShucks Town has a real island code.
Common patterns
Pattern 1 β One-lever toggle
When one ceremonial lever should flip the gates both ways, ToggleMatchmaking() alternates between enable and disable so you do not track the state yourself:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# One lever, one state flip: ToggleMatchmaking alternates between
# EnableMatchmaking and DisableMatchmaking for you.
gate_toggle_device := class(creative_device):
@editable
RoundSettings : round_settings_device = round_settings_device{}
@editable
GateLever : trigger_device = trigger_device{}
OnBegin<override>()<suspends> : void =
GateLever.TriggeredEvent.Subscribe(OnLeverPulled)
OnLeverPulled(Agent : ?agent) : void =
RoundSettings.ToggleMatchmaking()
Print("Matchmaking gate toggled.")
Pattern 2 β Timed warm-up window
Give yourself a quiet setup window at round start, then open automatically β no lever required:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Warm-up window: hold matchmaking closed for a setup period after
# the round starts, then open the gates automatically.
timed_gate_device := class(creative_device):
@editable
RoundSettings : round_settings_device = round_settings_device{}
@editable
GatewayPortal : matchmaking_portal_device = matchmaking_portal_device{}
# Seconds of quiet setup time before the island opens.
WarmupSeconds : float = 30.0
OnBegin<override>()<suspends> : void =
RoundSettings.DisableMatchmaking()
GatewayPortal.Disable()
Sleep(WarmupSeconds)
RoundSettings.EnableMatchmaking()
GatewayPortal.Enable()
Print("Warm-up over β AweShucks Town is open for matchmaking.")
Where this goes next
This is lesson 17 of Center Village, and everything converges on the capstone: AweShucks Town β the Hub That Wires the Island Together. The capstone imports this lesson's published island code as the address every other zone points at β the Badge-Gated Doors, the Portal Beacon component, and the Gateway matchmaking portal all assume a published, matchmaking-enabled hub to send travelers to. The launch_control_device you built here becomes the town hall's master switch in the capstone build, and the queue-control values you tuned are the ones the live island runs on. Ship it, note the island code, and bring it with you.
Keep going β free
You've read the intro. The rest of this lesson is free for members. Sign in to continue and track your progress.
Sign in free to continue this lessonSources
/guides/publish-your-hub-islandBiloxi Studios original lesson
Add this lesson to your free study plan.
π§ The Keeperβs log
Quest complete? Chart your next heading from the π§ Center Village (Free) expedition.
β΅ Take me there