Unity Motion Smoothing: Fixed Timestep Interpolation

Added:

Stutter Issue
Update Loops
Root Cause
Smooth Motion
Implementation

Stutter Issue

0:00
Playing Section
  • 1

    Demonstrates stuttering from mixed update loops.

  • 2

    Shows smooth result after applying correction techniques.

The distinction between Unity's Update (rendering loop) and FixedUpdate (physics loop) execution cycles.
The concept of Frame Rate (FPS) variability and how asynchronous rendering and physics steps can cause visual stutter (micro-stuttering).
Basic mathematics of linear interpolation (Lerp) and extrapolation, and how they estimate intermediate values between data points.
How Rigidbody components work in Unity's physics engine (PhysX) to control object movement and simulation.
Networked physics and state synchronization, including client-side prediction, interpolation, and reconciliation in multiplayer games.
Advanced custom interpolation systems for non-Rigidbody movement, such as script-based camera tracking and kinematic transforms.
Utilizing Unity's Data-Oriented Technology Stack (DOTS) and Unity Physics for high-performance simulation and rendering interpolation.
Frame-rate independent design patterns, ensuring game logic, inputs, and animations behave consistently across varying hardware specifications.
61.3K views1.8Klikes9:28@KinematicsoupOriginal Release: 2017-05-26

Unity's semi-fixed time step system causes stuttering motion when objects are moved in different update loops (update vs fixed update), as these loops run at different rates; the solution is to either move all game logic to a single update loop or use interpolation to smoothly interpolate object positions between fixed update steps, which requires storing the two most recent fixed step positions and applying a global interpolation factor during update frames.