ultraleap/OpenXRHandTracking

Layer fails to load

maluoi opened this issue · 2 comments

I just went through the setup steps, but ran into a bit of trouble! The API layer fails to load, and I'm not certain .

I'm running WMR and OpenXR Loader 1.0.9. xrEnumerateApiLayerProperties shows the XR_APILAYER_ULTRALEAP_hand_tracking layer as present within my project, and the WMR OpenXR Dev Tools also report the layer as present. But starting an instance with it in the layer list generates an error.

Here's the error:

Error [GENERAL | xrCreateInstance | OpenXR-Loader] : ApiLayerInterface::LoadApiLayers - failed to find layer XR_APILAYER_ULTRALEAP_hand_tracking
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : Failed loading layer information

Any ideas? I'm still digging, but I figured I'd make note of it here.

Code for reference:
https://github.com/maluoi/StereoKit/blob/develop/StereoKitC/systems/platform/openxr.cpp#L100
Specific commit that adds API layers:
StereoKit/StereoKit@f42e48a

Looks like the XR_APILAYER_ULTRALEAP_hand_tracking layer is implicitly loaded already, and explicitly stating it for xrCreateInstance caused the error! Removing the API layer from my API layer list caused this to work properly :)

Thanks @maluoi, glad that you worked it out on your own. We have already made this more obvious in our documentation which will be in the next release.