Files
Docs-Viewer/docs/objective-marker-system.md

4.3 KiB
Raw Blame History

This plugin is WIP

Overview

The Objective Marker System provides a set of features to display, manage, and interact with in-game objective markers. This document details each feature, available options, and how they can be configured.


Feature Summary

Feature Status Configurable Properties (Class)
Icon Stacking Prevention bStackPreventionEnabled (UWidgetOverlay)
Off-Screen Markers bOffScreenEnabled (UWidgetOverlay)
Size by Distance bScaleByDistance (UWidgetOverlay)
SizeCurve (UWidgetOverlay)
Show Distance bShowDistance (UWidgetOverlay)
DistanceUnits (UWidgetOverlay)
Fade Out When Close FadeStartDistance (UWidgetOverlay)
Arrows When at Edge ArrowStyle (UWidgetIcon)
Occlusion bEnableOcclusion (UActorComponent)
OcclusionChannel (UActorComponent)
Screen Space Padding ScreenPadding (UWidgetOverlay)
3D Depth (Up/Down Indicator) bEnableDepthIndicator (UWidgetIcon)
DepthThreshold (UWidgetIcon)
Custom Icon CustomIconMaterial (UActorComponent)
Visibility Groups/Tags VisibilityTags (UActorComponent)

Feature Details

Icon Stacking Prevention

Prevents multiple markers from overlapping in screen space by slightly offsetting their positions.

Off-Screen Markers

Keeps markers anchored at the screen edges when the objective moves out of view.

Properties (UWidgetOverlay):

  • bOffScreenEnabled (bool) Enables or disables off-screen anchoring.

Size by Distance

Scales the marker size based on distance from the player.

Properties (UWidgetOverlay):

  • bScaleByDistance (bool) Toggles size scaling.
  • SizeCurve (UCurveFloat) Defines the scaling curve.

Show Distance

Displays a numerical value indicating the objective's distance.

Properties (UWidgetOverlay):

  • bShowDistance (bool) Enables/disables distance display.
  • DistanceUnits (enum) Specifies units (meters, feet, etc.).

Fade Out When Close

Reduces marker opacity when the player gets near.

Properties (UWidgetOverlay):

  • FadeStartDistance (float, min: 0) Distance at which fading begins.

Arrows When at Edge

Displays arrows at the screen edge pointing toward off-screen objectives.

Properties (UWidgetIcon):

  • ArrowStyle (struct) Defines arrow appearance and animation.

Occlusion

Hides or fades markers if blocked by obstacles.

Properties (UActorComponent):

  • bEnableOcclusion (bool) Enables/disables occlusion.
  • OcclusionChannel (ECollisionChannel) Defines which collision channel to check for occlusion.

Screen Space Padding

Ensures markers dont get too close to screen edges.

Properties (UWidgetOverlay):

  • ScreenPadding (float) Defines padding amount.

3D Depth (Up/Down Indicator)

Indicates whether an objective is above or below the player.

Properties (UWidgetIcon):

  • bEnableDepthIndicator (bool) Enables/disables depth indicators.
  • DepthThreshold (float) Distance threshold for depth indicators.

Custom Icon

Allows different icons per objective type.

Properties (UActorComponent):

  • CustomIconMaterial (UMaterialInstance) Sets a custom material or icon.

Visibility Groups/Tags

Groups objectives into categories for dynamic visibility filtering.

Properties (UActorComponent):

  • VisibilityTags (TArray) Defines tags for filtering.