Quick answer: Set the Rigidbody to Interpolate, and move camera-follow code to LateUpdate — it must read the interpolated transform, not the raw physics one.

The player Rigidbody has Interpolation on, but the view still stutters. The camera follows in FixedUpdate, reading the un-interpolated physics position.

How Interpolation Works

Physics runs at a fixed step (e.g. 50 Hz). Interpolation smooths the visible transform between physics steps so it’s correct every render frame. But the smoothing is applied after FixedUpdate — visible by Update/LateUpdate.

Camera Follow in LateUpdate

void LateUpdate()
{
    transform.position = target.position + offset;
}

LateUpdate runs after Update and after interpolation is applied. The camera reads the smooth transform — no stutter.

Don't Follow in FixedUpdate

Camera follow in FixedUpdate reads the stepped, un-interpolated position. At 50 Hz physics and 144 Hz display, the camera jumps in physics-step increments — the stutter you see.

Body Settings

Verifying

Move the player. The camera tracks smoothly at any display refresh rate. No micro-stutter even at 144+ Hz.

“Interpolate the body, follow in LateUpdate. The camera must read the smoothed transform.”

Cinemachine handles this correctly by default — if you’re hand-rolling camera follow, LateUpdate is the rule.