Unreal Engine 5.5 & 5.8 · Plugin manual

Dinosaur & Animal Locomotion Kit

A large animal cannot pivot on the spot. At a given speed its body can only come round so fast, so it walks an arc. This kit gives any Character that arc — and then draws the arc it actually walked, so you can check it against the one you asked for.

01 Before you start

Everything here is in centimetres, centimetres per second and degrees per second — the units the engine itself uses, so a speed you read here is the speed the Character Movement Component runs at. No conversion, no arbitrary “strength” dials.

EngineUnreal Engine 5.5 and 5.8
SourceFull C++, Blueprint-exposed. One Runtime module, no editor-only dependency.
AnimationNo Animation Blueprint required. Use your own if you prefer.
ContentInput Action assets only.

The kit ships with no character content. No meshes, no animations, no creature. You point it at your own Skeletal Mesh and your own clips. Anything you see in the store video or images is a separate asset and is not included.

02 Make the creature

  1. Blueprint → Blueprint Class → search CreatureCharacter. Name it after your animal.
  2. Open it, select the Mesh component, assign your Skeletal Mesh.
  3. Select the creature (the top row of the Components list, or Class Defaults) and tick Auto Configure From Skeletal Mesh, in the Creature | Setup category. It runs at once and unticks itself. Then Compile and Save.
  4. Read Last Auto Setup Report, just below it. It lists every guess and everything it could not work out. A wrong guess is fixed by typing over the field it guessed.

Why a tick box and not a button? Unreal’s “Call In Editor” buttons do nothing inside the Blueprint editor: the engine drops class defaults from the button’s list of objects to run on, then runs the function only if that list is not empty. The button draws, the click is accepted, nothing happens, and nothing is logged. A property has no such limit.

What it reads

Leg chains, the head/neck aim chain, the capsule, the crouched capsule height, and which way the mesh faces. It understands UE Mannequin (thigh_l), Mixamo (LeftUpLeg), Rigify (thigh.L), 3ds Max Biped, L_Thigh prefixes, and the numbered limb chains creature packs use — LLeg1 / LLeg2 / LLeg3, with F_LLeg1 for forelimbs.

On a quadruped all four limbs become legs; on a biped whose arms are named the same way, they do not. A limb counts as a leg only if its tip sits near the ground in the reference pose — the only thing that separates a foreleg from an arm when the rigger called both “Leg”.

The capsule comes from the creature’s width

A capsule is a cross-section, not a plan view, so the radius is the narrower of the two horizontal half-extents. Taking the longer one would give a 13-metre animal a capsule 13 metres across.

A real quadruped, measured

Mesh half-extentsX 126 · Y 648 · Z 235 cm
Capsule radius126 cm
Capsule half height235 cm — it stands 4.7 m
Crouched half height129 cm — it crouches to 2.6 m
Legs found4

The engine cannot make a capsule shorter than it is wide. Crouched Half Height is clamped up to the radius. If crouching does not shrink your creature, compare those two numbers first.

03 Give it animations

Auto Configure creates an empty Creature Motion Data. Empty is the default on purpose. Until you fill it in, the creature does not animate at all.

FieldWhat goes in itNeeded?
Idle AnimStanding still, loopingyes
Locomotion Blend SpaceWalking / running, driven by speedfor walking
Turn Left / Right 90Stepping round on the spot, looping, no root rotationfor turn in place
Turn Left / Right 180The same, for big turnsoptional
Crouch Idle AnimCrouched or lying down, loopingfor crouching
Crouch Start / EndGoing down and getting up, played oncerecommended
Crouch Blend SpaceCrouched movement by speedoptional

The blend space axes are fixed

The kit cannot ask a blend space what its axes mean, so it states them instead:

  • X = turn rate, degrees per second (negative is left)
  • Y = ground speed, centimetres per second — the same numbers as Walk, Trot and Run Speed

With the defaults that means Walk at Y = 206, Trot at Y = 384 and Run at Y = 700.

You do not need a sample at zero speed. Below the slowest sample your blend space actually has, the kit fades the Idle Anim back in, so a creature standing still is not left walking on the spot.

Take the in-place clips

Where a pack offers both, use the _InPlace variants. The others move the root, and the kit is already moving the creature — using them makes it travel further than it appears to and the feet slide.

Point the mesh at it

Mesh → Animation → Anim Class → CreatureAnimInstance. That is the whole animation setup: idle, the locomotion blend space by speed, turn in place with the step clips, and the crouch pose, built in C++. No Anim Graph, no state machine, nothing to wire.

Prefer your own Animation Blueprint? Either make it a child of CreatureAnimInstance and untick Use Native Pose — every value is then a variable in your graph — or keep any plain Anim Blueprint and read the component: Try Get Pawn Owner → Cast To CreatureCharacter → Turn In Place.

If you leave Use Native Pose ticked, your Anim Graph is ignored — the C++ pose is used instead, and your blend space appears to do nothing.

04 Play it

The creature is a normal ACharacter: set World Settings → Game Mode Override and its Default Pawn Class to your Blueprint, drop a Player Start, press Play.

W A S DMove
MouseLook — the body turns to follow
Left ShiftRun, while held
CWalk / trot toggle
Left CtrlCrouch, press again to stand
Right MouseFree look — the body stops following the camera
Left MouseAttack

Spawned by a Game Mode? Then settings ticked on a creature placed in the level never reach the one you play — a spawned pawn is built from the Blueprint. Tick things on the Blueprint, and Compile.

05 Tuning how it moves

All of it lives in one struct, which appears twice: on the Motion Data asset (shared by every creature using it) and on Turn In Place → Locomotion Override on the creature itself. Only one is live at a time — if Override Locomotion is ticked, the creature’s own values win. Live Locomotion Source says which is in effect right now and what its numbers are. Read it before wondering why an edit did nothing.

Speeds

Walk Speed206 cm/sdefault
Trot Speed384 cm/sthe gait used when no key is held
Run Speed700 cm/swhile Shift is held
Crouch Speed90 cm/sa cap, not a gait

Turning radius

Moving at speed v with radius R, the body turns at most v / R radians per second, so it walks an arc.

  • Turn Radius When Walking (600 cm) applies exactly at Walk Speed.
  • Turn Radius When Running (2000 cm) applies at Run Speed and above.
  • Every speed between is blended between those two — including Trot, the default gait. A tight walk radius with a wide run radius still gives a wide turn at trot.
  • Tick Use Trot Turn Radius to give Trot its own value, so trot can be tight while run stays wide.

Turning in place is a separate branch that does not use the turning radius at all — it uses Turn Rate Deg Per Sec.

Animation smoothing

Animation Smoothing (0.15 s) eases what the blend space is asked for when speed or turn rate changes sharply. It smooths the animation only; the creature’s movement is untouched. Too much of it and the legs lag behind the real speed and the feet slide.

06 Seeing the radius

Judging whether a radius is “working” by the feel of a turn is hopeless, so the kit draws it. Tick Turn In Place → Show Turn Radius Debug, or type creature.DrawTurnRadius 1 in the console while playing. From a Blueprint, Toggle Turn Radius Debug For All Creatures needs no target and can go on a key.

DrawnMeans
Bright circlethe radius in force at the current speed, on the side it is turning toward
Dim circlethe same radius, other side
Cyan linethe path it has actually walked
Yellow circlea circle fitted to that path — the radius it really turned at
Arrowsbody heading, and where it is being asked to point

If the two circles are the same size, the radius is doing exactly what it was set to. If the fitted one is wider, something else is the limit — and the on-screen readout names it, including the commonest case: the creature is turning in place, where the radius is not used.

With the game stopped, the same tick box previews each gait’s radius in the editor viewport (green walk, blue trot, orange run). creature.TurnRadiusDebugReport prints the whole state — what is switched on, which creature, and whether anything is being drawn at all.

07 Crouching

Left Ctrl, or Set Crouching / Toggle Crouch from Blueprint. The kit drives the engine’s own crouch: shrunken capsule, correct replication, and the behaviour people forget — a creature under something low cannot stand up, and Is Crouched stays true until there is room.

What crouching changes is the collision and the speed. What it looks like is your animation. With no crouch clips assigned, a crouched creature keeps playing its idle: the capsule is half the height and the speed is capped, but it is still standing up in the picture. That is the crouch waiting for a clip, not a fault. The feet stay on the ground throughout rather than sinking with the capsule.

  • Crouch Start / End Anim — played once, in full, at their own speed: a four-second lie-down takes four seconds. Without them the crouch can only cross-fade between two still poses, and that reads as the creature sinking into the floor.
  • Crouch Blend Seconds (0.5 s) — the cross-fade onto and off those clips. The kit hands over across the last of it, because the final frame of a lie-down and the first frame of a lying-down loop are almost never the same pose.
  • Crouch Is Toggle — press to crouch and again to stand (default), or untick for hold-to-crouch.

08 Setting up from script

Auto Configure is also a plain function, AutoConfigureFromSkeletalMesh, callable from Blueprint, C++ and editor Python. It returns the same report it stores, so a script can set up a whole pack of creatures and print what each one guessed.

A script must compile the Blueprint afterwards, exactly as you would press Compile by hand, or the values never reach the saved asset.

09 Multiplayer

Movement and rotation replicate the way any Character does. The turn state and the crouch replicate too, so other players see the right animation. The owning client turns immediately and tells the server its desired heading; the server runs the same turn from the same settings.

10 When something is wrong

What you seeWhat it almost always is
Nothing animatesMotion Data is empty, or not assigned to Turn In Place, or the mesh’s Anim Class is empty
Nothing animates, own Anim BPthe mesh points at a different Anim Blueprint than the one you are editing
Your Anim Graph is ignoredit is a child of CreatureAnimInstance with Use Native Pose still ticked
Ticking Auto Configure changed nothinglook at the capsule, not the panel. Still 34×88 means it did not run — check the Mesh has a Skeletal Mesh
It worked, then the numbers came backthe Blueprint was not compiled
Crouch reports true, capsule never shrinksthe radius is as large as the half height; the engine clamps the crouched height up to it
Zero legs on something with legsthe report says what it looked for; fill Ground Adaptation → Legs in by hand
It walks on the spot while standingno blend space sample slow enough, and no Idle Anim to fall back to
A Turn Radius edit changes nothingthe other source is live (read Live Locomotion Source), or it is turning in place, or Trot is blending toward a wide run radius
The debug draw shows nothingticked on a different copy than the one being played — use the console command, or tick it on the Blueprint and Compile
Crouch does nothingCan Crouch is off on the Character Movement component
The creature faces sidewaysset Mesh Forward Axis by hand, which also switches off the auto-guess
A Call In Editor button does nothingUnreal runs those only on a creature placed in a level, never from the Blueprint editor