Exploring a physics-based character movement system in Unity.
by Vicente C.
Published |
4
Share
Check out this physics-based movement system in Unity for a new military game project by Irakli Geleishvili.
Indie developer Irakli Geleishvili shared a movement system he has been building for a military game prototype in Unity.

It comes from a problem he ran into while working on a previous squad-based tactical project, where he was trying to make soldiers behave more realistically during gameplay.

The movement worked, but it didn’t feel believable. For example, characters could turn instantly, slide while changing direction, or lean in weird ways.
Instead of using animation clips, the movement comes directly from physics. The character has weight, acceleration, and inertia, so changing direction takes time.

Lighter characters can turn quickly and keep their speed, while the heavier ones take longer to react and struggle to hold a tight line when running.
The camera is placed at the actual eye position of the character, which removes the mismatch between what the player sees and where the body really is.

Most of the motion comes from a body solver that controls how the character shifts weight and reacts to input. 
Leaning when changing direction is easy to get working, but getting it to feel right takes more work, so Irakli uses an extra layer of force to adjust the body without relying entirely on full-body tilt.

From there, movement is broken down into “steps cycles.” Each step is defined using curves that control things like foot height, timing, and stride shape. These values are evaluated across the different phases of the step, so changing them affects how the character moves.
As Irakli explains, the system doesn’t move the character rig directly. Instead, it drives a set of null objects, which are then used to control the IK rig, keeping locomotion and IK separate and also making it easier to swap rigs or move the setup to another engine.

The stepping logic follows the same idea, using a set of conditions to decide when each foot should move, alternating between left and right based on timing, distance, and current state.
Before reaching this version, Irakli went through a few rewrites. Earlier ones started to break down as more behaviors were added, especially when trying to keep everything stable while the character was moving.

He also tested performance early on, running over a hundred characters at the same time in the Unity editor. The locomotion itself is mostly math and doesn’t cost much, while the IK side takes up more of the frame time.

If you want to see more of the project or learn more about Irakli, you can find his links below.

Interested in learning more?
If you’re interested in the technical side of Unity, the Unity Shaders Pro Bundle brings together three books covering shader fundamentals, procedural shapes, and compute shaders. 
Jettelly wishes you success in your professional career! Did you find an error? No worries! Write to us at [email protected], and we'll fix it!

Subscribe to our newsletter to stay up to date with our latest offers

© 2026 Jettelly Inc. All rights reserved. Made with ❤️ in Toronto, Canada