I’ve been using Unity’s XR systems for a while. But, I usually put all the components together myself, and don’t use Unity’s Locomotion system or anything like that.
Someone on reddit encouraged me to try out some of the sample templates again.
The fact I can’t figure out why I can’t walk under a 2 meter overhang, is making it to where I can’t use these presets.
Weirdly, the same thing happens with Meta’s OVRCharacterController prefabs too.
Both with the XR prefabs, and OVR prefabs, I’ve looked through the scripts to see what makes it to where I can’t walk under the 2 meter overhang.
If I keep the prefabs Origins set to ‘Device’ or ‘Eye Level’ instead of floor, they are fine. But I don’t want that. I want real world height. If I’m 1.8 meters in the real world, I should be able to walk under a 2 meter overhang in the virtual world. Especially if My character controller height is at 1.3 (which it is in the attached video).
Does anyone know where in the code I can disable this ‘feature’ that doesn’t let the player move if there is, what I’m guessing some type of camera collision?
Hi @mrphilipjoel ,
We were able to replicate this on our end as well. We are investigating if this is an issue with the Character Controller component or something in the XRI locomotion system. If you would like to officially file an issue for this, we can track it and hopefully get the right team to look into it. You can file a ticket from the Unity Editor by going to Help > Report a Bug…
We did some digging around what was happening with the CharacterController and discovered that the issue you are seeing is not unique to XR at all. In fact, it’s a somewhat expected behavior based on the nVidia PhysX character controller, which is what we use under the hood for this component. In the documentation it calls out how the Skin Width property and Step Offset are used to ensure clearance around the player. If you do not need a high step-up height for your project, you can reduce the step height to allow for tighter overhead clearance of movement.
Hopefully this answer unblocks you and others from the condition that you are seeing. We are working on adding some additional gizmo visuals to show the buffer zone around the main character controller volume so that it’s clear what is happening when those values are adjusted and ‘invisible’ collisions are happening.
I only had this issue when using the Sample components from Unity. If I built it myself, using the Character Controller component, with a height of 1.8m, and walked under a block that was 2m high, i went under it just fine.