🧩 Zion XRay
Scanner mode, active-objective highlighting, world markers and NavMesh GPS trails for Unity projects.
Overview
Quick Start
Setup Wizard
Scanner
Objectives & GPS
XRay Highlights
HUD & Markers
Demo Scene
Integration
Troubleshooting
FAQ
Troubleshooting
Scanner input does not activate
- Check that
Xray Actionis assigned onZionXRayController. - Check that the Input Action has a valid binding.
- Check that the Input System package and project input settings are configured correctly.
- Check whether
Hold To Activatematches the behaviour you expect. - Check that another script is not disabling the assigned Input Action.
GPS trail does not appear
- Check that
ZionXRayGpsTrailis assigned to the controller. - Check that scanner mode is active.
- Check that an active objective has been assigned.
- Check that your scene has a baked NavMesh.
- Check that player and objective are both on reachable NavMesh areas.
- Check that the active objective is not inside an unreachable or disconnected location.
XRay highlight does not appear
- Check that the target has
ZionXRayTarget. - Check that the target has
ZionXRayTargetHighlighter. - Check that the object has a supported renderer.
- Check that the target has been passed to
SetGlobalActiveTarget(...). - Check that another target is not still set as the active highlight target.
- Check that the XRay shader is present and compiles without errors.
- Use
Force Show For Testingbriefly to confirm the renderer and shader are working.
One target remains permanently highlighted
- Check that
Force Show For Testingis disabled. - Check that the old objective is cleared when a new objective is set.
- Check that only one transform is passed to
SetGlobalActiveTarget(...).
Target switches but XRay does not follow
Make sure your objective-switch code updates both systems:
objectiveProvider.SetActiveObjective(target);
ZionXRayTargetHighlighter.SetGlobalActiveTarget(target);
World marker does not show
- Check that the HUD and world marker system exist in the scene.
- Check that the target is registered as an XRay target.
- Check whether the marker is behind the camera or outside its visibility rules.
- Check whether the marker is configured for active objective only.