I say semi-successfully becuase I couldn’t get Remote Deploy/Debug to work, but that doesn’t bother me at the minute if I can just hit Run Project to test it.
I have followed all the steps as far as I can see but the toggle does nothing. The hands just phase through it and nothing happens. It’s also constantly set to the ‘off’ colour, if that helps. I am testing by just pressing Run Project in the top right hand corner as I did for the previous VR tutorial.
Has anyone done this tutorial before? Is there some kind of common mistake that might be tripping me up? Could it be related to Export settings even though I’m not exporting anything (as far as I know) yet?
I’m not very experienced with Godot or AR/VR in general - the company I work for is looking into this as a low cost method of experimenting with augmented/mixed reality for a few applications, and the project’s now been given to me (the originator of the project was an enthusiastic VR hobbyist, but has since left the company). I am trying to catch up quickly, so if I’m missing knowledge that’ll be why.
When you run your XR application through the Run Project button, you are running it in PCVR mode.
If you have SteamVR as your default OpenXR client, you can not use passthrough over Quest.
If you have the Meta PC Client as your default OpenXR client, you have to enable the relevant beta features in the PC Client first or it will not allow you to use passthrough for security reasons. You also have to have the Godot OpenXR vendor plugin installed as it contains the passthrough code specific to Meta devices.
Passthrough works best when your application runs natively on the Quest. For this you also need to install the Godot OpenXR vendor plugin and properly configure an android export profile. Now remote debug should work and passthrough should be enabled.
Hi @mux213 , thanks so much for getting back to me.
This has helped me get remote debug to work, and the application does now run natively on the Quest (adb driver from Meta is installed, Developer mode turned on in the Horizon app, I can see the headset now when I run adb devices command). However, even when running natively, passthrough still does not turn on.
I know Steam VR can’t be the runtime, I haven’t ever downloaded it, and the Meta Quest Link App states that it is the runtime in its settings.
I have also enabled passthrough on the settings of the Quest Link App, although I am not sure if this is being used when I am remotely deploying and running on the headset itself.
Great to hear you got the remote debug option to work, that is going to make your life a lot better.
So when using Meta Link, which it looks like you’ve got setup correctly now, you run through the normal play button. This is running your game in PCVR mode. You do still need the vendors plugin as this implements Meta’s specific passthrough implementation.
When using remote debug, you’re pushing out natively through the Quest and running it locally and Meta Link is not involved.
Either way, passthrough should work and it’s likely that you’re missing some settings/privileges.
First open up Project Settings and scroll down to the XR/OpenXR option in the tree list. This should give you a screen with many OpenXR settings. In that list you should find passthrough options that need to be enabled, with the latest vendors plugin there should even be specific options to enable Metas passthrough.
Second, and this applies for running natively on Quest only, open up the exports window and scroll down the list of options in your Android Quest setup. There should be a section specific for Meta and in that section there should be a passthrough option that you need to set. Without that your application will not gain the correct privileges to run passthrough.
I have it working now! I didn’t realise I had to toggle Advanced Settings for the project settings permission to appear for passthrough. Thank you so much!