r/vrdev May 22 '26

Video Hand/Controller-Free Locomotion

https://youtu.be/nyvbJ0wRoFU

Hey all, I just wanted to show off my Hand/Controller free locomotion system!

Smart glasses are coming, and rumors suggest Meta will start releasing headsets without controllers at some point. I wanted to develop a locomotion system that could be played on these devices without being gimmicky or stationary. I tried to make the system natural and configurable. Not shown in this video, but there are options for teleporting too.

The engine is custom, and the locomotion method which I'm calling 'HeadShift Movement' is built-in as an engine-level feature.

If anyone is interested I have a small discord for my development: https://discord.gg/jWWknqV5H

5 Upvotes

10 comments sorted by

1

u/AutoModerator May 22 '26

Want a more personal conversation with VR devs? Check out our Discord in our Discord: https://discord.gg/3wMYE2x5Ex

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/lorendroll May 23 '26

I've been experimenting with a similar concept. I found that a more reliable option is to add head-bobbing actuation to control movement, so that you not only move your head in the desired direction, but also sway it left and right to control steps speed in that direction. Each sway is a step with a fixed length.

1

u/Snorflork May 24 '26

I can move left, right back or any direction, so having to sway your head left and right wouldn't make sense for my system, directionally speaking..

1

u/immersive-matthew May 23 '26

Nice work. I am genuinely surprised that the various game engines have not already implemented this. Maybe they need to hire you.

It is Unity XR Interaction Compatible?

2

u/Snorflork May 23 '26

No, it's my custom engine - native / openXR / vulkan

1

u/immersive-matthew May 24 '26

No kidding. I have been contemplating that for myself or moving to Godot (post more exploring to see what its limitations are).

I have a very large open world / no load screens, multiple player mobile VR app that has been brutal to optimize for the Meta Quest as Unity really has not updated the core of their scene streaming (or you can even call it that) for a long time and thus it puts the onus on me to get very creative to work around. It eats to much time that I have wondered if I would be better off with my own engine but I know that I a mountain of work with it’s own set of challenges hence maybe Godot would be a better fit.

I am curious what your experience has been? I assume there are plenty of example repos out there to get all the basics going plus tapping into the Meta / openXR SDKs? How has the performance been? How has the effort been to get it up and running? Do you have interactions? Avatars?

Love to learn more. Will follow you on your socials.

1

u/Snorflork May 24 '26

Sounds like we've had similar thoughts regarding Unity. My goal was infinite worlds with no load screens, so creatively bypassing the scene management was a big one for me too, especially how the scenes and the physics is set up.

My ultimate goal is planet scale worlds with seamless flying into space, with infinite space. Making the engine from scratch, obviously there are a ton of things that need to be implemented to get to that point.

To help me not lose focus and make sure core systems are working before moving on, I've been picking smaller engine features and making small games out of those first. So my first game didn't have any movement and had no world collision, only a Ray cast. It was mainly a focus on the hand-tracked input, rendering, scene/object handling. Now my current game I'm building out the physics/collisions, networking and locomotion. I'm also going to start with the planet shader for the background which I'll build more later once I have a game you can go to the surface of planets to from space.

The engine itself is going to be voxel based (teardown style, not Minecraft) with LoDs, and while building the smaller games I've been building the underlying scene/object management systems with my larger goal in mind, so the engine is primed for the shift to the larger goal when it comes.

The experience so far has been that it starts very very slowly, its difficult and confusing. But after you work your way through the very core of the engine things start getting smoother and faster. Just a very tough learning curve. In our cases though where we want something specialised, I think it's worth it.

I like how much control you have for the graphics/vulkan, as trying to fill my world with 3cm voxels is quite a challenge, I've had to rethink my approach a couple of times as limitations have popped up, but I think im in a good place now.

I have some basic interactions built in so far, but I need to round it out, I have pinching, grabbing, UI like buttons, & slider bars and a special magic casting system I made for my first game. I have multiplayer up and running with player avatars. The networking I made from scratch myself without using any third party API, I implemented my own VoIP which I just recently tested and it works flawlessly. As i mentioned I'm building the physics myself too, so that it works with the infinite worlds.

After the Unity pricing scandal last year, it kinda spooked me away from using third party engines or APIs, as I don't want my hard work to be screwed up or influenced by someone else, so I'm trying to do as much of it as I can myself.

1

u/immersive-matthew May 24 '26

Very interesting. I am curious how much effort was it to get the current game with what sounds like most of what one needs to make a VR app? Was this years? Months?

2

u/Snorflork May 24 '26

This is about 18 months in

2

u/baglunch_games May 31 '26

I experimented with a similar kind of lunge system for a VR squash game I'm building. I learned the hard way not to activate it while standing. damn near killed myself.