Unity on Xbox One - Camera/Rigidbody Visual Movement Hiccup

303 views Asked by At

This is posted here since this is Xbox specific, but I am also posting this onto the Unity forums.

When testing my Unity game on Xbox One I am getting a very large amount of visual "jitter" from the ball. This is a skeeball game where you control the movement of the ball. Essentially the core of the movement is similar to the Rollerball tutorials. On PC this works fine and there are no perceptible jitters. However, on Xbox, I am seeing this a lot more. The object is travelling large distances with the camera following smoothly behind. None of the other objects or scenery are affected, I actually think the camera itself is moving perfectly. But, the ball itself seems to glitch.

Changing my camera movement to LateUpdate seemed to minimize it the most on the PC, but that doesn't make sense to me since I am still not convinced the camera is the problem.

Any help would be greatly appreciated. Perhaps a quality setting isn't placing nice with the Xbox?

Thanks! Nick

2

There are 2 answers

1
Gersh Payzer On BEST ANSWER

Keep in mind the clock speed of the CPU on the Xbox is likely much slower than your PC (although there are more cores).

Unity is primarily single threaded, so that could explain the performance difference. Here are some things you can try: * Make sure you are running the "Master" build on Xbox. The default is "Debug" which is significantly slower. * It's possible it's something with the physics.

Once you've checked to make sure you aren't running Debug, the next step would be to use the Unity profiler to see where your frame time is being spent, then depending on what the cause is optimize that part.

Here is more information on the system resources: https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/system-resource-allocation

There is also a great post about the graphics debugger here: https://tarhik.wordpress.com/2017/09/04/antimatter-instance-dev-log-entry-2-using-microsofts-graphic-debugger/

0
Nick On

It looks like switching the RigidBody to use "Extrapolate" instead of "Interpolate" fixed the issue I was seeing. I am not sure if this works for every situation, but for the scale of the levels and the player physics of my game this seemed to do the trick.