# 6. AR Foundation Pitfalls Part of [[AR Foundation]]. Prev: [[5. Worked Example Place on a Plane]]. ## Missing AR Session or XR Origin Official: AR will not function properly. Use **XR > XR Origin (Mobile AR)**, not a VR origin, not a leftover camera rig. ## Two Main Cameras / two Sessions / two Raycast Managers Official: do not enable more than one of the same manager. A second Main Camera fights the Origin camera. ## Treating this as a Quest lab Official: on OpenXR (Meta Quest, Android XR), enabling or disabling `ARSession` does **not** start or stop AR. This series is ARKit / ARCore. ## Invented `TrackableType` or session-state names Confirm flags and the 6.5.1 session-state table. `hit.pose` is official world-space `Pose`. ## Allocating a new hit list every frame Reuse a field. Official `hitResults` contents are replaced. ## Placing before the session is tracking Raycasts fail or feel random. Wait on official `ARSession.state`. ## Device Simulator as an AR runtime It is not ARCore or ARKit. The assignment is a player build on a phone. ## 6.5.1 samples on a 6.7 project without a re-read 6.6 and 6.7 are listed for 6000.5. If Package Manager resolved them, re-check menus and signatures. ## Match Frame Rate left on, VSync never restored Official: those side effects are not reverted when you disable the session. ## Ignoring UI filters A "place" tap on a pause button. Use the Input System / EventSystem you already have. ## Sources - https://docs.unity3d.com/Packages/[email protected]/manual/project-setup/scene-setup.html - https://docs.unity3d.com/Packages/[email protected]/manual/features/session/arsession.html