Blueprint API Reference
Overview
Section titled “Overview”The MageIt World Markers plugin is designed to be fully usable within Unreal Engine’s Blueprint visual scripting system. All core logic, math operations, and UI updates are exposed as easy-to-use nodes.
This reference page categorizes the most commonly used Blueprint nodes and events by their context.
🌐 1. Subsystem Nodes (Global Management)
Section titled “🌐 1. Subsystem Nodes (Global Management)”To use these nodes, you first need to get a reference to the subsystem.
Right-click in any Event Graph and search for Get MageItWorldMarkersSubsystem. Drag off the return value to access these functions:
Queries
Section titled “Queries”Get Visible MarkersReturns an array ofUMageItWorldMarkerComponentthat are currently rendered on the screen (passed the visibility/occlusion checks).Get Registered MarkersReturns an array of all markers currently tracked by the system, regardless of whether they are on-screen or off-screen.Get Conditional Visibility MarkersReturns an array of markers that have special custom visibility logic applied to them.
Runtime Configuration
Section titled “Runtime Configuration”Set Crosshair Interaction Radius(NewRadius: Float)Dynamically changes how close the crosshair needs to be to a marker to trigger hover events. Useful for changing interaction sizes when the player aims down sights (ADS).Set Focus Radius(NewRadius: Float)Changes the broader screen-center focus area.Update Marker Visibility(MarkerComponent: Target, bVisible: Boolean)Force-updates the visibility state of a specific marker, overriding default occlusion checks.
⚓ 2. Component Nodes (The 3D Anchor)
Section titled “⚓ 2. Component Nodes (The 3D Anchor)”These nodes are called directly from a MageItWorldMarkerComponent attached to your Actors.
Enable Marker/Disable MarkerTurns the marker on or off. Disabled markers are removed from the subsystem’s processing queue to save performance.Get Marker WidgetReturns the 2D UI Widget (UMageItWorldMarkerWidget) instantiated for this component. You can cast this to your specific Blueprint class to update health bars, names, or icons.Has Valid Marker WidgetReturns true if the UI widget has been successfully created. Always check this before trying to update UI data to prevent Null Pointer errors.Get Distance To Player(Returns Float)Returns the exact distance in Unreal Units (cm) to the player’s camera.Get Distance To Player Squared(Returns Float)Returns the squared distance. Highly recommended for performance-heavy checks (like sorting arrays) as it skips the expensive Square Root calculation.
🎨 3. Widget Events (UI Logic)
Section titled “🎨 3. Widget Events (UI Logic)”These events are available inside any Blueprint Widget that inherits from UMageItWorldMarkerWidget. They are Event-Driven, meaning they only fire when data actually changes, saving you from using the heavy Event Tick.
Event On Screen Visibility Changed(bNewIsVisible)Fires when the marker goes behind a wall or comes into view. Great for triggering fade-in/fade-out UI animations.Event On Crosshair Focus Changed(bNewIsUnderCrosshair)Fires when the player looks directly at (or away from) the marker. Use this to highlight the marker, show a tooltip, or play a sound.Event On Screen Side Changed(NewScreenSide: ETargetScreenSide)Fires when an off-screen marker moves from one edge to another (Top, Bottom, Left, Right). Perfect for updating directional arrows.Event On Position Changed(NewPosition)Fires when the 2D screen coordinates update.Event Destroy WidgetFires right before the widget is deleted. You can override this to play a destruction animation before calling the parent node.
🧮 4. Math & Utilities Library
Section titled “🧮 4. Math & Utilities Library”These nodes are static utilities accessible anywhere in your project without needing a reference. Search for them directly in the right-click menu.
Projection
Section titled “Projection”Project Marker To ScreenThe core math function. Translates a 3D world position into a 2D screen coordinate. Handles screen-edge clamping (bStickToViewport) and calculates theAngleto the target.
KD-Tree Optimization
Section titled “KD-Tree Optimization”Build Markers TreeTakes an array of Marker Components and generates a highly optimized KD-Tree (UMageItMarkersTree) for spatial queries.Radius Search/Radius Outside Search(Called from the generated Tree object). Instantly finds all markers inside or outside a specific 3D sphere without looping through every marker in the game.Range Search(Called from the generated Tree object). Finds all markers within a specific 3D bounding box (FBox).