Files
Commonwealth-Online-Public/docs
andrewandCursor e156d048ec fix: call Move() EVERY FRAME for smooth animations
CRITICAL FIX:
The problem wasn't that we needed less SetPosition() - it was that we needed
MORE Move() calls!

ROOT CAUSE:
The AI doesn't automatically call Move(). We have to call it ourselves.
Without frequent Move() calls, there's no velocity updates, no animations.

THE FIX:
- Call Move() EVERY FRAME with the calculated delta (0.016F frame time)
- This updates character controller velocity every frame
- Havok animation graph sees velocity and evaluates animations
- SetPosition() only every 500ms to correct accumulated position error

RESULT:
- Smooth continuous movement (Move() every frame = smooth locomotion)
- Proper animations (velocity updates trigger graph evaluation)
- Network sync (SetPosition() prevents drift)

The key insight: We're not letting AI do it naturally - we're DRIVING the
Move() calls ourselves! The proxy is a puppet, but we can control it properly
by actively updating its velocity via Move() every frame.

Expected behavior:
- Proxy moves smoothly and continuously
- Walking/running animations play
- Position stays synchronized with network data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 14:53:53 +12:00
..
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00
2026-05-30 18:13:54 +12:00