oculus-samples / Unreal-HandGameplay

Oculus showcase of hand tracking based interactions in Unreal.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IsHandTrackingEnabled called and crashes dedicated servers.

MichaelBurgess777 opened this issue · comments

Dedicated servers crashes when a VR player joins.

Visual studio debugger shows that the bug is from FOculusHandTracking::IsHandTrackingEnabled function.

In another project, I've fixed the crash by returning false before any null errors can be made. Though this fix would probably result in handtracking not working.

To get the debugger to work, you need to go into project files and enable 'include debug files', and then build the dedicated server build of the game. You then attach the process of the built dedicated server after you've launched it.

Thanks for the report!

Could you clarify the context of the issue? Are you running the sample project or are you using OculusHandTools in a different project?

If you're trying to run the sample with networking, that's not currently supported.

Thanks for the report!

Could you clarify the context of the issue? Are you running the sample project or are you using OculusHandTools in a different project?

If you're trying to run the sample with networking, that's not currently supported.

I've tested this bug on both my project and on this project. It's not the issue of the project not being multiplayer, it's that dedicated servers crash when a VR player joins.

If this would be best to put on another repo, please do redirect me.

This does seem to be an issue with the Oculus engine plugin.

That said, what code is calling IsHandTrackingEnabled? Are you using OculusHandTools or is the function being called from your code? Either way, the workaround (without modifying the function as you did) is to check for IsDedicatedServer before the call.

IsHandTrackingEnabled is called just from having the oculus plugin and joining a server. The solution I've found so far(while still annoying) is to just disable the plugin or return false while building the server. I imagine that removing the plugin would cause issues if the server has to execute any code from the plugin though.

I'll try using your solution and let you know if it works.

Thank you. :)