Jump to content

smeer

Verified Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by smeer

  1. @VirtiLukas I think you should be able to see the device names in the XR Interaction Debug window (Window -> Analysis -> XR Interaction Debugging, in the Input Devices tab). If not, also try taking a look in the Input Debugger or take a look at the props at `InputDevices.deviceConnected` via a breakpoint. For debugging purposes, I also recommend stepping into the places in the code that I mentioned in my previous answer.
  2. @Romain Disclaimer: Most of this I found through debugging and reading the docs, so take it with a grain of salt. The devices (HMD + Controllers) are recognized by Unity, but because no layout exists, the default layouts (XRHMD and XRController) are used as base. Unity then goes through the list of device capabilities, looks for a matching InputControl in the inherited base layout, and if none is found creates a new one. Here are the capabilities of the HMD for example -- and as you can see, the names do not match with the ones commonly used. What I did was simply adding aliases for those properties. When building the managed representation of the device (and the InputControls), Unity then uses the common names instead of the WaveSDK names, hence GetChildControl() will find them by their common name. The mapping of primary/secondary etc. is probably already done on the native side that provides the capabilities. I based those classes on layouts I found in the Oculus XR Plugin btw. They seem to be doing something similar. Also take a look at XRLayoutBuilder#Build() -- that's where the InputControls are created. Regarding workaround A; not sure how you would access them. The controllers do also use common usages (like "GripButton"), though, but maybe you would have to create the paths manually using the path syntax.
  3. Same issue here. Having debugged it a little, I think I found two possible workarounds. A.) Accessing the devices via common usages seems to work. E.g. use "CenterEyePosition" for the camera position. B.) (Probably better.) Register your own layouts. Here's an example I created for our own project (largely untested): https://gist.github.com/simon-meer/c4de3103daf62756cc13d6739f25acd5 Simply add somewhere and it should work.
×
×
  • Create New...