ValveSoftware / steamvr_unreal_plugin

SteamVR Input Unreal Plugin - Documentation at: https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki Sample project (UE4.15-4.23): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin.zip Sample Project (UE.424+): https://github.com/ValveSoftware/steamvr_unreal_plugin/wiki/sample/SteamVRInputPlugin_UEIntegrated.7z
Other
167 stars 29 forks source link

4.24 MotionController not tracked in new project #110

Closed insanepure closed 3 years ago

insanepure commented 4 years ago

hey, I just started VR Development for Unreal with C++. I'm following the VR tutorial here but I'm having some problems: https://docs.unrealengine.com/en-US/Platforms/VR/DevelopVR/MotionController/index.html

I set up my Controllers within my Pawn. They are displayed with the Display Device Model Flag by the MotionControllerComponent, so I can see them ingame. I set one as "Left" the other as "right". They are childs of the RootScene of my Pawn.

Now when I start the VR Preview, they are both on the ground. If i move my controllers, nothing happens.

Someone told me that adding a new input and rebuilding steam vr input bindings fixes the issue. I tried that and it works now. So, would be great if this is fixed for new users.

1runeberg commented 4 years ago

Hi @insanepure - which version of the Engine are you using?

There shouldn't be any need to rebuild the bindings for tracking with that tutorial.

insanepure commented 4 years ago

I'm using 4.24.1. I could reproduce this with c++ and blueprints following the official tutorials

1runeberg commented 4 years ago

HI @insanepure - Im unable to replicate the issue with 4.24.1. Cna you try the VR Template and see if you're gettign the same issue?

Also noticed with SteamVR Beta 1.10.1, this can be slightly unstable, so if you are using beta, switch to the production one - 1.9.16 and check if you're still having issues.

Cheers, Rune

insanepure commented 4 years ago

In the VR Template, I did not get this issue.

The issue only appeared with a new project (no starter content) and following the tutorial. I was using the production SteamVR and had this issue, so I switched to Beta but got the same issue.

I will try again and make a better step by step reproduction.

1runeberg commented 4 years ago

Hi @insanepure

I've taken a closer look at this today. I'm a bit too familiar with these tutorials so I was getting ahead of myself and adding configs which comes in later steps/tutorials from memory.

It seems that if I stop at where you're testing - i.e. just poses and no inputs, you won't have the motion controller updating its poses.

The plugin itself is generating the correct json configurations, the issue appears to be with SteamVR itself. I'm looking at this bug now and will update you here.

@kisak-valve - can we move this to OpenVR and keep me as the assignee if possible please? Otherwise we can just keep it here but will work on the fix from the steamvr end. Thanks.

1runeberg commented 4 years ago

Hi @insanepure

Finally tracked down the issue. It was a bit fiddly to trace through steamvr and the plugin code, but bottomline is a fix is available in this commit (hopefully for release in UE4.24 Hotfix 2):

https://github.com/EpicGames/UnrealEngine/pull/6459/commits/15be362d03e2a21a82d290d64dc5e7ac60dccfda

@kisak-valve Sorry, can we move this back to unreal_plugin please :)

insanepure commented 4 years ago

Awesome, that was quick.

simongloor commented 4 years ago

Finally! I was looking for this bug for days. I thought I was doing something wrong. ^^

I just wanted to add that the motion tracking on a Windows Mixed Reality device won't work as long as there is no button of it assigned, even if you add inputs for other motion controllers.

1runeberg commented 4 years ago

Finally! I was looking for this bug for days. I thought I was doing something wrong. ^^

I just wanted to add that the motion tracking on a Windows Mixed Reality device won't work as long as there is no button of it assigned, even if you add inputs for other motion controllers.

Thanks for the feedback @simongloor - just double-checked that the fix should take care of this as well. But do let us know if it's causing you issues. This fix should come out in 4.24.2.

Qwigs commented 4 years ago

Note on this, I got this same issue yesterday on 4.24.3 and think turning off Oculus Plugin fixes it. Is this possibly a multi-cause issue? Is there a fix for the cross-talk problem in the future?

1runeberg commented 4 years ago

Hi @Qwiggalo - possibly not without an engine architecture change. OpenXR is meant to resolve this, but for now, either plugin must be turned on or off depending on which platform you wish to test on.

insanepure commented 3 years ago

I just closed this as it was fixed here: https://github.com/EpicGames/UnrealEngine/commit/15be362d03e2a21a82d290d64dc5e7ac60dccfda