This extension enables the application to differentiate the newer form factor of motion controller released with the Samsung Odyssey headset. It enables the application to customize the appearance and experience of the controller differently from the original mixed reality motion controller.
This extension added a new interaction profile pathname:/interaction_profiles/samsung/odyssey_controller to describe the Odyssey controller. The action bindings of this interaction profile work exactly the same as the pathname:/interaction_profiles/microsoft/motion_controller in terms of valid user paths and supported input and output component paths.
If the application doesn’t do its own custom rendering for specific motion controllers, it should avoid using this extension and instead just use subpathname:/microsoft/motion_controller, as runtimes should treat both controllers equally when applications declare action bindings only for that profile.
If the application wants to customize rendering for specific motion controllers, it should setup the suggested bindings for subpathname:/samsung/odyssey_controller the same as subpathname:/microsoft/motion_controller when calling SuggestInteractionProfileBindings, and expect the same action bindings. Then the application can listen to the XrEventDataInteractionProfileChanged event and inspect the returned interaction profile from GetCurrentInteractionProfile to differentiate which controller is being used by the user, and hence customize the appearance or experience of the motion controller specifically for the form factor of subpathname:/samsung/odyssey_controller.
| Modifier and Type | Field and Description |
|---|---|
| public static final String | XR_EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME
The extension name. |
| public static final int | XR_EXT_samsung_odyssey_controller_SPEC_VERSION
The extension specification version. |
| Access | Constructor and Description |
|---|---|
| private |
| XR_EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME | back to summary |
|---|---|
| public static final String XR_EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME The extension name. | |
| XR_EXT_samsung_odyssey_controller_SPEC_VERSION | back to summary |
|---|---|
| public static final int XR_EXT_samsung_odyssey_controller_SPEC_VERSION The extension specification version. | |
| EXTSamsungOdysseyController | back to summary |
|---|---|
| private EXTSamsungOdysseyController() | |