The Tank Spawner: How to Drop Heavy Metal on Your Friends
The Tank Spawner: How to Drop Heavy Metal on Your Friends
Look, building a ramp rush is fun, but have you ever wanted to flatten your squad with 30 tons of steel and two mounted turrets? That’s where the Tank Spawner comes in. It’s the ultimate "I’m tired of running" button. In this tutorial, we’re going to set up a Tank Spawner, link it to a button, and create a scenario where players can summon a walking fortress to destroy the map (or their teammates).
What You'll Learn
- Spawning Mechanics: How to use a device to bring a heavy vehicle into the game world on demand.
- Device Placement Limits: Why you can’t just spam tanks everywhere (and how to work around it).
- The Scene Graph Basics: Understanding that the Tank is an "Entity" with "Components" (turrets, wheels, health) that interact with the world.
- Refueling Logic: How to make your tank run out of gas and how to fix it.
How It Works
In Fortnite Creative, you don’t just "put" a tank on the map like a wall. You place a Tank Spawner Device. Think of this device as a Battle Bus seat that only opens when you tell it to. It sits empty until an event triggers it, at which point it instantiates (creates) a fully functional Tank Entity at its exact location and rotation.
The Scene Graph: What is a Tank, really?
Before we code, we need to understand what we’re summoning. In Unreal Engine (and Verse), everything in your game is part of the Scene Graph.
Imagine the Scene Graph as the Lobby List.
- The Tank is a player in the lobby (an Entity).
- The Turrets, Wheels, and Fuel Tank are the gear that player is holding ( Components).
When you place a Tank Spawner, you aren’t placing the turrets or the wheels directly. You are placing a template that tells the game: "When I press this button, spawn an Entity called 'Tank', give it these Components, and put it here."
The Catch: The "8 Tank" Rule
Here is the hard limit, similar to how there’s a cap on how many of certain props you can place. You can only place 8 Tank Spawner devices on your entire island. This isn’t about memory; it’s a design limit to keep performance stable. If you need more tanks, you have to use Verse to destroy one tank and spawn another in a different spot, or just accept that your map is a medium-sized arena, not a battlefield of 500 tanks.
Fuel: The Ultimate Weakness
The Tank is a beast, but it has a Achilles' heel: Fuel. It interacts with Fuel Pump Devices. If you don’t refuel, the tank stops moving. This is perfect for gameplay—imagine a chase sequence where players have to dodge bullets while hunting for a gas station.
Let's Build It
We aren’t just placing a device and hoping for the best. We’re going to use Verse to make a Revenge Tank Button. When a player dies, they get a button. If they press it, a tank spawns right next to their corpse so they can get back into the fight.
Step 1: The Setup (No Code Yet)
- Open your Island Settings and ensure Verse is enabled.
- Go to the Devices tab in the Content Browser.
- Search for Tank Spawner.
- Place one on the map. Let’s call it
RevengeTankSpawner. - Place a Button Device nearby. Call it
GetRevengeButton. - (Optional) Place a Fuel Pump somewhere so they aren’t stranded immediately.
Step 2: The Verse Code
We need to write a script that listens for the button press and then tells the Tank Spawner to spawn a tank.
Here is the complete Verse script. Paste this into a Verse file in your project.
# This is a comment. It's like leaving a sticky note for yourself.
# The game ignores these lines.
using { /Fortnite.com/Devices }
# We create a 'Module'. Think of this as the 'Island' itself.
# It holds all our logic.
module RevengeTankSystem
# This is a 'Function'. A function is a recipe or a mini-game mechanic
# that does a specific thing. Here, it spawns the tank.
SpawnRevengeTank := function (TankSpawner: TankSpawnerDevice): void =>
# 'TankSpawner.Spawn()' is the command to create the tank.
# It takes no arguments here, so it uses default settings.
TankSpawner.Spawn()
# This is an 'Event Handler'. An event is something that happens in the game,
# like a player stepping on a trigger or pressing a button.
# 'OnActivated' is the event that fires when a device is activated.
OnActivated := function (Source: Device, Target: Device): void =>
# We check if the 'Source' (the thing being pressed) is our button.
# If it is, we call our Spawn function.
# Note: In a real complex system, you'd pass the specific spawner instance.
# For this simple demo, we assume one spawner per button.
SpawnRevengeTank(Source.GetParent<TankSpawnerDevice>())
# This line connects our Event Handler to the actual Device in the editor.
# It tells Verse: "When this button is activated, run OnActivated."
# This is called 'Binding'.
bind OnActivated to GetRevengeButton.OnActivated
Wait, there’s a catch with the code above. In UEFN, binding directly to a specific device instance like GetRevengeButton in the module scope can be tricky for beginners because of how devices are instantiated. A more robust, beginner-friendly pattern for a single-button setup is to use the Device Properties or a simpler Trigger approach.
Let’s simplify. Instead of complex binding, let’s use the Event Browser logic which is often easier for visual learners, but since we are writing Verse, let’s look at a cleaner, single-file pattern that uses a Player Trigger to spawn the tank.
Revised, Cleaner Verse Example:
Walkthrough of the Code:
using { /Fortnite.com/Devices }: This imports the device library. Think of this as opening the Creative Inventory in your script so you can see what devices are available.TankSpawnerDevice := TankSpawnerDevice{}: This creates a placeholder variable. In the UEFN editor, you will drag your actual Tank Spawner device into this slot.SpawnTank := function (): void => ...: This is our recipe. It’s a simple instruction: "Call the Spawn command on the tank spawner."OnBeginPlay := function (): void => ...: This is the setup phase. It runs when the match starts. Its job is to connect the button to the function.GetRevengeButton.OnActivated.Bind(SpawnTank): This is the magic wire. It says: "Take the 'OnActivated' event from the button and plug it into theSpawnTankfunction."
Try It Yourself
Challenge: The tank spawns, but it has no fuel! Create a Fuel Pump device in your editor. Then, modify the SpawnTank function (or create a new one) so that when the tank spawns, it also activates the Fuel Pump to give the player a head start.
Hint: Look up how to use the Activate() function on a Fuel Pump device in Verse. You might need to bind another variable for the Fuel Pump.
Recap
- Tank Spawners are devices that create Tank Entities on demand.
- You are limited to 8 Tank Spawners per island.
- Verse allows you to control when and where these tanks appear using Functions and Events.
- The Scene Graph treats the Tank as an Entity with components (turrets, fuel), making it a powerful but resource-heavy object.
- Always remember to refuel!
References
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-tank-spawner-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/using-tank-spawner-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/using-item-spawner-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-creature-spawner-devices-in-fortnite-creative
Get the complete code — free
You've read the full walkthrough. The complete, copy-paste-ready Verse solution is free for members — sign in to unlock it.
Free with your BrainDead.TV / BrainDeadGuild Discord account. The walkthrough above is always free.
Verse source files
- 01-fragment.verse · fragment
- 02-fragment.verse · fragment
Turn this into a guided course
Add using-tank-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.
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.