Stop Losing Your Squad: How to Build Map Indicators in Verse
Tutorial beginner

Stop Losing Your Squad: How to Build Map Indicators in Verse

Updated beginner

Stop Losing Your Squad: How to Build Map Indicators in Verse

You’ve built the ultimate deathmatch arena, but half your players are still spawning in the middle of the map and asking, "Where’s the loot?" or "Which way is the boss?" It’s like dropping into a storm circle with no compass. That’s where Map Indicators come in.

Think of these as the little pings your squad leaves on the tactical map. They show up on both the big overview map and the mini-map in the corner. In this tutorial, we’re going to use Verse to place a glowing, pulsing beacon on the map that tells players exactly where the final objective is. No more wandering aimlessly.

What You'll Learn

  • Variables: How to store the location of your indicator so you can move it around.
  • Scene Graph Basics: Why devices live in a hierarchy (like a loot bag inside a chest).
  • Map Indicator Device: The specific UEFN tool that paints icons on the map.
  • Editing Properties: Changing the color, icon, and text of your marker via code.

How It Works

In Fortnite Creative, a Map Indicator is a device you place in the world. By default, it’s just a static object. But when you add Verse to the mix, you gain superpowers. You can make the indicator appear only when a player gets close, change its color from blue to red if the enemy team captures it, or hide it entirely until the final circle.

The "Loot Bag" Analogy: Variables

Imagine you have a Loot Box on your island. Inside that box is a specific gun. The Loot Box is the container (like your Verse script), and the Gun is the thing inside (the data).

In programming, a Variable is just a named container that holds a value. If you want to move a Map Indicator, you don’t hardcode its position every time. You create a variable called my_indicator that holds the device. You can then tell that variable to "move to location X" or "change color to red." It’s like labeling your loot boxes so you know exactly which one has the shotgun.

The Scene Graph: Hierarchy Matters

You might be wondering, "Where does this code live?" In Unreal Engine (and Verse), everything exists in a Scene Graph. This is just a fancy way of saying "a family tree of objects."

  • The Island is the root.
  • Sections are branches.
  • Devices (like the Map Indicator) are leaves on those branches.

When you write Verse, you are usually attaching a script to a specific device or entity. This script can then talk to other devices in that same "family." If your Map Indicator is sitting in the "Objective" section, your script needs to know how to find it. We’ll use a Reference (a pointer) to say, "Hey, you, the Map Indicator device over there—change your settings!"

Let's Build It

We are going to create a simple system: A Map Indicator that appears in the center of the map, labeled "FINAL BOSS," with a bright red icon.

Step 1: Place the Device

  1. Open UEFN.
  2. Go to the Devices tab.
  3. Search for Map Indicator.
  4. Place it anywhere in your level (it doesn’t matter where it is physically, because it only shows up on the map, not in the 3D world).
  5. Name it something easy to remember, like BossMarker.

Step 2: The Verse Code

Now, let’s write the script. We’ll attach this script to a Trigger Volume (an invisible box that detects when players enter an area). When a player steps in, the script will find our BossMarker and update it.

Here is the code. Don’t panic at the syntax; we’ll break it down line by line.

# This script lives on a Trigger Volume. 
# When a player enters, it updates the Map Indicator.

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

# 1. Define the Script
# This is like the rulebook for what happens when the trigger is hit.
sim script BossIndicatorScript {

    # 2. Editable Variables
    # These are the "slots" you see in the UE Editor sidebar.
    # @editable means you can change these values in the editor without touching code.
    
    # This is our "Loot Box" reference. 
    # We are telling Verse: "Find the Map Indicator device named 'BossMarker'."
    BossMarker : map_indicator_device = map_indicator_device{}

    # This is the text that will appear on the map.
    MarkerText : string = "FINAL BOSS HERE"

    # This is the color. 
    # We use a Color structure to pick Red.
    MarkerColor : color = color{R:1.0, G:0.0, B:0.0, A:1.0}

    # 3. The Event
    # This runs when a player enters the trigger volume.
    # It's like the "On Player Enters" event in a normal Creative device.
    OnBegin<override>()<suspends>:void=
    {
        # 4. Update the Indicator
        # We are changing the properties of our BossMarker variable.
        
        # Set the text label
        BossMarker.SetLabel(MarkerText)
        
        # Set the color of the icon
        BossMarker.SetColor(MarkerColor)
        
        # Make sure it's visible
        BossMarker.SetVisibility(true)
        
        # Optional: Set the icon type (e.g., Target, Flag, etc.)
        # Note: Icon types depend on the specific UEFN version, 
        # but usually SetIconType is available or handled via preset.
        # For this demo, we assume default icon or use SetIcon if available.
        # BossMarker.SetIconType(MapIndicatorIconType.Target) 
    }
}

Walkthrough: What Just Happened?

  1. using { ... }: These are your imports. Think of them as loading the right DLC. You need the Devices DLC to talk to Map Indicators and the Sim DLC to run simulation logic.
  2. sim script BossIndicatorScript: This creates a new script block. It’s like creating a new folder for your logic.
  3. @editable BossMarker : map_indicator_device: This is the most important line. We created a variable called BossMarker that holds a reference to a map_indicator_device. In the editor, you will see a field for this. You drag your physical Map Indicator device from the world into this slot. Now, your script has a direct line to that device.
  4. OnBegin: This function runs when the script starts (or when the trigger is activated, depending on how you bind it). In a Trigger Volume, you’d typically bind this to the OnActorBeginOverlap event, but for simplicity, we assume the script is triggered when the player enters.
  5. BossMarker.SetLabel(...): This is the magic. We are calling a function on our variable. It’s like pressing a button on the device. We tell it to change the text to "FINAL BOSS HERE."
  6. BossMarker.SetColor(...): We pass in a color struct. R:1.0 means full Red. G:0.0 means no Green. B:0.0 means no Blue. The result? Bright Red.

Why This is Better Than Just Placing It

If you just placed a Map Indicator in the editor, it would be there from the start. But what if you want the marker to only appear after the team captures the flag? Or what if you want it to change from Blue (friendly) to Red (enemy) based on the score? With Verse, you have full control. You can hide it, show it, change its color, and update its text dynamically.

Try It Yourself

Challenge: Make the indicator blink or change color when the player gets within 100 units of the boss.

Hint:

  1. You’ll need to compare the player’s position to the boss’s position.
  2. Use a distance calculation (think of it as measuring how far you are from the storm circle).
  3. If the distance is less than 100, call BossMarker.SetColor() with a different color (like Yellow).
  4. Pro Tip: You can use Player.GetWorldPosition() to get the player's location and BossMarker.GetWorldPosition() to get the marker's location.

Recap

Map Indicators are your island’s GPS. They help players navigate without getting lost in the chaos. By using Verse, you turn a static icon into a dynamic tool that reacts to gameplay. You learned how to:

  • Use Variables to reference devices.
  • Understand the Scene Graph hierarchy.
  • Update Map Indicator properties like label and color via code.

Now go build an island where your squad actually knows where to go. And maybe add a trap on the way.

References

  • https://dev.epicgames.com/documentation/en-us/fortnite/triad-infiltration-10-final-result-in-verse
  • https://dev.epicgames.com/documentation/en-us/fortnite/onboarding-players-in-fortnite-creative
  • https://dev.epicgames.com/documentation/en-us/fortnite-creative/onboarding-players-in-fortnite-creative
  • https://dev.epicgames.com/documentation/en-us/fortnite/map-indicator
  • https://dev.epicgames.com/documentation/en-us/fortnite-creative/onboarding-tutorial-in-fortnite-creative

Verse source files

Turn this into a guided course

Add Map Indicators 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