The XR Origin serves as the center of tracking space in an XR scene.
An XR Origin configuration is a set of GameObjects and components that work together to transform data from the XR tracking subsystems into world space. For example, the TrackedPoseDriver component on the Main Camera GameObject moves the Camera relative to the XR Origin using the tracking data for the user’s headset or handheld device. See XR Origin for more information about the XR Origin.
XR devices provide tracking data in real-world units relative to a point chosen by the XR system at initialization. Unity aligns the XR Origin GameObject in a scene with this initial point.
GameObjects representing tracked entities, such as the user’s headset or hand-held device, are children of the XR Origin GameObject in the scene hierarchy. This means that changes in position and rotation based on tracking updates are relative to the XR Origin. As the user moves in the real world, these child GameObjects move relative to the XR Origin in the scene. The XR Origin doesn’t move on its own. However, you can move the XR Origin with a script to allow the user to teleport or move via controller input.
The Unity XR packages provide a number of XR Origin configurations tailored for different types of XR applications. You can use the GameObject > XR menu to add an XR Origin to the current Scene. The available options depend on which packages you have added to your project.
XR type | Rig | Menu option | Package | 注意 |
---|---|---|---|---|
VR, MR | XR Rig | Convert Main Camera To XR Rig | XR Legacy Input Helpers (installed with the XR Plug-in Management package) | Replaces the standard Camera in a basic Unity Scene. The logic used to replace the main camera can fail in complex scenes. Unity removes this option when you install the XR Interaction Tools package. The XR Rig GameObject created by this menu option is slightly different than the XR Origin and might not be as compatible with other Unity XR features. |
VR, MR | XR Origin | XR Origin | XR Core Utils (installed with the XR Interaction Toolkit package) | Does not include GameObjects for controllers. |
VR, MR | XR Origin (VR) | XR Origin (VR) | XR Interaction Toolkit | Includes controller GameObjects set up for action-based input. |
VR, MR | XR Origin (VR) | Device-based > XR Origin (VR) | XR Interaction Toolkit | Includes controller GameObjects set up for device-based input. |
AR, MR | XR Origin (AR) | XR Origin (AR) | AR Foundation | Serves as the tracking origin for hand-held AR applications. Includes controller GameObjects. This option is available if you have the XR Interaction Toolkit installed. |
AR | XR Origin (Mobile AR) | XR Origin (Mobile AR) | AR Foundation | Serves as the tracking origin for hand-held AR applications. Does not include controller GameObjects. This option is replaced with XR Origin (AR) if you have the XR Interaction Toolkit installed. |
注意:
* In the latest versions of the Unity XR packages, the XR Rig has been replaced with the XR Origin.
* The XROrigin
component also replaces the CameraOffset
component, providing a few additional settings. See XR Origin component for more information.
* The AR Session Origin configuration has been replaced with XR Origin (Mobile) and XR Origin (AR) in AR Foundation 5.0+.
* The XR Origin (Mobile) and XR Origin (AR) configurations are not compatible with earlier versions of the AR Foundation package.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.