# 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