Open XR support
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Implement OpenXR for Stride. Similar to the other VR backends.
Previous work on this was halted unfortunately.
Discussion: https://github.com/stride3d/stride/discussions/1848
Open Collective: https://opencollective.com/stride3d/projects/openxr-support
Feature Request: Implement OpenXR Support in Stride 3D
Summary
Adding OpenXR Support by integrating a robust version into Stride. OpenXR provides a unified API for VR/AR devices, making it a critical feature for modern immersive applications.
Objectives
-
Implementation Goals
- Enable OpenXR support similar to existing VR backends.
- Verify compatibility with VR headsets and mobile devices.
- Ensure integration aligns with the current VR abstraction layer, requiring potential small adjustments.
-
Bare Minimum Functionalities
- Basic head tracking and controller input.
- Rendering compatibility for OpenXR-enabled devices.
- Workflow adjustments to support OpenXR on mobile platforms.
-
Current Developer Issues
- Lack of proper documentation and examples for using OpenXR with Stride 3D.
- Vulkan support requires fixes for a seamless VR experience.
- Developers report challenges with the VR abstraction layer's alignment with OpenXR requirements.
-
Testing and Platform Support
- Test OpenXR implementation on popular VR headsets (e.g., Oculus, HTC Vive).
- Test mobile compatibility for AR/VR applications.
- Focus on Vulkan support (DX12 support deemed unnecessary for this phase).
-
Documentation Needs
- Guides on using OpenXR for VR/AR workflows in Stride.
- Examples for common use cases (headset setup, rendering adjustments, etc.).
Benefits
- Unified VR/AR Development: OpenXR eliminates the need for multiple SDKs, simplifying development for multiple VR platforms.
- Cross-Platform Compatibility: Mobile and headset support expands Stride 3D's utility for AR/VR developers.
- Future-Proofing: OpenXR is the standard for XR development, ensuring Stride 3D stays competitive in immersive tech.
Related Links
Next Steps
- Test and validate the OpenXR implementation on supported devices.
- Fix Vulkan support issues to ensure compatibility.
- Create detailed documentation and guides for developers.
- Gather feedback from the community to prioritize additional improvements.
Open Collective Project
https://opencollective.com/stride3d/projects/openxr-support
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing Stride’s existing VR backends and VR abstraction layer, then read the linked discussion for the halted OpenXR work and unresolved requirements. Confirm the scope for head tracking, controller input, rendering, Vulkan, and mobile support before implementation. Done means a working OpenXR integration with validated device support and the requested documentation and examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- ar-vr-xr, computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100