> For the complete documentation index, see [llms.txt](https://dante-3.gitbook.io/dante-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dante-3.gitbook.io/dante-docs/indicator-system-plugin.md).

# Indicator System Plugin

**Type:** Runtime + Editor\
**Version:** 1.0\
**Engine:** UE 5.7\
**Platforms:** Win64, Mac, Linux

{% embed url="<https://www.fab.com/listings/bd2ea419-9b14-40be-b44d-ac57219ed2c6>" %}

***

<figure><img src="https://4216330531-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYsGXprPiDJ68FN8HnOaN%2Fuploads%2Frz44pCeKwMybgnHEgp16%2FEkran%20g%C3%B6r%C3%BCnt%C3%BCs%C3%BC%202026-03-28%20101615.png?alt=media&amp;token=6efb2bae-7780-45a9-8da9-7363284dc15c" alt=""><figcaption></figcaption></figure>

## Overview

`IndicatorSystem` renders **screen-space HUD markers** for world-space actors. It handles the full pipeline — from projecting a 3D world position to screen coordinates, to clamping out-of-view indicators to the screen edge with a directional arrow.

Key capabilities:

* **Data Asset configuration** — every visual and behavioral aspect is driven by `UIndicatorSetupConfig`
* **Pluggable Setup Actions** — configure indicators by composing small, reusable action objects (Blueprint and C++)
* **Multiple projection modes** — project from a component pivot point, its bounding box, or the whole actor bounding box
* **Screen-edge clamping** — indicators that move off screen lock to the edge and show a directional arrow
* **Distance-based visibility** — configurable min/max view distances
* **Overlap prevention** — indicators avoid drawing on top of each other
* **Fully Blueprint-accessible** — everything is exposed to Blueprint

***

## Architecture at a Glance

```
UIndicatorSetupConfig  (Data Asset)
  └── TArray<UIndicatorSetupActions*>  ← composable behavior
        │
        executed at BeginPlay
        │
        ▼
UIndicatorManagerComponent  (Actor Component)
  └── creates UIndicatorDescriptor
        │  registered in
        ▼
UIndicatorSubsystem  (GameInstance Subsystem)
  └── TMap<AActor*, UIndicatorDescriptor*>
        │  consumed by
        ▼
UIndicatorLayer  (UMG Widget — in HUD)
  └── SActorCanvas  (Slate)
        └── Projects each descriptor's world pos → screen pos
              └── Renders indicator widget at screen pos
```

***

## Quick Start

1. Create a **`UIndicatorSetupConfig`** data asset — configure your actions
2. Add **`UIndicatorManagerComponent`** to the target actor — assign the config
3. Add **`UIndicatorLayer`** widget to your HUD — covers the full screen
4. Implement **`IActorIndicatorWidget`** on your indicator widget — receive descriptor data

***

## Next Steps

* [Core Classes](/dante-docs/indicator-system-plugin/api-references.md)
* [Setup Actions Reference](/dante-docs/indicator-system-plugin/indicator-setup-action.md)
* [SActorCanvas & Projection](/dante-docs/indicator-system-plugin/projection.md#sactorcanvas-how-indicators-are-rendered)
* [How-To: Create a Custom Setup Action](/dante-docs/indicator-system-plugin/indicator-setup-action.md#creating-a-custom-setup-action)
