XR Player Features
Features planned for v1.0.0
| Feature | Target | ||
|---|---|---|---|
| Windows | Android | ||
| Augmented reality * | TRACKABLE_FLOOR | ☑ | ☑ |
| TRACKABLE_VIEWER | ☑ | ☑ | |
| TRACKABLE_CONTROLLER | ☐ | ☐ | |
| TRACKABLE_PLANE | ☑ | ☑ | |
| TRACKABLE_MARKER_2D | ☑ | ☑ | |
| TRACKABLE_MARKER_3D | ☐ | ☐ | |
| TRACKABLE_MARKER_GEO | ☑ | ☑ | |
| TRACKABLE_APPLICATION | ☑ | ☑ |
* anchoring and overlay of 3D content on real world
Featured in v0.9.0
| Feature | Target | ||
|---|---|---|---|
| Windows | Android | ||
| media player * | ☐ | ☐ | |
| video texture * | ☑ | ☐ | |
| audio sources * | ☑ | ☐ | |
| interactivity | ACTION_ACTIVATE | ☑ | ☑ |
| ACTION_MEDIA | ☐ | ☐ | |
| ACTION_TRANSFORM | ☑ | ☑ | |
| ACTION_BLOCK | ☑ | ☑ | |
| ACTION_ANIMATION | ☑ | ☑ | |
| ACTION_MANIPULATE | ☑ | ☑ | |
| ACTION_SET_MATERIAL | ☑ | ☑ | |
| ACTION_HAPTIC | ☐ | ☐ | |
| ACTION_SET_AVATAR | ☐ | ☐ |
* Depends on media pipelines, see supported platforms.
See also: detailed implementation status of the scene description format.
Supported platforms
| Dependency | Build target platform | ||||
|---|---|---|---|---|---|
| Windows | Android | Linux | OSX | iOS | |
| Unity Player | ☑ | ☑ | * | * | * |
| Media Pipeline factory | ☑ | ☐ | ☐ | ☐ | ☐ |
| avpipeline plugin | ☑ | ☐ | ☐ | ☐ | ☐ |
* untested, the application is expected to compile without issues.
Tested devices
Smartphones
- Android 13
HMD
- Meta Quest 2, 3, Pro - currently tested through Meta Quest Link on Windows 11. XR Player - Meta Quest Link tutrial.
Scene Description format
glTF extensions described in ISO/IEC 23090-14
Implementation status in rt-xr-unity-player.
Implemented in v0.9.0
The extensions listed bellow are implemented by the glTFast parser. Status is checked when the corresponding behaviors is implememented in the XR reference player.
Requirement (as defined in ISO/IEC 23090-14):
- O : Optional
- M : Mandatory
Status:
- ☑ the feature is implemented the XR player.
- ☐ the feature is implemented by the glTF parser, but the corresponding behavior is not implemented by the XR player.
| Extension | Property | Requirement | Status | Test content |
|---|---|---|---|---|
| MPEG_media | startTime | O | ☑ | ☐ |
| startTimeOffset | O | ☐ | ☐ | |
| endTimeOffset | O | ☐ | ☐ | |
| autoplay | O | ☑ | ☑ | |
| autoplayGroup | O | ☐ | ☐ | |
| loop | O | ☐ | ☑ | |
| controls | O | ☐ | ☐ | |
| alternatives | M | ☑ | ☑ | |
| MPEG_media.media.alternative | uri | M | ☑ | ☑ |
| mimeType | M | ☑ | ☑ | |
| tracks | O | ☑ | ☑ | |
| MPEG_media.media.alternative.track | track | M | ☑ | ☑ |
| codecs | M | ☑ | ☑ | |
| MPEG_buffer_circular | count | O | ☑ | ☑ |
| media | M | ☑ | ☑ | |
| tracks | O | ☑ | ☑ | |
| MPEG_accessor_timed | immutable | O | ☐ | ☐ |
| bufferView | O | ☑ | ☑ | |
| suggestedUpdateRate | O | ☑ | ☑ | |
| MPEG_audio_spatial | sources | O | ☑ | ☑ |
| listener | O | ☑ | ☑ | |
| reverbs | O | ☐ | ☐ | |
| MPEG_audio_spatial.sources | id | M | ☑ | ☑ |
| type | M | ☑ | ☑ | |
| pregain | O | ☐ | ☐ | |
| playbackSpeed | O | ☐ | ☐ | |
| attenuation | O | ☑ | ☑ | |
| attenuationParameters | O | ☑ | ☑ | |
| referenceDistance | O | ☑ | ☑ | |
| accessors | M | ☑ | ☑ | |
| reverbFeed | O | ☐ | ☐ | |
| reverbFeedGain | O | ☐ | ☐ | |
| MPEG_audio_spatial.listener | id | M | ☑ | ☐ |
| MPEG_texture_video | accessor | M | ☑ | ☑ |
| width | M | ☑ | ☑ | |
| height | M | ☑ | ☑ | |
| format | O | ☐ | ☐ | |
| MPEG_scene_interactivity | triggers | M | ☑ | ☑ |
| actions | M | ☑ | ☑ | |
| behaviors | M | ☑ | ☑ | |
| MPEG_scene_interactivity.triggers | TRIGGER_COLLISION | ☑ | ☑ | |
| TRIGGER_PROXIMITY | ☑ | ☑ | ||
| TRIGGER_USER_INPUT | ☑ | ☑ | ||
| TRIGGER_VISIBILITY | ☑ | ☑ | ||
| MPEG_scene_interactivity.actions | ACTION_ACTIVATE | ☑ | ☐ | |
| ACTION_TRANSFORM | ☑ | ☐ | ||
| ACTION_BLOCK | ☑ | ☐ | ||
| ACTION_ANIMATION | ☑ | ☑ | ||
| ACTION_MEDIA | ☐ | ☑ | ||
| ACTION_MANIPULATE | ☑ | ☐ | ||
| ACTION_SET_MATERIAL | ☑ | ☑ | ||
| ACTION_HAPTIC | ☐ | ☐ | ||
| ACTION_SET_AVATAR | ☐ | ☐ | ||
| MPEG_scene_interactivity.behaviors | triggers | M | ☑ | |
| actions | M | ☑ | ||
| triggersCombinationControl | M | ☑ | ☑ | |
| triggersActivationControl | M | ☑ | ☑ | |
| actionsControl | M | ☑ | ☐ | |
| interruptAction | O | ☐ | ☐ | |
| priority | O | ☐ | ☐ | |
| MPEG_node_interactivity | type | M | ☑ | |
| MPEG_node_interactivity.type | TRIGGER_COLLISION | ☑ | ☐ | |
| TRIGGER_PROXIMITY | ☑ | ☐ | ||
| TRIGGER_USER_INPUT | ☑ | ☐ | ||
| TRIGGER_VISIBILITY | ☑ | ☑ | ||
Planned for v1.0.0
The following extensions are planned
| Extension | Property | Requirement | Status | Test content |
|---|---|---|---|---|
| MPEG_anchor | anchors | M | ☐ | ☐ |
| MPEG_anchor | trackable | M | ☐ | ☐ |
| MPEG_anchor.trackable | TRACKABLE_CONTROLLER | ☐ | ☐ | |
| TRACKABLE_GEOMETRIC | ☐ | ☐ | ||
| TRACKABLE_MARKER_2D | ☐ | ☐ | ||
| TRACKABLE_MARKER_3D | ☐ | ☐ | ||
| TRACKABLE_MARKER_GEO | ☐ | ☐ | ||
| TRACKABLE_APPLICATION | ☐ | ☐ | ||
| MPEG_anchor | anchors | M | ☐ | ☐ |
Unimplemented
The following is a list of glTF extensions currently not implemented:
| Extension | Property | Requirement | Status | Test content |
|---|---|---|---|---|
| MPEG_sampler_YCbCr | ☐ | ☐ | ||
| MPEG_primitive_V3C | ☐ | ☐ | ||
| MPEG_node_avatar | ☐ | ☐ | ||
| MPEG_lights_texture_based | ☐ | ☐ | ||
| MPEG_light_punctual | ☐ | ☐ | ||
| MPEG_haptic | ☐ | ☐ | ||
| MPEG_mesh_linking | ☐ | ☐ | ||
| MPEG_scene_dynamic | ☐ | ☐ | ||
| MPEG_viewport_recommended | ☐ | ☐ | ||
| MPEG_animation_timing | ☐ | ☐ |