Reference Devices compiles

vehicle_spawner_nitro_drifter_sedan_device: High-Speed Drift Cars on Demand

The `vehicle_spawner_nitro_drifter_sedan_device` drops a sleek Cyber-City drift sedan into your island and hands you full Verse control over its lifecycle. Whether you're building a street-racing game, a timed escape sequence, or a VIP escort mission, this device lets you spawn the car, assign a driver, react to players entering or exiting, and destroy or respawn the vehicle — all from code.

Updated Examples verified on the live UEFN compiler
Watch the Knotvehicle_spawner_nitro_drifter_sedan_device in ~90 seconds.

Overview

The vehicle_spawner_nitro_drifter_sedan_device is a concrete specialization of the abstract vehicle_spawner_device base class. It represents a single Nitro Drifter sedan placed in your level and exposes a full Verse API for:

  • Spawning / respawning the vehicle on demand (RespawnVehicle)
  • Destroying it mid-game (DestroyVehicle)
  • Force-assigning a driver so a specific player is immediately behind the wheel (AssignDriver)
  • Reacting to players entering or exiting the car (AgentEntersVehicleEvent, AgentExitsVehicleEvent)
  • Reacting to the vehicle being spawned or destroyed (SpawnedEvent, DestroyedEvent)
  • Enabling / disabling the spawner itself (Enable, Disable)

Reach for this device whenever your game needs a scripted car moment: a getaway vehicle that appears when a vault opens, a race car that resets to the start line after each lap, or a VIP sedan that auto-assigns the round winner as driver.

API Reference

vehicle_spawner_nitro_drifter_sedan_device

Specialized vehicle_spawner_device that allows a Nitro Drifter sedan to be configured and spawned.

Full public surface, resolved verbatim from the live Epic digest (Fortnite.digest.verse). Inherited members are merged from vehicle_spawner_device.

vehicle_spawner_nitro_drifter_sedan_device<public> := class<concrete><final>(vehicle_spawner_device):

Events (subscribe a handler to react):

Event Signature Description
AgentEntersVehicleEvent AgentEntersVehicleEvent<public>:listenable(agent) Signaled when an agent enters the vehicle. Sends the agent that entered the vehicle.
AgentExitsVehicleEvent AgentExitsVehicleEvent<public>:listenable(agent) Signaled when an agent exits the vehicle. Sends the agent that exited the vehicle.
SpawnedEvent SpawnedEvent<public>:listenable(fort_vehicle) Signaled when a vehicle is spawned or respawned by this device. Sends the fort_vehicle who was spawned.
VehicleSpawnedEvent VehicleSpawnedEvent<public>:listenable(tuple()) Signaled when a vehicle is spawned or respawned by this device. Deprecated, use SpawnedEvent instead.
VehicleDestroyedEvent VehicleDestroyedEvent<public>:listenable(tuple()) Signaled when a vehicle is destroyed. Deprecated, use DestroyedEvent instead.
DestroyedEvent DestroyedEvent<public>:listenable(tuple()) Signaled when a vehicle is destroyed.

Methods (call these to make the device act):

Method Signature Description
Enable Enable<public>():void Enables this device.
Disable Disable<public>():void Disables this device.
AssignDriver AssignDriver<public>(Agent:agent):void Sets agent as the vehicle's driver.
DestroyVehicle DestroyVehicle<public>():void Destroys the vehicle if it exists.
RespawnVehicle RespawnVehicle<public>():void Spawns a new vehicle. The previous vehicle will be destroyed before a new vehicle spawns.

vehicle_spawner_device

Base class for various specialized vehicle spawners which allow specific vehicle types to be spawned and configured with specialized options.

Full public surface, resolved verbatim from the live Epic digest (Fortnite.digest.verse).

vehicle_spawner_device<public> := class<abstract><epic_internal>(creative_device_base):

Events (subscribe a handler to react):

Event Signature Description
AgentEntersVehicleEvent AgentEntersVehicleEvent<public>:listenable(agent) Signaled when an agent enters the vehicle. Sends the agent that entered the vehicle.
AgentExitsVehicleEvent AgentExitsVehicleEvent<public>:listenable(agent) Signaled when an agent exits the vehicle. Sends the agent that exited the vehicle.
SpawnedEvent SpawnedEvent<public>:listenable(fort_vehicle) Signaled when a vehicle is spawned or respawned by this device. Sends the fort_vehicle who was spawned.
VehicleSpawnedEvent VehicleSpawnedEvent<public>:listenable(tuple()) Signaled when a vehicle is spawned or respawned by this device. Deprecated, use SpawnedEvent instead.
VehicleDestroyedEvent VehicleDestroyedEvent<public>:listenable(tuple()) Signaled when a vehicle is destroyed. Deprecated, use DestroyedEvent instead.
DestroyedEvent DestroyedEvent<public>:listenable(tuple()) Signaled when a vehicle is destroyed.

Methods (call these to make the device act):

Method Signature Description
Enable Enable<public>():void Enables this device.
Disable Disable<public>():void Disables this device.
AssignDriver AssignDriver<public>(Agent:agent):void Sets agent as the vehicle's driver.
DestroyVehicle DestroyVehicle<public>():void Destroys the vehicle if it exists.
RespawnVehicle RespawnVehicle<public>():void Spawns a new vehicle. The previous vehicle will be destroyed before a new vehicle spawns.

Walkthrough

Scenario: The Getaway Car

A player triggers a button to crack a vault. The moment the vault opens, a Nitro Drifter sedan spawns and the triggering player is assigned as its driver. If the car is destroyed (e.g., by pursuers), it respawns after a short delay and a new driver is assigned. When any player exits the vehicle, the spawner is temporarily disabled so no one else can steal it.

using { /Fortnite.com/Devices }
using { /Fortnite.com/Vehicles }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

# Place this Verse device in your level alongside a button_device
# and a vehicle_spawner_nitro_drifter_sedan_device.
getaway_car_manager := class(creative_device):

    # Wire these up in the Details panel
    @editable
    VaultButton : button_device = button_device{}

    @editable
    NitroDrifterSpawner : vehicle_spawner_nitro_drifter_sedan_device = vehicle_spawner_nitro_drifter_sedan_device{}

    # Track the current getaway driver so we can reassign on respawn
    var CurrentDriver : ?agent = false

    OnBegin<override>()<suspends> : void =
        # Start with the spawner disabled — car appears only when vault opens
        NitroDrifterSpawner.Disable()

        # Subscribe to the vault button
        VaultButton.InteractedWithEvent.Subscribe(OnVaultOpened)

        # React to vehicle lifecycle events
        NitroDrifterSpawner.SpawnedEvent.Subscribe(OnCarSpawned)
        NitroDrifterSpawner.DestroyedEvent.Subscribe(OnCarDestroyed)

        # React to players entering / exiting
        NitroDrifterSpawner.AgentEntersVehicleEvent.Subscribe(OnPlayerEntersCar)
        NitroDrifterSpawner.AgentExitsVehicleEvent.Subscribe(OnPlayerExitsCar)

    # Called when the player presses the vault button
    OnVaultOpened(Agent : agent) : void =
        set CurrentDriver = option{Agent}
        NitroDrifterSpawner.Enable()
        NitroDrifterSpawner.RespawnVehicle()   # Destroys any old vehicle, spawns fresh

    # SpawnedEvent sends the fort_vehicle that was just spawned
    OnCarSpawned(Vehicle : fort_vehicle) : void =
        # Assign the stored driver as soon as the car exists
        if (Driver := CurrentDriver?):
            NitroDrifterSpawner.AssignDriver(Driver)

    # DestroyedEvent fires when the vehicle is destroyed
    OnCarDestroyed(Unused : tuple()) : void =
        # Wait 3 seconds then respawn so pursuers can't permanently stop the getaway
        spawn:
            RespawnAfterDelay()

    RespawnAfterDelay()<suspends> : void =
        Sleep(3.0)
        NitroDrifterSpawner.RespawnVehicle()

    # AgentEntersVehicleEvent — update the current driver reference
    OnPlayerEntersCar(Agent : agent) : void =
        set CurrentDriver = option{Agent}

    # AgentExitsVehicleEvent — lock the spawner so no one else hops in
    OnPlayerExitsCar(Agent : agent) : void =
        NitroDrifterSpawner.Disable()```

**Line-by-line highlights:**

| Line(s) | What's happening |
|---|---|
| `NitroDrifterSpawner.Disable()` | Spawner starts off  car only appears on vault trigger |
| `NitroDrifterSpawner.RespawnVehicle()` | Destroys any existing vehicle and spawns a fresh one |
| `SpawnedEvent.Subscribe(OnCarSpawned)` | Fires with the `fort_vehicle` reference once the car exists |
| `AssignDriver(Driver)` | Forces the triggering player into the driver seat |
| `DestroyedEvent.Subscribe(OnCarDestroyed)` | Fires (with an empty tuple) when the vehicle is wrecked |
| `Sleep(3.0)` inside `spawn:` | Non-blocking 3-second delay before respawn |
| `AgentExitsVehicleEvent` | Fires with the `agent` who just got out; we lock the spawner |

---

## Common patterns

### Pattern 1 — Force-assign the round winner as driver (AssignDriver + Enable)

At the end of a round, enable the spawner and immediately put the winning player in the driver seat as a victory lap reward.

```verse
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }

victory_lap_controller := class(creative_device):

    @editable
    WinnerSpawner : vehicle_spawner_nitro_drifter_sedan_device = vehicle_spawner_nitro_drifter_sedan_device{}

    @editable
    EndGameTrigger : trigger_device = trigger_device{}

    OnBegin<override>()<suspends> : void =
        WinnerSpawner.Disable()
        EndGameTrigger.TriggeredEvent.Subscribe(OnRoundEnd)

    OnRoundEnd(MaybeAgent : ?agent) : void =
        if (Winner := MaybeAgent?):
            WinnerSpawner.Enable()
            WinnerSpawner.RespawnVehicle()   # Spawn a fresh car
            # SpawnedEvent fires next; assign driver there
            WinnerSpawner.SpawnedEvent.Subscribe(OnVictoryCarReady)
            # Store winner for the handler
            set PendingWinner = option{Winner}

    var PendingWinner : ?agent = false

    OnVictoryCarReady(Vehicle : fort_vehicle) : void =
        if (W := PendingWinner?):
            WinnerSpawner.AssignDriver(W)

Pattern 2 — Destroy the vehicle and disable the spawner (DestroyVehicle + Disable)

A timed bomb sequence: when a countdown trigger fires, destroy the getaway car and lock the spawner so it can't be used again.

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }

bomb_sequence_controller := class(creative_device):

    @editable
    NitroDrifterSpawner : vehicle_spawner_nitro_drifter_sedan_device = vehicle_spawner_nitro_drifter_sedan_device{}

    @editable
    BombTrigger : trigger_device = trigger_device{}

    OnBegin<override>()<suspends> : void =
        BombTrigger.TriggeredEvent.Subscribe(OnBombDetonated)

    OnBombDetonated(MaybeAgent : ?agent) : void =
        # Immediately wreck the car — no escape!
        NitroDrifterSpawner.DestroyVehicle()
        # Lock the spawner so it can't produce another vehicle
        NitroDrifterSpawner.Disable()

Pattern 3 — Track how many players have ridden the sedan (AgentEntersVehicleEvent counter)

Achievement logic: count unique ride-alongs during the match and fire a custom trigger when 5 players have entered the car.

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }

ride_counter_device := class(creative_device):

    @editable
    NitroDrifterSpawner : vehicle_spawner_nitro_drifter_sedan_device = vehicle_spawner_nitro_drifter_sedan_device{}

    @editable
    AchievementTrigger : trigger_device = trigger_device{}

    var RideCount : int = 0
    var GoalReached : logic = false

    OnBegin<override>()<suspends> : void =
        NitroDrifterSpawner.AgentEntersVehicleEvent.Subscribe(OnAgentEnters)

    OnAgentEnters(Agent : agent) : void =
        if (not GoalReached):
            set RideCount = RideCount + 1
            if (RideCount >= 5):
                set GoalReached = true
                AchievementTrigger.Trigger()

Gotchas

1. SpawnedEvent vs deprecated VehicleSpawnedEvent

SpawnedEvent is the modern API and sends the actual fort_vehicle reference — use it. VehicleSpawnedEvent sends an empty tuple() and is deprecated; avoid it in new code.

2. DestroyedEvent sends tuple(), not an agent

Unlike AgentEntersVehicleEvent / AgentExitsVehicleEvent, the DestroyedEvent handler receives an empty tuple (Unused : tuple()). You cannot determine who destroyed the car from this event alone.

3. AssignDriver requires the vehicle to already exist

Calling AssignDriver before the vehicle has spawned has no effect. Always call it inside a SpawnedEvent handler (or after await-ing the event) to guarantee the car is present.

4. RespawnVehicle destroys the old vehicle first

If you call RespawnVehicle() while a player is still inside, they will be ejected. This triggers AgentExitsVehicleEvent — make sure your exit handler doesn't create an infinite loop (e.g., don't call RespawnVehicle again from inside OnPlayerExitsCar).

5. AgentEntersVehicleEvent sends agent, not ?agent

This event's listenable is typed listenable(agent) — the handler receives a plain agent, not an optional. No unwrapping needed. Contrast this with trigger_device.TriggeredEvent which sends ?agent and does require unwrapping with if (A := MaybeAgent?).

6. Spawner must be Enabled to spawn

If you call Disable() and then RespawnVehicle(), the vehicle will not appear. Always call Enable() before RespawnVehicle() if you previously disabled the spawner.

7. DestroyVehicle is a no-op if no vehicle exists

Calling DestroyVehicle() when the spawner has no active vehicle is safe — it simply does nothing. You don't need a guard check.

Device Settings & Options

The vehicle_spawner_nitro_drifter_sedan_device User Options panel in the UEFN editor — every setting you can tune.

Vehicle Spawner Nitro Drifter Sedan Device settings and options panel in the UEFN editor — Color and Style, Visible During Game, Fuel Consumption, Random Starting Fuel, Starting Fuel, Fuel Use Multiplier, Radio Enabled
Vehicle Spawner Nitro Drifter Sedan Device — User Options in the UEFN editor: Color and Style, Visible During Game, Fuel Consumption, Random Starting Fuel, Starting Fuel, Fuel Use Multiplier, Radio Enabled
⚙️ Settings on this device (7)

Setting names read from the panel above — may be partial; the screenshots are the source of truth.

Color and Style
Visible During Game
Fuel Consumption
Random Starting Fuel
Starting Fuel
Fuel Use Multiplier
Radio Enabled

Build your own lesson with vehicle_spawner_nitro_drifter_sedan_device

Generate a personalized, step-by-step lesson plan built around this object — grounded in this exact reference and our compile-verified knowledge base.

Build a lesson →