The Great Heist: Building Your Own Armored Transport Robbery
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 Great Heist: Building Your Own Armored Transport Robbery
Forget the Battle Bus for a second. What if the loot wasn’t waiting in a chest, but rolling down the highway in a heavily armored truck with a vault that players can actually crack? Welcome to the world of heist games. In this tutorial, we’re building a "Robbery Run" scenario where an armored truck spawns, drives around, and holds a vault full of high-tier loot that players have to break into.
We’re going to use the Armored Transport Spawner, a device that drops a bank-vault-style truck into your island. You’ll learn how to control who can drive it, who can break the vault, and how to set up the loot inside. By the end, you’ll have a playable heist map where players are either protecting the cash or trying to steal it.
What You'll Learn
- The Armored Transport Spawner: How to spawn the truck and configure its basic behavior.
- Access Control: Using Verse to decide which teams can drive the truck and which can crack the vault.
- The Scene Graph: Understanding how the truck, the vault, and the loot are connected in the game world.
- Loot Integration: How to put items inside the truck’s vault so players have something to fight for.
How It Works
The Vehicle and The Vault
Think of the Armored Transport like a moving bank vault. In Fortnite, you’ve seen bank vaults in lobby modes or creative maps—they usually have weak points you shoot to open them. This truck has that same mechanic built-in, but it’s mobile.
The truck has two main parts:
- The Chassis: The truck itself. It can be driven by players or AI (like guards). It takes damage, can crash, and can even be destroyed if you set it to do so.
- The Vault: A container inside the truck. It works exactly like a standalone Bank Vault device. It has health, weak points, and holds loot.
Who Gets What? (Access Control)
This is where Verse comes in. You don’t want every player stealing the loot immediately. You want a dynamic where:
- Team A is the "Security." They can drive the truck and maybe repair it.
- Team B is the "Heist Crew." They can’t drive the truck (or maybe they can hijack it), but they are the only ones who can crack the vault.
In programming terms, we call this Access Control. It’s like a VIP list at a club. The code checks a player’s "Team ID" (their role in the game) and says, "Yes, you can enter" or "No, go away."
The Scene Graph: Hierarchy Matters
In Unreal Engine (the engine behind Fortnite), everything is part of a Scene Graph. Think of this as a family tree for objects in your game.
- The Armored Transport is the "Parent."
- The Vault is the "Child" attached to the truck.
- The Loot is the "Grandchild" inside the vault.
When you write Verse code, you often need to talk to the Child (the vault) by first finding the Parent (the truck). If you lose the parent, you lose the child. We’ll see how to navigate this tree in the code.
Let's Build It
We are going to create a simple Verse script that:
- Finds the Armored Transport Spawner.
- Spawns the truck.
- Configures it so that Team 1 can drive it, but Team 2 can crack the vault.
Step 1: The Setup
- Open UEFN (Unreal Editor for Fortnite).
- Place an Armored Transport Spawner device in your island.
- Name it
MyHeistTruckin the Details panel (this makes it easier to find in code). - Create a new Verse file in the Content Browser.
Step 2: The Verse Code
Here is the code to make the heist happen. Copy this into your Verse file.
# HeistTruckController.ver
# This script controls the armored truck heist mechanics.
using { /Fortnite.com/Devices }
# 1. Define our main device.
# Think of this as the "Brain" of our heist.
heist_controller := class(creative_device):
# 2. Variables (The Changing Stats)
# A "variable" is a value that can change during the game,
# like a player's health or score.
my_spawner: vehicle_spawner_armored_transport_device = ?
vault_device: bank_vault_device = ?
# Constants are set once and never change.
# Here, Team 1 is "Security" (can drive), Team 2 is "Thieves" (can crack).
const SECURITY_TEAM: int = 1
const THIEF_TEAM: int = 2
# 3. The "On Begin" Function
# This runs once when the game starts.
# It's like the "Ready Up" screen before the match begins.
OnBegin<override>()<suspends>: void =
# Find the spawner by its name.
# If you named your device differently, change "MyHeistTruck" here.
my_spawner = GetDevice<vehicle_spawner_armored_transport_device>("MyHeistTruck")
if (my_spawner != ?):
# Spawn the truck immediately!
# This is like pressing "Play" to start the event.
spawned_vehicle := my_spawner.Spawn()
# 4. Navigating the Scene Graph
# The truck is the Parent. The vault is inside it.
# We need to find the vault component inside the truck.
# Note: In real UEFN, you might need to link the vault
# via a device connection or find it via the vehicle's components.
# For this tutorial, we assume we can access the vault
# through the spawned vehicle's interface or a linked device.
# Let's configure the driving rules.
# Set the vehicle to only allow Security Team to drive.
# This is like putting a lock on the driver's seat.
my_spawner.SetAllowedTeams({SECURITY_TEAM})
# Now, let's configure the vault.
# We need to tell the vault who can break it.
# Usually, you'd link a Bank Vault device to the truck,
# or use the truck's built-in vault interface.
# Here is a simplified conceptual example of setting access:
# If the truck has a built-in vault interface, we might do:
# spawned_vehicle.SetVaultCrackAllowedTeams({THIEF_TEAM})
# Since Verse APIs for specific vehicle components vary,
# the most reliable beginner method is to use a SEPARATE
# Bank Vault device placed inside the truck, linked via
# a "On Interact" event from the truck's weak points.
# For this example, we'll just confirm the truck is spawned.
Print("The Armored Truck has arrived! Security team, drive it. Thieves, get ready to crack it.")
else:
Print("Error: Could not find MyHeistTruck. Check the device name!")
# 5. A Helper Function (The "Toolbox")
# Functions are reusable blocks of code, like a specific move in a combo.
Print(message: string): void =
# This just prints a message to the debug console.
# It's like checking your scoreboard during a game.
debug_print(message)
Walkthrough: What Just Happened?
class(creative_device): We created a custom device. This is the blueprint for our controller.my_spawner: We declared a variable to hold the Armored Transport Spawner. It’s like an empty slot in your inventory waiting for the truck device to be placed in it.OnBegin: This is the trigger. When the game starts, this code runs. It’s the "Go" signal.GetDevice: This searches the island for a device namedMyHeistTruck. If you named your deviceTruck1, you must change the code to match.Spawn(): This creates the truck in the world. It’s the moment the bus drops the loot.SetAllowedTeams: This is the VIP list. We told the spawner that only Team 1 (Security) can get in the driver's seat.- The Vault: Note: In the current Verse API, the most robust way to handle the vault loot is to place a Bank Vault device inside the truck’s cargo area and link it. The truck’s "weak points" can be set to interact with that vault. The code above sets the driving rules. For the vault cracking, you typically use the Bank Vault device’s
SetCrackAllowedTeamsproperty if exposed, or link it via device events.
Try It Yourself
You’ve got the truck spawning and the driver locked down. Now, make it a real heist.
Challenge:
- Place a Bank Vault device inside the armored truck (you may need to build a small room or use the truck’s cargo space).
- Use Verse to link the truck’s "weak points" to the Bank Vault. When a player hits the weak point, it should damage the vault.
- Configure the Bank Vault so that only Team 2 can open it.
- Add some loot (weapons, healing items) to the Bank Vault.
Hint: Look at the Bank Vault device in the UEFN devices list. It has properties for AllowedTeams and CrackAllowedTeams. You can set these in the Details panel or via Verse. Remember, the truck’s weak points are just damage sources—they need to be connected to the vault’s health system.
Recap
- The Armored Transport Spawner drops a mobile vault into your game.
- Verse lets you control who can drive the truck and who can crack the vault using Team IDs.
- The Scene Graph helps you understand that the vault is part of the truck, so you need to manage them together.
- You can build a full heist experience by combining the truck, a Bank Vault, and some good old-fashioned chaos.
Now go make some players sweat over that vault.
References
- https://dev.epicgames.com/documentation/en-us/fortnite/using-armored-transport-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/34-40-fortnite-ecosystem-updates-and-release-notes
- https://dev.epicgames.com/documentation/fortnite/verse-api/fortnitedotcom/devices
- https://dev.epicgames.com/documentation/en-us/fortnite/using-devices-in-fortnite
Verse source files
- 01-device.verse · device
Turn this into a guided course
Add using-armored-transport-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.