Manual anchoring
Manual anchoring
ManualAnchoring is the simplest setup: one source scan with one anchor, one client scan trying
to find it.
Scene setup
- Create a GameObject with a
ManualAnchoringcomponent. - On Client A (source: places the anchor):
- Assign the scanned root Transform (the parent of all
MeshFilterobjects) to theSource Rootfield. - Assign an anchor Transform to the
Anchorfield, or leave it unset to use the source root’s own position as the anchor. - Call
TryCreateAnchor()(or use the sample’s UI) to extract anAnchorPayloadand save it to a file/send to the other device.
- Assign the scanned root Transform (the parent of all
- On Client B (target: finds the anchor):
- Assign the scanned root Transform to the
Clientfield. - Load the
AnchorPayloadthat Client A sent. - Call
Calculate(payload)to run registration. - On success, Client B’s scene graph is rotated/translated so the anchor lands at Client A’s anchor position in world space.
- Assign the scanned root Transform to the
Inspector parameters
Most projects use defaults.
| Section | Parameter | Default | Meaning |
|---|---|---|---|
| Feature Extraction | Anchor Radius | 5 m | How far from the anchor to collect source features |
| Max Target Features | 3000 | Cap on client-side feature budget (scales to device mesh complexity) | |
| Curvature Min | 0.05 | Minimum curvature to include a vertex as a feature | |
| Matching | Curv Diff Max | 0.1 | Max curvature difference for a feature to match |
| Fine-Tier ICP | Refine Local ICP | true | Second-stage anchor-local refinement after global registration |
| Fine Radius | 0 (auto) | Radius around anchor for local refinement; 0 = auto-calculate | |
| Room Tier | Build Room Tier | true | Extract whole-scan features for better coarse-stage hints and room fingerprinting |
| Descriptor | Use Gravity Descriptor | true | Include gravity direction in descriptor (improves robustness on most devices) |
The algorithm is gravity-aware (uses the device’s IMU, its built-in motion sensor) and scale-relative: thresholds adapt to mesh density and coarseness automatically. Start with all defaults.
If your anchor is on a flat surface (desk, wall), lower Anchor Radius to 1-2 m. That makes
features cluster at distinctive corners and edges rather than sampling blank space.
If registration fails on your data, see Diagnostics for how to read the log: it reports feature counts and which verification gate failed.
Next
- Matching against several pre-registered rooms instead of one: Multi-room anchoring.
- Reading registration results: Diagnostics.