Troubleshooting¶
Common issues and how to resolve them.
Tracking Issues¶
Object is not detected¶
- Initial pose too far off — move the TrackedBody GameObject closer to where the real object appears relative to the camera
- Wrong scale — verify the mesh dimensions match the real object in meters
- No tracking model (silhouette mode) — silhouette tracking requires a generated model. Click Generate Silhouette Model in the TrackedBody inspector. Edge tracking doesn't need this.
- Camera not providing frames — check that the Image Source is set correctly on XRTrackerManager and the camera is active
- Guide too far from the object — the start search covers an object that stands within about 90 pixels of the guide, so a guide that is farther away needs a larger Window Margin and Cone Half Angle, or a closer guide. See Starting & Recovery
Tracking starts at the wrong place¶
- Start search proposes a pose that is a few degrees off — the tracker does not always correct that, so the body can start with a wrong tilt or depth. Switch Search Before Start off on the body
Tracking is jittery¶
- Increase stability — raise
Rotation StabilityandPosition Stabilityon the TrackedBody - Enable stationary mode — if the object is fixed in the real world, enable
Stationaryon the TrackedBody - Low contrast — silhouette tracking needs foreground/background separation. Try edge tracking if contrast is low
- Insufficient correspondence iterations — increase
Correspondence Iterationson XRTrackerManager (default 5)
Tracking drifts or loses the object¶
- Background too similar — silhouette tracking struggles when the background matches the object color. Switch to edge tracking or add depth
- Object too featureless — spheres, smooth cylinders, and plain boxes have few distinguishing features. Add depth tracking if a sensor is available
- Fast motion — edge tracking is more sensitive to rapid movement. Switch to silhouette if the camera or object moves quickly
- Partial occlusion — if more than ~60% of the object is hidden, tracking may fail. Enable occlusion handling if another tracked body is blocking it
A stationary object reads Degraded or Lost on a soft camera picture¶
- Accept Steady Fits is off — with it on (the default, in the Edge Tracking section of the Tracked Body inspector), XRTracker also accepts a fit that the coverage score verifies. See AR Foundation
- Start Score and Hold Confidence differ — under AR pose fusion, the Runtime Status shows both. A body can read a high Start Score and a low Hold Confidence while the registration check cannot reach its bar on a soft picture
Texture tracking has no effect¶
- Camera too close — texture tracking works only when the camera is farther from the object than about 1.5 times the object's radius, which is half its largest dimension. See Limits of Texture Tracking
Tracking quality is low but object appears correct¶
- Custom thresholds — the default
Quality to Startmay be too high for your object. Enable custom thresholds and lower them - Adjust modality — some objects track better with edge than silhouette. Experiment with the
Tracking Methodsetting
Model Generation Issues¶
Model generation is very slow¶
- High-poly mesh — decimate meshes above 50k triangles. Internal geometry that isn't visible externally can be removed
- Too many subdivisions — reduce the subdivisions setting in Model Settings
Detection works from some angles but not others¶
- Viewpoint coverage — check the Viewpoint Coverage setting. Use Full Sphere for objects viewed from any angle, or restrict to Upper Hemisphere / Side Ring for objects with known orientation
Platform Issues¶
iOS: Camera feed not appearing¶
- Camera Usage Description not set — add a description in Player Settings > Other Settings > Camera Usage Description
- ARSession missing — ensure an ARSession component exists in the scene
- AR Foundation not installed — install AR Foundation and ARKit XR Plugin via Package Manager
Android: Tracking doesn't start¶
- ARCore not supported — check that the device supports ARCore (see Google's device list)
- ARCore not installed — the app may need Google Play Services for AR installed on the device
- Image Source wrong — must be set to
Injectedfor AR Foundation
Windows: No camera detected¶
- Camera in use — another application may have exclusive access to the camera
- Camera name mismatch — if using
Auto Select Camera Name, verify the exact camera name matches - Calibration file missing — if using a calibration file, ensure it's in StreamingAssets
License Issues¶
Tracking doesn't start / "No License" overlay¶
- No license found — register for a free Developer license: Tools > XRTracker > License Registration
- If you already have a
.licfile, import it from the registration window or drag it into the License File field on XRTrackerManager
License shows as expired¶
- Check expiry date — select the
.licfile in Unity to view its details in the Inspector - Request a new license — contact support@formulaxr.com
"Machine ID Mismatch"¶
- Commercial license bound to different machine — Commercial licenses are node-locked. The Machine ID is shown in the XRTrackerManager inspector during Play Mode. Provide this ID when requesting a license
Performance¶
Tracking is too slow¶
- Lower camera resolution — reduce the capture resolution on the Image Source settings
- Reduce correspondence iterations — lower
Correspondence Iterationson XRTrackerManager (minimum 1, but tracking quality decreases) - Simplify meshes — fewer triangles = faster rendering per tracking frame
High GPU usage¶
- Multiple tracked bodies — each body adds rendering overhead. Disable occlusion if not needed