VIVE - Jitter on MotionController component

UPDATE: This doesn’t seem to be hardware or driver dependant. Tested on a 6700K and AMD 390X and the same ghosting jitter is present in 4.11.2

Noticing this behavior in 4.11.2 and 4.10.4, but it may be related to hardware or driver (as I don’t recall seeing this on my GTX 980 machine).

While using MotionController components with meshes attached (on either a Pawn or Character) as recommended in this linked article I’m noticing significant jitter on the attached meshes. This also occurs when doing a Debug Draw Frustrum operation directly on the world transform of the MotionController components.

The jitter isn’t noisy vibration, it looks like a double image of the controllers whenever they move. I think the transform update on the controllers isn’t running at frame rate (90fps), but I’m not certain.

The world looks good (besides the squishy chaperon) and the frame rate appears solid. This jitter doesn’t occur in the Steam VR menu or any other games I’ve tested.

This reproduces for me in a completely clean C++ project in 4.11.2 with a pawn/character using the VR Camera Refactor setup and the recommended MotionController component setup.

My PC is running two GTX 780’s (occurs both in SLI and SLI-Disabled) and I’m on driver 364.72 in Windows 7.

Same problem here (double image of the controller and attached meshes, everything else is fine). I started the project with only a few static meshes and static lights and disabled everything I could to get all the performance I (might) need. Playing around with different rendering options in the project settings did not help at all. All other Steam VR Games/Apps (30+) run without any issue.

Win 10 64bit / UE 4.11.2 / NVIDIA drivers 364.72

Exactly the same “ghosting” effect is present on my setup, again performance does not seem to increase/decrease it. Would be nice if someone at Epic could confirm.
Also on ue4.11.2

I’ve got the same issue. It’d be nice if someone from Epic would chime in on this issue and let us know if we’re doing something wrong. I’ve also tested on a packaged game, hoping it was just an editor thing but the issue still persisted in the packaged game.

Same problem here (i5-4590 GTX-970). I tried Unity with the Steam VR plugin and it runs flawlessly, no jitter, so it must be a problem with UE 4.12 (no hardware or pc setup).
Can someone from Epic please look into it please?

Problem persists for me as well on the 4.12 release. Even with default scene with two scaled spheres attached to the motion controllers. Makes me anxious to continue development in UE if this isn’t on the list of things to be fixed.

Try to disable the Ambient Occlusion (as far as I know there are three ways how to do that):

  • Project Settings > Rendering > Default Postprocessing Settings
  • Post Process Volume
  • Camera Settings in the Pawn Blueprint

Already done in my project in all 3 of those places; Jitter still persists. Also tried this with a blank project: same result.

Switching it off in the project settings (I don’t use a post process volume) solved the problem for me.

93355-project+settings.jpg

I just tried [Pool Nation VR][1] which runs on UE4.11.2 (as far as I can tell from the files) and it has some nice in-game quality settings. It could be a performance issue after all since higher quality settings have the same ghosting/jitter effect to the controllers and the world. I will look into that and keep you updated.

Seems to be completely related to Performance. I checked my frame timing in Steam VR and noticed that while I wasn’t “Dropping Frames” my GPU was nearly fully utilized. I stripped and stripped until I had some GPU overhead and the jitter on the controllers disappeared.

There must be some time warp feature that is hiding the jitter on head rotation. Not sure why performance suddenly dipped so dramatically for me, even basic scenes are using almost all of my GPU currently.

To see if this is the case for you; Open “SteamVR beta”, load and run your UE4 content, Enter the SteamVR Settings menu, select the Performance tab, then click “Display Frame Timing”.

That should get you a pop-up screen like this:

Get your GPU down like I have (by hiding/deleting/disabling anything you can) and check for motion controller jitter again. In my case the jitter is completely gone when I’m under 10ms on the GPU.

I think that there has been some form of performance regression (or a timing issue regarding late latching with the compositor), but I don’t have a specific line of code I can point to. :frowning:

Hopefully this helps folks work around, and Epic narrow in on the issue.

The problem is solved for me with UE4.13.0 and the vr project template (details see here). I would recommend to start a new vr project with the settings ‘Mobile / Tablet’ and ‘Scalable 3D or 2D’ and start changing settings from there.

I have installed:

  • SteamVR 1473196558 (latest update but no beta)
  • Windows 10 (all updates but no insider program)
  • NVIDIA drivers 372.54 (not updated to the latest ones yet)

Thank you! This fixed it for me.

I’m not sure if this is the same issue my team and I were having, but give this a go…
Open the controller BP, click on the controller component and enable “Disable Low Latency Update” in the details panel.

This seems to inded make the controllers smoother (on 4.14.1) however, there’s a huge latency. Seems like a UE4 problem. I also noticed the issue with the controller ghosting/slow refresh rate & jittery update on The solus project when playing it with the HTC Vive.

Hit this problem, but it only showed up in a network client when late updates were enabled. The late updates on the HMD were fine, but for the motion controllers they weren’t working correctly. I traced this to a race condition - the HMD updates were buffered, while the motion controller were not. What was happening was the expected events of setup, late update weren’t happening with how the cpu was running, so the late updates were trying to apply to the wrong data for that render frame. Changing the motion controllers to buffer for the updates like the HMD fixed the problem. This was initially in our own motion controller class, but I made a pull request for the same fix into the standard Epic ones. Motion Controller Fix Pull request

I’ll just add my 2 cents. This is occurring for me as well, on both Oculus and Vive on a GTX 1060 in a very simple scene at solid 90fps.

I can also confirm that the “Disable Low Latency Update” option does seem to work, but introduces a more subtle lag as well.

Is anyone from Epic weighing in on this issue?

Is TurtleSimos’ proposed fix getting into an official build version?

Any luck with this?

I am still seeing this issue in ue4 15.1, are they ever going to fix this or publish a work around? I am working on my thesis where I am using Vive trackers to track both real musical instruments and a Perception Neuron motion capture suit. I am using one Vive Tracker on the keyboard to establish the initial location, and adding then I am adding a UI button to update the position when needed due to the fact that nothing I do will allow me to track it continuously without jitters. This really isnt a problem for the keyboard, but it is for establishing my tracked characters position. I can’t even attach a static mesh to the motion controller without seeing this issue. I have tried disabling low latency update, it still suffers form this issue. I don’t want to have to move my project back to Unity this far into the game, and I would much rather use UE4 and I desperately need a solution to this issue. Any help would be greatly appreciated.