ROBYER1 Posted January 30, 2022 Share Posted January 30, 2022 (edited) When using OpenXR with SteamVR as the default system OpenXR runtime and using multiple SteamVR supported devices together e.g. Vive Cosmos and Vive Trackers/Oculus Quest and Vive Trackers, the play mode/headset view will be black with SteamVR reporting ' CEF Local Resource Load Error: http://localhost:27062/app/image?app_key=system.generated.unity.exe&version=1.21.6 -> 404 (Not Found)' See a video of this happening here, it is blocking me from working on a tool for using Vive trackers in OpenXR. I stress that this worked fine for me before I moved to using OpenXR, using OpenVR for this works totally fine but I want to support OpenXR for Vive trackers in Unity for my tool!https://www.youtube.com/watch?v=3hVtffm324s How can we reproduce it: Download this repro project:https://drive.google.com/file/d/1Qv0bpq4ZdZoCQU5A7edSoBQeCrl3CYe_/view?usp=sharing 1. Install Unity 2021.2.8f1 2. Install SteamVR Beta 1.21.6 3. Set up your Oculus Quest 2 via Oculus Link or Vive Cosmos (without SteamVR tracking faceplate) 4. Set up at least 1 SteamVR base station and Vive tracker Now to set up multiple drivers with SteamVR, this is a supported feature of SteamVR Below steps you can follow this video if it helps, it is a popular setup for steamVR games that use Unity like VRChat where people use multiple steamvr supported devices in the same play space as kit is interchangeablehttps://www.youtube.com/watch?v=JnX8NK-lsPY 5. Install OpenVR space calibration - https://github.com/pushrax/OpenVR-SpaceCalibrator/releases 6. Go to your steam installation e.g. C:\Program Files\Steam\steamapps\common\SteamVR\resources\settings 7. Open default.vrsettings with notepad or VS Code to edit 8. Change 'requireHmd' value from true to false 9. Change activateMultipleDrivers from false to true 10. Save the file 11. Open SteamVR with your tracker and headset of choice switched on + the steamVR base station 12. Goto SteamVR settings - Startup/Shutdown - Choose startup overlay apps - enable Space Calibrator 13. Goto SteamVR settings - Advanced settings - show 14. Goto SteamVR settings - set steamvr as Current OpenXR runtime if it isn't already. 15. Open OpenVR Space Calibrator through the steamVR overlays menu (SteamVR menu - third dot on the bottom right from the right, looks like a compass) 16. Select reference space - your headset controller you are holding and choose the vive tracker in the target space. 17. Choose calibration speed - slow and click start calibration to calibrate the play spaces then hold the tracker and controller together while drawing an infinity symbol with your hand in your play space to help calibration. 18. Verify the tracker and controllers line up in the same play space, if not try calibration again or refer to this clip of the video: https://youtu.be/JnX8NK-lsPY?t=308 (We are nearly there!) You can watch my repro video of this here https://www.youtube.com/watch?v=3hVtffm324s 19. To repro now, turn on SteamVR, turn off the vive tracker and base station, just keep your headset on or ready 20 Open the project in Unity 2021.2.8f1 21. Verify in Project settings - XR Plug-In Management that OpenXR is the default target 22. Verify in Project settings - XR Plug-In Management - OpenXR - Play Mode OpenXR Runtime set to System Default 23. Also verify in Project settings - XR Plug-In Management - OpenXR that Oculus Touch Controller Profile and HTC Vive Tracker profile is in the list if you are using Oculus, if you are using Cosmos (make sure it is without the steamvr tracking faceplate add-on), you can add the Vive Cosmos controller profile but it will cause an error with SteamVR as SteamVR OpenXR doesn't support the Cosmos controller profile yet somehow so leave that off but make sure HTC Vive Tracker Profile is in the list 24. Open Scenes - Controller sample, with just your headset on click play and verify the scene opens SteamVR for OpenXR and works fine for at least the headset tracking, Vive Cosmos as mentioned the controllers will not track either way (I will report that as a separate bug). 25. Now, keep the scene running and switch on the SteamVR base station and Vive Tracker, wait for them to connect. If you open the steamVR overlay you should see the tracker show up while connected. 26. Now the scene view should go black, open SteamVR - Developer - WebConsole to see logs for this reporting this error 'CEF Local Resource Load Error: http://localhost:27062/app/image?app_key=system.generated.unity.exe&version=1.21.6 -> 404 (Not Found)' 27. If you stop play mode and try again the view will be black and nothing tracks, this will continue until you close SteamVR + Unity and just with only the headset on (no base station or trackers on) and repeat from step 19 of this repro. Refer to this repro video to see it at this timestamp exactly as soon as the vive tracker connects it all goes blackhttps://youtu.be/3hVtffm324s?t=37 Edited January 30, 2022 by ROBYER1 Link to comment Share on other sites More sharing options...
Alex_HTC Posted January 31, 2022 Share Posted January 31, 2022 A few things that stick out immediately: 1) It seems that there's a steamvr configuration issue based on " ' CEF Local Resource Load Error: http://localhost:27062/app/image?app_key=system.generated.unity.exe&version=1.21.6 -> 404 (Not Found)'" - tons of threads around steamvr setup not working 27062 port vive and seem to be related to steamvr not working 2) The controller in the sample is an oculus controller. There's a whole nest of issues there right now -- the mappings for that vendor would need to get added (why there were errors looking for cosmos controlelrs there) and more concerning is that the vendor uses a non-standard openxr loader, so I'm unsure what to expect when loading using the standard khronos openxr loader with that device. To step back -- what is the goal here? Link to comment Share on other sites More sharing options...
ROBYER1 Posted January 31, 2022 Author Share Posted January 31, 2022 @Alex_HTC the insight about the 27062 port not working is something I will investigate. I tested this setup with an Oculus Quest + Vive trackers and separately with a Vive Cosmos (non steamvr tracking plate) + Vive trackers so please ignore anything about controllers this setup should work with a mix of SteamVR devices. Basically I have this setup of an Oculus Quest 2 + Vive tracker play space synced working strictly with SteamVR through OpenVR in Unity game engine. I saw that OpenXR supports Vive trackers now and the OpenVR plugin for Unity is abandoned now so I needed to update a tool I am working on that uses Vive trackers in Unity to use OpenXR plugin. This is when I noticed this black screen issue which only happens with OpenXR not OpenVR. My assumptions here are that OpenXR falls over in SteamVR when these combinations of devices are used when they worked perfectly fine together in OpenVR and I'm trying to figure out if the cause is Unity's OpenXR Plugin/SteamVR itself/OpenXR itself or all 3 Link to comment Share on other sites More sharing options...
ROBYER1 Posted January 31, 2022 Author Share Posted January 31, 2022 I can also confirm the same issue happens when using the SteamVR null driver instead of a headset and a Vive Tracker + Base Station just to test out the tracker. I'm at a loss at what else I can do other than get this issue raised through Unity and Steam Support who I have sent bug reports to both of Link to comment Share on other sites More sharing options...
dario Posted August 17, 2022 Share Posted August 17, 2022 Hi, is this re: the mixing OpenXR and OpenVR thread on Unity forums? It's not recommended to use both runtime's interfaces in the same app. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now