Third Person Four Legged
Third Person Four Legged turns horizontal input into steering instead of a humanoid strafe stance. Choose it for a quadruped, vehicle-like creature, or generic character whose body should turn through movement, while using animation, colliders, and optional IK to provide the actual gait and ground contact.
Four Legged is a Movement Type, not a quadruped animation or leg-placement system. It shapes input and requested yaw; Character Locomotion and the rig still own displacement, gravity, slopes, collision, and visible limb motion.
Before you begin
- Build or prepare a third-person character with Ultimate Character Locomotion and a look source. A player character also needs Ultimate Character Locomotion Handler and a player-input component; an AI character normally uses Local Look Source plus its navigation or movement ability instead of the handler.
- Use a rig and Animator with forward, backward, left-turn, and right-turn coverage. Add transition or diagonal clips when the creature should turn while moving at speed.
- Fit the character colliders to the body. The Movement Type does not create a four-legged collision shape or adjust feet to terrain.
- Choose a compatible camera based on framing. Released Version 3 explicitly recommends Adventure, Combat, RPG, Pseudo3D, and Top Down View Types with Four Legged.
- Decide whether motor motion or root motion owns travel and turning before tuning the clips.
Set up the character and camera
- Open Tools > Opsive > Ultimate Character Controller > Character Manager.
- Select the new or existing character, choose Third from Perspective, and choose Third Person Four Legged from Third Person Movement.
- Complete the model, Animator, input, collider, item, and ability choices. Select Build Character for a new character or Update Character for an existing one.
- Select the character root and expand Ultimate Character Locomotion > Movement Types. Confirm Third Person Four Legged is present and selected in the Active column. When both perspectives are installed, also choose Four Legged in Third Person Movement Type.
- Select the Four Legged row and decide whether to enable Rotate To Face Input Direction. It is disabled by default and materially changes steering and backward input.
- Select the camera, assign this character on Camera Controller, and expand View Types. Add and activate one of the compatible View Types described below. When both perspectives are installed, select it in Third Person View Type.
- Verify the character’s horizontal and forward input plus the camera controls required by the chosen View Type, then test the default steering mode before changing slope, gravity, or root-motion settings.
There is no dedicated Four Legged View Type. Camera and Movement Type selections are stored independently, so a compatible recommendation does not automatically configure either side of the pair.
Choose the steering mode
Rotate To Face Input Direction selects between two distinct control models.
Steering mode: disabled by default
The horizontal input remains in the processed movement vector and also adds a turn request. This creates a turning or arcing response instead of a stationary humanoid strafe. Forward and backward input retain their sign.
| Input | Observable result |
|---|---|
| Forward | The creature moves forward. With no horizontal input, it can turn gradually toward the camera when their yaw differs. |
| Backward | The creature moves backward. With no horizontal input, it can also correct gradually toward the camera. |
| Left or right | Horizontal input adds a turn while the same input remains available to locomotion and animation. |
| Turn while moving forward | Steering follows the horizontal sign. |
| Turn while moving backward | Steering reverses the horizontal sign so backing behaves like reverse steering. |
| No movement | On a settled character aligned to its current up direction, Four Legged adds no horizontal or look-source steering. |
When horizontal input is zero and forward or backward input is nonzero, Four Legged compares the creature with the look source Transform and adds a yaw correction clamped between -1 and 1 per movement calculation. Straight travel therefore does not guarantee a permanently unchanged rotation when the camera points elsewhere.
Face-input mode: enabled
Four Legged calculates the full camera-relative direction represented by horizontal and forward input. It requests yaw toward that direction, changes processed horizontal input to zero, and changes processed forward input to the input magnitude.
The result resembles Adventure’s turn-to-travel relationship: left and right commands turn into forward travel, and backward input turns the creature toward the camera-relative backward direction before moving forward. It no longer behaves as reverse travel. A scaled component above 1 is retained up to the largest absolute input component.
Although the setting’s source tooltip says "instantly," the Movement Type supplies a full target-yaw request; Character Locomotion, motor rotation, root motion, active abilities, and States can still affect the visible turn.
Use the default steering mode for an animal that can reverse and arc through turns. Enable face-input mode when every directional command should become forward-facing travel.
Configure movement input
On Ultimate Character Locomotion Handler, Horizontal Input Name defaults to Horizontal and Forward Input Name defaults to Vertical. Keep them when those axes exist in the active input implementation, or assign names from the project’s current input map.
- Test analog sticks at small and full deflection. Default steering scales yaw from horizontal input; dead zones and response curves therefore change how quickly the creature begins turning.
- Test horizontal input both with and without forward input. The default mode retains the horizontal component, so the Animator and motor must be authored for a turning response rather than a sidestep.
- Test reverse steering deliberately. The released default mode flips the yaw contribution when forward input is negative.
- In face-input mode, input direction selects facing while input magnitude selects processed forward movement. The original values remain available as Raw Input Vector before conversion.
AI navigation can supply the same movement intent, but the agent still needs a Local Look Source or another attached look source. Four Legged does not choose destinations or paths.
Choose a compatible View Type
All five options below carry released recommendation metadata for Four Legged. The choice changes camera behavior, not the creature’s steering rules.
| View Type | Camera result with Four Legged | Important boundary |
|---|---|---|
| Adventure | The player can orbit the camera independently for exploration framing. Default straight travel gradually corrects toward the camera; face-input mode turns directly into the camera-relative command. | Adventure’s Aim/Use input exceptions belong to the Adventure Movement Type and are not added to Four Legged. |
| Combat | An over-the-shoulder camera can frame action while the creature continues to steer rather than strafe. | The Combat camera does not turn Four Legged into the Combat Movement Type. Verify reticle, item direction, and creature yaw together. |
| RPG | The camera follows the creature and can optionally allow camera-only free movement. | RPG auto-move, turn mappings, and forced character rotation belong to the RPG Movement Type. Four Legged does not gain them from the camera pairing. |
| Pseudo3D | A side-on or 2.5D camera can frame a creature that still uses Four Legged steering. | Path and depth constraints belong to the Pseudo3D Movement Type. Add project-specific constraints if Four Legged must remain on a path. |
| Top Down | Overhead framing exposes turns and reversing clearly. | Cursor/right-stick facing and camera-relative movement fields belong to the Top Down Movement Type. Four Legged continues using its own steering mode. |
Compare View Types with the same creature, input, rig, collider, and root-motion configuration. Otherwise camera smoothing or animation changes can look like a Movement Type difference.
Coordinate slopes and gravity
Four Legged calculates yaw around Ultimate Character Locomotion‘s current Up direction. Character Locomotion then resolves grounding, slopes, gravity, and collision after the Movement Type supplies input and yaw.
- Use Gravity is enabled by default, Gravity Direction starts as world down, and Up starts as world up in released source. Gravity zones, abilities, States, or project code can change the runtime frame.
- Keep Adjust Motor Force On Slope enabled when a motor-driven creature should use the shared uphill and downhill force adjustment. In released 3.2.0 it defaults to enabled, with Motor Slope Force Up at
1and Motor Slope Force Down at1.25; tune them only after confirming the ground and collider setup. - A look source whose orientation disagrees with the character’s gravity frame can produce unintuitive camera correction or face-input yaw. Test custom gravity at walls, ceilings, and transitions rather than only on a flat floor.
- Terrain alignment of the body and individual feet is outside this Movement Type. Use animation, IK, or project-specific alignment while keeping the root and colliders consistent with Character Locomotion’s up direction.
Slope force settings affect motor movement; root-motion displacement remains authored in the animation clips. In either case, steep-slope limits, grounding, and collision can reject or alter a valid movement request.
Choose motor or root-motion movement
Four Legged does not force root-motion position or rotation.
- Leave Use Root Motion Position disabled when the motor should supply displacement. Tune Motor Acceleration, Motor Damping, Motor Backwards Multiplier, and slope force for the desired gait response.
- Enable Use Root Motion Position when the clips contain the intended travel distance. Forward, reverse, and turning animations must match the input mode to avoid sliding; begin with Root Motion Speed Multiplier at its released default of
1. - Leave Use Root Motion Rotation disabled when Character Locomotion should apply Four Legged’s yaw request through Motor Rotation Speed. The released default is
0.15. - Enable Use Root Motion Rotation only when the turn clips own the complete visible yaw. Begin with Root Motion Rotation Multiplier at its released default of
1, then test both forward and reverse steering and the full face-input direction range. - Abilities and States may override root-motion settings temporarily. Verify attacks, interactions, jumps, knockback, and Move Towards as well as ordinary locomotion.
The released root-motion fields initialize disabled, but Character Manager choices, templates, presets, States, or an existing prefab can change them. The runtime Inspector on the selected character is authoritative.
How it runs
- Ultimate Character Locomotion Handler reads horizontal, forward, and camera input from the active input implementation.
- Four Legged calculates yaw from the original movement values. Default mode adds reverse-aware horizontal steering and a limited look-source correction during straight travel; face-input mode requests the full camera-relative input direction.
- Ultimate Character Locomotion stores the original values as Raw Input Vector. Default mode returns the processed vector unchanged; face-input mode converts it to forward magnitude.
- Abilities and States can suppress, replace, or add movement and rotation.
- Character Locomotion and the Animator apply motor or root-motion movement, motor or root-motion rotation, gravity, slope handling, platforms, collision, and grounding.
- The selected compatible View Type frames the result independently and continues to provide the look-source Transform used by Four Legged.
Editor checkpoint
Before Play Mode, confirm that:
- Third Person Four Legged is active and selected as Third Person Movement Type when both perspectives are installed;
- exactly one compatible camera View Type is active and selected as Third Person View Type;
- the Camera Controller’s Character reference points to this character, or an AI uses an appropriate local look source;
- Rotate To Face Input Direction matches reverse-steering versus turn-to-travel intent;
- the input map supplies deliberate horizontal, forward, and camera controls with suitable dead zones;
- the Animator and root-motion settings cover the selected steering mode;
- colliders fit the body and behave on the project’s steepest supported slopes; and
- custom gravity keeps Character Locomotion, the look source, animation, and optional IK in the same up frame.
Verify in Play Mode
- With Rotate To Face Input Direction disabled, press forward and backward while the camera matches the creature’s yaw. Confirm signed forward and reverse travel.
- Orbit the camera away from the creature, then hold straight forward and straight backward. Confirm the released limited yaw correction instead of assuming rotation remains fixed.
- Hold left and right from rest, while moving forward, and while reversing. The creature should turn rather than present a humanoid strafe, and the steering sign should reverse while backing.
- Enable Rotate To Face Input Direction and repeat every cardinal and diagonal command. The creature should face the camera-relative command and use forward-only processed travel, including for backward input.
- Compare low and full analog-stick values. Steering should enter predictably without a dead-zone jump or an unintended sidestep animation.
- Compare the compatible Adventure, Combat, RPG, and Top Down View Types without changing the Movement Type. In each supported pairing, confirm that camera framing changes while Four Legged steering remains active; RPG auto-move and turn inputs, Combat strafing, and Top Down cursor-facing must not appear unless you actually switch to those Movement Types. Test Pseudo3D too when the project uses side-on framing.
- Walk and turn across flat ground, side slopes, uphill and downhill grades, moving platforms, and the steep-slope boundary. Grounding and collision should remain stable.
- If the project uses custom gravity, repeat steering on every supported surface and through gravity transitions. Creature up, camera frame, and yaw should remain coherent.
- Test motor position, root-motion position, motor rotation, and root-motion rotation in isolation before combining them. Confirm there is no sliding, double turn, or animation mismatch.
- Trigger every movement-changing ability used by the character and confirm it returns control to Four Legged cleanly.
Troubleshooting
| Symptom | Check | Fix |
|---|---|---|
| The creature strafes or slides sideways instead of presenting a turn. | Default mode retains horizontal processed input, so the Animator or motor response may still look like a sidestep. | Author a turn-in-motion blend for the horizontal parameter, reduce unsuitable lateral animation, or use face-input mode for forward-only travel. |
| Forward or backward movement slowly changes yaw. | With horizontal input at zero, default Four Legged corrects toward a misaligned look-source Transform by up to one degree of request per calculation. | Align the camera, accept the follow behavior, or enable Rotate To Face Input Direction for direct camera-relative facing. |
| Left/right steering feels reversed only while backing. | Released default mode deliberately flips the yaw contribution for negative forward input. | Keep reverse steering, remap the control for the game’s convention, or implement a custom type when the sign should remain unchanged. |
| Backward input turns the creature around and moves forward. | Rotate To Face Input Direction is enabled. | Disable it when true reverse travel is required. |
| The creature turns too slowly or too quickly. | Input response, Motor Rotation Speed, root-motion rotation, and active States can all affect visible yaw. | Test with motor rotation and neutral States first, then tune input and rotation one owner at a time. |
| The Console reports that the character has no look source. | No Camera Controller or AI local look source was attached. | Attach the intended look source before sending movement input. |
| The camera works but RPG turn, auto-move, cursor aim, or Pseudo3D path behavior does not. | Those features belong to the corresponding Movement Type, not to the compatible View Type. | Keep Four Legged steering or switch to the Movement Type that owns the required control feature. |
| The body tilts or feet penetrate uneven ground. | Four Legged does not implement body alignment or leg IK. | Configure the rig, animation, colliders, and a supported IK/alignment solution independently. |
| Uphill and downhill speed is inconsistent. | Motor slope force, root-motion distance, friction, or grounding may not match the animation. | Test motor and root-motion position separately, then tune shared slope values and clips on the actual terrain. |
| Custom gravity produces an unexpected turn plane. | Character Up, gravity, and look-source orientation may disagree. | Align the runtime frames and retest each gravity transition with both steering modes. |
| Turning slides, doubles, or snaps. | Motor rotation and root-motion rotation may both conflict with the clip or an ability. | Disable root-motion rotation, verify motor yaw, then enable the authored rotation path only if the animation owns it completely. |
Related tasks
- Included Movement Types
- Movement Types
- Adventure Movement Type
- Combat Movement Type
- RPG Movement Type
- Top Down Movement Type
- Adventure View Type
- Combat View Type
- RPG View Type
- Pseudo3D View Type
- Top Down View Type
- Input
- Animation
- Artificial Intelligence
Developer details
The released Version 3.2.0 type is Opsive.UltimateCharacterController.ThirdPersonController.Character.MovementTypes.FourLegged. It is serializable, reports FirstPersonPerspective as false, and declares one serialized option: RotateToFaceInputDirection, which defaults to false.
In default mode, GetDeltaYawRotation first resolves current forward against the Character Locomotion up direction. It adds horizontal input, reversing that contribution when forward input is negative. When horizontal input is zero and forward input is nonzero, it adds the look-source Transform’s local yaw difference clamped to -1 through 1. GetInputVector returns the input unchanged.
With RotateToFaceInputDirection enabled, yaw uses the normalized movement direction transformed by the look source and the Character Locomotion up direction. GetInputVector sets horizontal input to zero and forward input to the vector magnitude, capped by the largest absolute component when that component exceeds 1.
The Adventure, Combat, RPG, Pseudo3D, and Top Down View Type classes each declare a recommendation attribute for Four Legged. That metadata is camera compatibility guidance only; Four Legged does not inherit those other Movement Types’ fields, events, input mappings, or runtime behavior.