Smooth Camera Follow
A camera that eases after its target with lag and look-ahead instead of hard-locking.
Examples
Captured from this page's own interactive demo below.
Overview
A smooth follow camera trails its target through damped interpolation (SmoothDamp or an exponential lerp) instead of copying its position every frame, often aiming slightly ahead of the movement direction so the player sees where they're going.
Hard-locking reads badly in both directions: the world appears to jerk with every twitch of the target, and the character sits glued to dead center like a paper cutout. Lag separates the two — the character visibly moves and the world visibly responds, which is what makes motion feel like motion.
The look-ahead component is about information as much as feel: shifting the frame toward the travel direction converts wasted screen space behind the player into visibility ahead, where the game actually happens.
Interactive Demo
Use Cases
Best Practices
Do
- ✓Use a framerate-independent smoothing function (SmoothDamp, exponential decay) — a raw lerp by a constant factor changes feel with FPS.
- ✓Follow in LateUpdate, after all movement for the frame is final, or the camera trails by a frame and jitters.
- ✓Add a small dead zone so idle micro-movements (breathing animations, tiny corrections) don't wobble the frame.
Don't
- ✕Don't smooth so heavily that fast dashes push the target to the screen edge — clamp the maximum distance the camera may fall behind.
- ✕Don't apply the same smoothing to both axes blindly — platformers usually want snappier horizontal and much gentler vertical follow.
- ✕Don't move the camera in normal Update order while physics moves the target in FixedUpdate without interpolation — that mismatch is the classic jitter source.
Common Mistakes
- ⚠Lerping with `Time.deltaTime * speed` as the factor and assuming it's framerate-independent — it isn't; use an exponential form or SmoothDamp.
- ⚠Flipping look-ahead instantly on direction change, making the camera lurch — ease the look-ahead offset too.
- ⚠Forgetting to clamp the camera to level bounds, letting the smoothing show empty space outside the map.
Implementation
Paste this into your AI assistant (Cursor, Copilot, Claude) to add the effect to your project.
Add the "Smooth Camera Follow" game-feel effect to my project: A camera that eases after its target with lag and look-ahead instead of hard-locking.
How it works: A smooth follow camera trails its target through damped interpolation (SmoothDamp or an exponential lerp) instead of copying its position every frame, often aiming slightly ahead of the movement direction so the player sees where they're going.
Guidelines:
- Use a framerate-independent smoothing function (SmoothDamp, exponential decay) — a raw lerp by a constant factor changes feel with FPS.
- Follow in LateUpdate, after all movement for the frame is final, or the camera trails by a frame and jitters.
- Add a small dead zone so idle micro-movements (breathing animations, tiny corrections) don't wobble the frame.
Avoid:
- Don't smooth so heavily that fast dashes push the target to the screen edge — clamp the maximum distance the camera may fall behind.
- Don't apply the same smoothing to both axes blindly — platformers usually want snappier horizontal and much gentler vertical follow.
- Don't move the camera in normal Update order while physics moves the target in FixedUpdate without interpolation — that mismatch is the classic jitter source.
Implement the effect in whatever engine/stack the project already uses and follow its existing code style. Wire it up where it makes sense.References
Related Effects
Parallax
Background layers scrolling slower than the foreground to fake depth.
Camera Shake
Briefly jolting the camera to sell weight, impact, or danger.
Zoom Punch
A quick camera zoom-in that snaps back, punching emphasis into a moment.
Comments
…