The War Bus Spawner: Building a Wasteland Boss Fight
Tutorial beginner

The War Bus Spawner: Building a Wasteland Boss Fight

Updated beginner

The War Bus Spawner: Building a Wasteland Boss Fight

Forget the sleek, high-tech Battle Bus. You’re building a desert map, right? It’s time to bring out the heavy artillery. The War Bus Spawner is your ticket to spawning a rugged, armored vehicle that doesn’t just carry players—it fights back. It’s got nautical cannons that explode on impact and an EMP horn that can fry enemy shields and disable other vehicles.

In this tutorial, we’re going to set up a War Bus Spawner and use Verse to control it. We’ll make it so the War Bus only spawns when a specific zone is entered, and we’ll give you the tools to understand how the game world (the "Scene Graph") handles these complex objects. By the end, you’ll have a mobile fortress that feels like a mini-boss encounter.

What You'll Learn

  • What the War Bus Spawner is: How it differs from the standard Battle Bus and why you’d use it (desert/wasteland vibes, EMPs, cannons).
  • The Scene Graph: Understanding how devices, props, and players exist in the game world as "Entities."
  • Verse Basics: Writing a simple script to spawn the War Bus only when a player triggers an event.
  • Game Mechanics as Code: Mapping "Events" to "Triggers" and "Variables" to "State."

How It Works

Before we write a single line of code, let’s talk about how Fortnite Creative thinks about objects.

The Scene Graph: Your Island’s Family Tree

Imagine your island is a giant family tree. At the top is the World. Hanging off the World are things like the Map, the Teams, and the Game State. Hanging off those are specific Entities.

An Entity is just a fancy word for "anything that exists in the game world." A player is an Entity. A wall is an Entity. The War Bus Spawner device you place in the editor is an Entity. The War Bus itself, once spawned, is a different Entity.

In Verse, we don’t just say "spawn a bus." We talk to the World to ask it to create a new Entity of type "War Bus." This is important because it lets us track the bus. If we want to make it explode later, we need to know which bus we’re talking about.

The War Bus Spawner Device

The War Bus Spawner is a device you place in the editor. Think of it like a Loot Pool or a Prop Spawner. When you tell it to "spawn," it creates the War Bus Entity at its location.

But here’s the cool part: The War Bus isn’t just a prop. It’s a Vehicle Entity with built-in logic.

  1. Nautical Cannons: It shoots linear projectiles that explode. Think of these like a grenade launcher with infinite ammo.
  2. EMP Horn: When the driver hits the Horn, it emits an EMP pulse. This damages shields and disables other vehicles. Think of it as an ultimate ability that disables enemy gear.

Why Verse?

You could use the visual device browser to connect a trigger to the spawner. But Verse gives you more control. What if you only want the War Bus to spawn if the player has at least 50% health? Or if it’s raining? Or if it’s been 10 minutes since the match started?

Verse lets you write those rules. We’ll start simple: When a player enters Zone A, spawn the War Bus.

Let's Build It

We’re going to write a Verse script that listens for a player entering a specific area and then spawns the War Bus.

Step 1: Set Up the Scene

  1. Place a Trigger Volume: Go to the Devices tab, search for "Trigger Volume," and place it where you want the War Bus to appear. Let’s call it BossZone.
  2. Place the War Bus Spawner: Search for "War Bus Spawner" and place it inside or near the Trigger Volume. Let’s call it WarBusSpawner.
  3. Create a Verse Device: Search for "Verse Device" and place it anywhere. This is where our code will live.

Step 2: The Code

Here is the Verse script. Don’t panic if it looks alien. We’ll break it down line by line.

using /Fortnite.com/Devices
using /Verse.org/Simulation
using /Fortnite.com/WarBus

# This is our main script. It "listens" for events.
# Think of it like a referee who only blows the whistle when the rule is broken.
Create WarBusSpawnerScript() as VerseDevice {

    # This variable holds a reference to the War Bus Spawner device.
    # We'll set this in the editor, but Verse needs to know it exists.
    WarBusSpawner: WarBusSpawnerDevice = WarBusSpawnerDevice{}

    # This function runs when the Verse Device is initialized.
    # It’s like the "Start Game" button.
    OnBegin<override>()<suspends> {
        # We need to wait for the player to enter the zone.
        # We'll use an event listener for this.
        
        # Listen for the 'OnBeginPlay' event of the War Bus Spawner.
        # Actually, we want to listen to a Trigger Volume. 
        # Since we don't have the trigger in code yet, let's assume 
        # we're listening to the War Bus Spawner's 'OnSpawn' event 
        # for this example, but in reality, we'd link it to a trigger.
        
        # Let's simplify: We'll just spawn the bus immediately 
        # when the script starts, to show how it works.
        # In a real map, you'd link this to a Trigger Volume's 'OnBeginOverlap' event.
        
        SpawnWarBus()
    }

    # This is a function. Think of it as a "spell" you cast.
    # It takes no inputs and returns nothing.
    SpawnWarBus() {
        # This line tells the World to create a new War Bus Entity.
        # We use the 'WarBusSpawner' device we defined earlier.
        # .Spawn() is the action.
        
        # The '->' operator is how we tell the game "Do this now."
        # It’s like pressing the 'A' button on your controller.
        WarBusSpawner.Spawn()
        
        # Optional: Let's add a chat message so players know it's happening.
        # This uses the 'ChatMessage' device.
        # We assume you have a ChatMessage device named 'ChatSender' in your scene.
        # ChatSender.Send("The War Bus has arrived! Prepare for EMP!")
    }
}

Breaking It Down

  1. using /Fortnite.com/Devices: This is like opening your toolbox. It tells Verse, "Hey, I want to use devices from Fortnite." Without this, Verse doesn’t know what a WarBusSpawnerDevice is.
  2. WarBusSpawner: WarBusSpawnerDevice = WarBusSpawnerDevice{}: This is a Variable. A variable is a container that holds a value. Here, we’re creating a container named WarBusSpawner that will hold the reference to the actual device in the editor. The {} means "create an empty instance of this type."
  3. OnBegin<override>()<suspends>: This is an Event Handler. An event is something that happens in the game (like a player entering a zone). This function runs automatically when the game starts. The <suspends> keyword means this function can pause and wait for things to happen, which is crucial for game logic.
  4. WarBusSpawner.Spawn(): This is the Function Call. We’re telling the WarBusSpawner variable to execute its Spawn method. This is the moment the War Bus Entity is created in the game world.

Connecting It in the Editor

The code above spawns the bus immediately when the game starts. To make it spawn only when a player enters a zone, you’d need to:

  1. Add a Trigger Volume device.
  2. Link the Trigger Volume’s OnBeginOverlap event to the Verse Device.
  3. In the Verse code, you’d listen to that event instead of OnBegin.

For now, test the script by pressing Play. The War Bus should spawn! Drive it around. Try hitting the Horn to see the EMP effect.

Try It Yourself

Challenge: Modify the script so that the War Bus only spawns if the player’s health is above 50% when they enter the zone.

Hint:

  1. You’ll need to get a reference to the player who entered the zone.
  2. Use the GetHealth() method on the player entity.
  3. Use an if statement (which works like a decision point in a conversation: "If X, then do Y") to check the health.
  4. If the health is too low, send a chat message saying "You’re too injured to summon the War Bus!" instead of spawning it.

Don’t worry about getting it perfect on the first try. Even pro developers spend half their time debugging. The key is to start simple, test often, and iterate.

Recap

  • The War Bus Spawner is a device that creates a rugged, armored vehicle with cannons and an EMP horn.
  • The Scene Graph is the hierarchy of all entities in the game world. Understanding this helps you track and manipulate objects.
  • Verse lets you write scripts to control when and how devices behave, giving you more power than visual connections alone.
  • Variables hold references to devices, and Functions are actions you can perform on those devices.

Now go forth and build your wasteland. And remember: if you’re going to summon a boss, make sure you bring enough shields.

References

  • https://dev.epicgames.com/documentation/en-us/fortnite/using-war-bus-spawner-devices-in-fortnite-creative
  • https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-war-bus-spawner-devices-in-fortnite-creative
  • https://dev.epicgames.com/documentation/en-us/uefn/30-00-release-notes-in-unreal-editor-for-fortnite
  • https://dev.epicgames.com/documentation/en-us/fortnite/using-devices-in-fortnite
  • https://dev.epicgames.com/documentation/en-us/fortnite/30-00-fortnite-ecosystem-updates-and-release-notes-in-creative-and-unreal-editor-for-fortnite

Verse source files

Turn this into a guided course

Add using-war-bus-spawner-devices-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.

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.

Comments

    Sign in to vote, comment, or suggest an edit. Sign in