Quick answer: Set Cinemachine Confiner 2D Slowing Distance to ~1 unit. Use a CompositeCollider2D for the bounding shape so the polygon is smooth. Camera now decelerates approaching bounds instead of bouncing.
Player walks toward the right edge of a 2D level. The camera tracks them, hits the confiner edge, and starts micro-oscillating because the follow component pulls right while the confiner pushes left.
The Symptom
Camera trembles when the player is near the level boundary. Smooth elsewhere. Worse with high follow damping.
The Fix
CinemachineCamera (vcam):
Confiner 2D:
Bounding Shape: LevelBounds (CompositeCollider2D)
Damping: 0.5
Slowing Distance: 1.5 // THIS
Slowing Distance creates a buffer where the camera lerps toward the boundary instead of being instantly clamped. The combined motion of follow + confiner becomes smooth.
Bounding Shape
Build the level bounds as a single CompositeCollider2D:
- Empty GameObject with Rigidbody2D (Static) + CompositeCollider2D.
- Children: BoxCollider2D pieces with Used By Composite = true.
- Composite Geometry Type = Polygons.
The composite produces one cleaned-up polygon. Confiner 2D handles it efficiently.
Damping Interaction
If your Follow damping is high (camera lazily catches up), reduce Confiner Damping to ~0.5 so the confiner doesn’t fight back. Tune both together.
Verifying
Walk the player to a corner. Camera should ease into the corner, not jitter. With Slowing Distance 0, you may still see jitter; raise it.
“Slowing Distance buffers the clamp. Composite for clean bounds. Camera glides.”
Related Issues
For Cinemachine Impulse, see Impulse. For Cinemachine LookAt, see LookAt jumps.
Buffer the boundary. Smooth bounds. Camera settles.