maui
maui copied to clipboard
Feature Request: WebView Support for Android Meta Quest in .NET MAUI
Suggestion: Integration of Meta Quest WebView Support within .NET MAUI for Android
Description
This feature request proposes extending .NET MAUI's capabilities for Android applications targeting Meta Quest devices. While .NET MAUI currently utilizes the native Android WebView, it lacks optimizations for VR environments.
Proposed approaches for integrating Meta Quest WebView support:
-
Custom WebView Wrapper: Develop a platform-specific implementation leveraging a lightweight web rendering engine optimized for VR. This approach offers granular control. This allows for detailed control over VR interaction, letting users navigate and interact with web content naturally within the Meta Quest environment. Making use of the native VR interaction methods available e.g. using 3D UI elements for navigation and control including any gesture support etc.
-
Non UI Mode with External Browser Launch: For scenarios where basic web browsing suffices, explore launching the system's default browser using Process.Start(string url) in C#. This provides a simpler solution but limited control within the application.
Current Limitations:
- The prepackaged WebView2 runtime in .NET MAUI is designed for Windows and not compatible with Android.
- The native Android WebView component might have limitations on Meta Quest due to a customized Android system and security/performance considerations.
Benefits:
- Enables creation of .NET MAUI applications with web browsing functionalities for Meta Quest.
- Expands the VR development capabilities of .NET MAUI on Meta Quest.
- New opportunities for enhanced experiences adding a new dimension of interaction for existing content
Considerations:
- Consider common VR development platforms to provide a more integrated WebView solution for .NET MAUI including performance optimisations.
Public API Changes
- Update WebView wrapper for Android (extended for mobile VR experiences)
- Add WebView wrapper for Android on Meta Quest
Intended Use-Case
Introduce WebView functionality in .NET MAUI for apps aimed at Meta Quest on Android, considering Meta Quest's specific system requirements and the existing WebView's limitations.
It can be implemented by a customized WebView optimized for VR, or a headless mode to launch an external browser for basic web access, enhancing .NET MAUI's VR capabilities on Meta Quest.
This includes optimizing performance, ensuring security, and possibly partnering with Meta or other VR platforms for a seamless WebView integration, expanding the development possibilities within the .NET MAUI framework.
By implementing a WebView solution tailored for Meta Quest in .NET MAUI, developers can create more versatile and feature-rich VR applications.
Hey @tauheedul thank you for this great write-up! This is definitely a good feature request with some good amount of detail.
I'll add it to the backlog, but I have to be honest and manage expectations... I think at this point this is not a priority to us. If you (or someone) would want to open a PR adding this which is a small change and does not regress the Android WebView on non-VR platforms, we might consider taking it. But I don't think we will be working on this anytime soon from our side.
Thanks!
There will be a limited edition of an Xbox branded VR headset on Meta Quest's Android Horizon OS. This feature would be particularly useful on these.
Source
- https://www.roadtovr.com/meta-to-open-quests-operating-system-to-third-party-headsets-marking-a-massive-shift-in-strategy/
- https://manofmany.com/tech/meta-horizon-os
- https://www.meta.com/en-gb/blog/quest/meta-horizon-os-open-hardware-ecosystem-asus-republic-gamers-lenovo-xbox/