NeoSpark314 / godot_oculus_quest_toolkit

An easy to use VR toolkit for Oculus Quest development using the Godot game engine
MIT License
367 stars 38 forks source link

ovrUtilities.is_oculus_quest_1_device does not exist #59

Closed goatchurchprime closed 3 years ago

goatchurchprime commented 3 years ago

I had to comment out the two lines at startup in vr_autoload that do the following logging:

    log_info(str("      is_oculus_quest_1_device: ", is_oculus_quest_1_device()));
    log_info(str("      is_oculus_quest_2_device: ", is_oculus_quest_2_device()));

This looks like it could be an updated function in a more recent version of the godot_ovrmobile addon asset than comes in the AssetLib (v 3.0.1)? Have I got that right?

I prefer not to commit that binary libraries into my source code repo. Is there a way to read the version of the library that's loaded and give an warning that it is less than what your toolkit expects?

NeoSpark314 commented 3 years ago

yes; there is a gap between the official oculus mobile plugin and what is supported in the toolkit; the toolkit is based on a branch (you can find it here: https://github.com/NeoSpark314/godot_oculus_mobile). One of the reasons for the branch is that the Mixed Reality Capture support is not yet ported into the official oculus mobile plugin. So there are some differences on the API and which functions are exported.

goatchurchprime commented 3 years ago

There's a really huge difference between these versions. I copied the addons/ovr_mobile file across as you can see...

image

image

Now that I deleted the backup Dgodot_ovrmobile directory it worked (I'm after the hand-tracking).

What is the right thing to do? I originally had the OQ_Toolkit not in my repo, but then my project wouldn't open when it's not AssetLib imported in, so I copied across just that directory of source code files. I've not been able to see the best way to handle these dependencies.

Given how easy it is to get into this pickle, at the very least we need some detection and warning about what needs to be fixed. Maybe an error message if the expected functions are not in the library telling us where to get it from for the time being.

NeoSpark314 commented 3 years ago

currently the best thing to do is to use the ovrmobile version that is part of the OQ_Toolkit here on this repository https://github.com/NeoSpark314/godot_oculus_quest_toolkit/tree/master/addons/godot_ovrmobile; this is what I test with when developing

For the assetlib I'm not sure but I hope it also just includes the correct version of the ovrmobile from this repo here but I need to check this...

NeoSpark314 commented 3 years ago

Adding a check is a good idea; I will add something like this and log it as an error