๐งฉ Zion XRay
Scanner mode, world markers, GPS objective trails and setup diagnostics for Unity 6.
Overview
Quick Start
Setup Wizard
Scanner
Objectives & GPS
XRay Highlights
HUD & Markers
Diagnostics
Demo & Feature Test
Integration
Troubleshooting
FAQ
Integration
Zion XRay is built to sit alongside your own gameplay architecture. It does not need to know whether an objective comes from a quest, an enemy AI state, an interactable puzzle, a loot system or a scripted sequence.
Recommended architecture
Your Quest / Gameplay System
โ
Sets current objective transform
โ
Zion XRay Objective Provider
โ
HUD + Markers + GPS Trail + XRay Highlight
Set a new objective
public void SetXRayObjective(Transform objective)
{
objectiveProvider.SetActiveObjective(objective);
ZionXRayTargetHighlighter.SetGlobalActiveTarget(objective);
}
Clear the current objective
public void ClearXRayObjective()
{
objectiveProvider.ClearActiveObjective();
ZionXRayTargetHighlighter.SetGlobalActiveTarget(null);
}
Example: pickup objective
using UnityEngine;
using ZionGames.XRay;
public class QuestPickupObjective : MonoBehaviour
{
[SerializeField] private ZionXRayDemoObjectiveProvider objectiveProvider;
[SerializeField] private Transform pickupTarget;
private void Start()
{
objectiveProvider.SetActiveObjective(pickupTarget);
ZionXRayTargetHighlighter.SetGlobalActiveTarget(pickupTarget);
}
public void OnPickupCollected()
{
objectiveProvider.ClearActiveObjective();
ZionXRayTargetHighlighter.SetGlobalActiveTarget(null);
}
}
Production recommendation
The included demo objective provider is useful for testing. In a larger game, create a small bridge class between your quest system and Zion XRay, then keep all objective updates in that one place. This makes it easier to replace or extend your objective system later.
Good pattern: Your quest system owns the mission state. Zion XRay only receives
the transform that represents the current target.