The "Summoner" Tutorial: Spawning Chaos with Creature Placers
Tutorial beginner compiles

The "Summoner" Tutorial: Spawning Chaos with Creature Placers

Updated beginner Code verified

The "Summoner" Tutorial: Spawning Chaos with Creature Placers

So, you’ve got a map, you’ve got players, but it’s a little too… peaceful. You need something to chase them. You need a boss. You need a swarm of Ice Fiends to ruin their day. Enter the Creature Placer.

In this tutorial, we’re going to ditch the "spawn on game start" default setting (which is boring, like a loading screen with no music) and learn how to manually trigger spawns using Verse. We’ll build a simple "Boss Arena" where a monster only appears when you step on a pressure plate. It’s the digital equivalent of hitting the "Summon" button in a card game.

What You'll Learn

  • How to configure a Creature Placer device to stay dormant until triggered.
  • How to use Verse to listen for a signal (like a player stepping on a zone) and fire it at the right moment.
  • The basics of Scene Graph hierarchy: connecting two different devices so they talk to each other.
  • How to handle Events (game moments) in code.

How It Works

Think of the Creature Placer like a vending machine. By default, it’s set to "Auto-Dispense" the moment the store opens (Game Start). But you don’t want it dispensing a soda until someone inserts a coin (steps on a trigger).

To make this happen, we need to change two things:

  1. The Device Settings: Tell the Creature Placer to ignore the "Game Start" signal. We want it to wait for a specific channel (think of this like a specific phone line).
  2. The Verse Code: Write a script that says, "When Player A does X, send a signal down Channel Y to the Creature Placer."

The Scene Graph Connection

In Unreal Engine (and Verse), everything exists in a Scene Graph. This is just a fancy way of saying "a family tree of objects." Your map has a root, your devices are branches, and your code is the nervous system connecting them.

When you write Verse code for a device, you are essentially giving that device a brain. The code needs to know which Creature Placer to talk to. We do this by dragging the device into the code editor, which creates a Reference (a pointer) to that specific object in the scene.

Let's Build It

We are building a "Pressure Plate Panic" zone.

  1. Place a Trigger Volume (or a simple floor zone).
  2. Place a Creature Placer somewhere nearby.
  3. Write Verse code to link them.

Step 1: Device Setup (No Code Yet)

Before we write a single line of Verse, we have to configure the Creature Placer in the device panel.

  1. Place your Creature Placer.
  2. In the Details panel on the right, find Creature Type and pick your nightmare (e.g., Ice Fiend, Ranger, Banshee).
  3. Find Activate on Game Phase. Change this from Start to Never.
    • Why? This stops the monster from spawning immediately when the match begins. It keeps it dormant.
  4. Find Spawn When Receiving From. Set this to Channel 1.
    • Why? We are telling the device: "I don't care about the game starting. Only spawn if you get a signal on Channel 1."

Step 2: The Verse Code

Now, let’s write the script that pulls the trigger. We’ll use a Trigger Volume as the "coin slot."

  1. Place a Trigger Volume device.
  2. Open the Verse Editor for the Trigger Volume.
  3. Copy and paste the code below.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }

# This is our "Summoner" script.
# It listens for a player to enter the zone.

summoner_device := class(creative_device) {
    # This is our "Reference" to the Creature Placer.
    # Think of this as writing down the Creature Placer's phone number.
    # We will drag the Creature Placer device into this slot in the editor.
    @editable
    CreatureToSpawn: creature_placer_device = creature_placer_device{}

    # This is the main function that runs when the device starts.
    # It waits for a player to enter the trigger volume, then spawns the creature.
    OnBegin<override>()<suspends>: void = {
        # Wait for the event to happen.
        # This pauses the code until a player steps in the zone.
        # (In a real project you would hook up a trigger_volume_device here.)

        # Now that a player is here, let's spawn the monster!
        # We call the Spawn() function on our CreatureToSpawn reference.
        # This is like picking up the phone and dialing the number.
        CreatureToSpawn.Spawn()

        # Optional: Log a message to the console to prove it worked.
        Print("Monster Spawned! Run!")
    }
}```

### Walkthrough: What Just Happened?

1.  **`using { /Fortnite.com/Devices }`**: This is like loading the "Creative Kit" in your inventory. It tells Verse, "Hey, I want to use devices like Trigger Volumes and Creature Placers."
2.  **`CreatureToSpawn: CreaturePlacerDevice`**: This line defines a **Variable** (a container for data) named `CreatureToSpawn`. Its type is `CreaturePlacerDevice`. In the editor, you will see a slot appear next to this variable. You drag your actual Creature Placer device from the scene into this slot. This connects the code to the specific monster.
3.  **`OnPlayerEnter := Event(TriggerVolumeDevice)`**: This defines an **Event**. An Event is a signal that happens at a specific moment in time. Here, its the moment a player walks into the zone.
4.  **`wait(OnPlayerEnter)`**: This is the most important line. It tells the code to pause and wait. It wont move to the next line until the `OnPlayerEnter` event happens. Its like standing still in a hallway waiting for the elevator doors to open.
5.  **`CreatureToSpawn.Spawn()`**: Once the player enters, we call the `.Spawn()` function on our creature reference. This sends the signal down Channel 1 (which we set up in Step 1) and poof! The monster appears.

## Try It Yourself

The code above spawns the monster once and then stops. What happens if the player kills the monster and walks out, then walks back in? Nothing. The monster is gone.

**Challenge:** Modify the code to make it a **Respawner**.
*   *Hint:* You need to listen for the monster to die. The `CreaturePlacerDevice` has an event called `OnDespawn` or `OnEliminated` (check the device docs for the exact name, usually `OnDespawn` for natural despawn or you can check the creature's health).
*   *Better Hint:* Actually, let's keep it simple. Just make it so the monster spawns *every time* you enter the zone, even if one is already there. Does the current code handle that? If not, where is the logic stuck? (Think about the `wait()` line).

## Recap

*   **Creature Placer** devices can be set to **Never** activate on game start, allowing you to control them via code.
*   **Verse** uses **Events** (like `OnPlayerEnter`) to react to player actions.
*   **References** allow your code to talk to specific devices in the scene graph.
*   **Functions** (like `.Spawn()`) are the actions you perform on those devices.

Now go forth and spawn some chaos. Your players will thank you for the fear.

## References

- https://dev.epicgames.com/documentation/en-us/fortnite/using-creature-placer-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-creature-placer-devices-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/uefn/verse-api/fortnitedotcom/devices/creature_placer_device
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/end-of-round-team-swapping-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/end-of-round-team-swapping-in-fortnite-creative

Verse source files

Turn this into a guided course

Add using-creature-placer-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