Thank you for visiting this site.
In this article, we will provide a detailed explanation of “Characters” (the Character System), one of the core features of Game Creator 2.
Characters is the system that governs every “moving entity” in a scene — players, NPCs, and more. A single Character component encompasses nearly everything a character needs: movement, jumping, animation, IK, footsteps, and ragdoll.
Official documentation: Game Creator 2 Documentation
You can find a list of all articles in this series below.
What Are Characters?
Simply attaching a Character component to any GameObject gives it movement, rotation, IK, jumping, falling, footsteps, and animation capabilities.
The main features are:
- Player Input: Switchable control schemes — directional input, point & click, tank controls, etc.
- Rotation Modes: Multiple rotation options — face camera direction, movement direction, specific target, etc.
- World Navigation: Choose from Character Controller / NavMesh Agent / Rigidbody drivers
- Gestures & States: A lightweight animation system built on Mecanim
- Inverse Kinematics: Automates foot grounding and head orientation toward gaze targets
- Footstep Sounds: Multi-layer mixed footstep sounds based on ground texture
- Dynamic Ragdoll: Ragdoll activation and recovery without additional setup
Player Character
A Character with the Is Player checkbox ON processes input through the Player unit.
Only one Player can exist in a scene at a time. Switch with the Change Player Instruction. Creating a “Player” from the Hierarchy menu or Toolbar automatically sets Is Player to ON.
Character Component Overview
The Character component is divided into the following blocks in the Inspector.
General Settings
- Is Player: Whether to treat as a player character
- Update Time:
Game Time(follows time scale) /Unscaled Time(real-time) - Mannequin icon: Displays debug information at runtime
- Green = normal / Red = that limb is Busy / Red skull = dead
Kernel Settings
The core group of 5 Units that drive character behavior. A Unit is a Game Creator concept — a swappable module that constitutes character behavior (also called “Control Unit” in official docs).
Extra Settings
- Inverse Kinematics (IK rig management)
- Footsteps (footstep system)
- Ragdoll
Kernel (5 Units)
The Kernel splits character behavior into 5 types of “Units”, each independently swappable. Switch implementations via the icon at the right edge of the Inspector.
| Unit | Role | Main Implementations |
|---|---|---|
| Player | Interprets user input. Disabled if Is Player is OFF | Directional / Point & Click / Tank |
| Motion | Movement characteristics (speed, acceleration, gravity) and command handling (jump, etc.) | Motion Controller (only standard implementation) |
| Driver | Applies Motion-calculated movement to the Transform | Character Controller / NavMesh Agent / Rigidbody |
| Rotation (Facing) | Determines body orientation | Pivot / Pivot Delayed / Look at Target / Object Direction / Towards Direction / Tank |
| Animation (Animim) | Displays 3D/2D models and drives animation | Kinematic (only standard implementation) |
Player Unit Options
- Directional: Camera-relative WASD / left stick input. The most common option, suitable for 3D action, RPG, and adventure games in general
- Point & Click: Move to mouse click location. With NavMesh Agent driver, navigates around obstacles. Ideal for classic RPGs, strategy games, and CRPGs
- Tank: Forward key moves in the local forward direction. Requires Tank rotation. Used in fixed-camera horror games, etc.
Motion Unit Main Parameters
- Speed / Rotation / Mass / Height / Radius / Gravity / Terminal Velocity
- Use Acceleration: Whether to use acceleration/deceleration. Without it, moves at max speed instantly
- Acceleration / Deceleration: Speed of startup / slowdown
- Can Jump / Air Jumps / Jump Force / Jump Cooldown: Jump behavior
- An Interaction section at the bottom (detailed later)
Driver Unit
- Character Controller: Standard. Appropriate for almost all cases
- Navmesh Agent: Obstacle avoidance capable but cannot jump
- Rigidbody: Behavior driven by Unity’s physics engine
Drivers have an Axonometry field (v2.9.36+) that constrains movement.
| Mode | Movement Constraint |
|---|---|
| Side-Scroll XY | Move along X axis, gravity on Y axis, Z fixed at 0 |
| Side-Scroll YZ | Move along Z axis, gravity on Y axis, X fixed at 0 |
| Isometric 8 Directions | Move on XZ plane in 45-degree increments |
| Isometric Cardinal | Move in cardinal directions only (N/S/E/W) |
| Isometric Ordinal | Move in diagonal directions only |
Rotation Unit (Facing)
- Pivot: Faces the most recent movement direction
- Pivot Delayed: Rotates with delay (for slow movement like sneaking)
- Look at Target: Always faces a specific object, with lateral movement becoming strafing
- Object Direction: Aligns with the direction another object is facing (for TPS/FPS)
- Towards Direction: Always faces a single world-space direction (for on-rails, etc.)
- Tank: Rotates in place with specified keys
- Runtime switching is supported: Can be dynamically swapped based on context (e.g., Pivot normally, Look at Target when engaging enemies)
Rotation also has Axonometry — matching values with the Driver ensures consistency. Rotation constraints per mode:
| Mode | Rotation Constraint |
|---|---|
| Side-Scroll XY | Left/right rotation only |
| Side-Scroll YZ | Forward/backward rotation only |
| Isometric 8 Directions | Rotates in 45-degree increments |
| Isometric Cardinal | Cardinal directions only |
| Isometric Ordinal | Diagonal directions only |
Animation Unit (Kinematic)
- Position / Rotation / Scale: Mannequin’s local Transform
- Smooth Time: Seconds for most animation transitions. Larger = smoother/slower, smaller = snappy
- Mannequin: Intermediate object between the Character and the 3D model
- Animator: The model’s Animator. Default uses GC’s Locomotion Runtime Animator Controller
- Start State: Initial State (layer = -1)
- Reaction: Default hit reaction for Shooter/Melee
The still pose (1-frame idle) is designed to look alive with overlapping Breathing and Twitching.
Extra Settings Detail
Inverse Kinematics
IK uses a stack-based system. Add rigs via the Add IK Rig Layer button — they are applied from top to bottom.
Standard rigs included:
- Look at Target: Rotates head, neck, chest, and spine toward a gaze point (works with Hotspots). Humanoid only
- Align Feet with Ground: Foot grounding and slope following. On steep slopes, lowers the hips to keep both feet grounded
Footsteps
- Register foot bones in an array (defaults to 2 human feet, extensible with
Add Foot) - Link a
Footstep Sounds(Material Sounds asset) to the Sound Asset - Sound pitch/speed is automatically varied, and on blended-texture ground, volume is also blended
Ragdoll
Ragdoll state can be transitioned to without additional setup. A Skeleton asset is required.
Parameters:
- Transition Duration: Blend time from ragdoll → recovery animation. 0.5 seconds or more recommended (to avoid snap)
- Recover Face Down / Recover Face Up: Get-up animations for face-down / face-up orientations
Animation (Gestures and States)
A custom layer built on Unity Mecanim that lets you dynamically play animations without pre-registering them in an Animator Controller.
Gestures (One-Shot Playback)
Single-shot animations that automatically return to the previous animation when done (punch, vault, wave, etc.). Play with the Play Gesture Instruction.
Main parameters:
- Character / Animation Clip: Target character and clip (required)
- Avatar Mask: Body parts to apply to
- Blend Mode:
Blend(override) /Additive(additive) - Delay / Speed
- Root Motion: Ignores input when using root motion
- Transition In / Out: Fade in/out seconds
- Wait to Complete: Whether to wait for completion before the next Instruction
Gestures always have higher priority than any State — this is an important point.
States (Loop Playback)
- Animation State: Loops a single clip. Can set up Entry/Exit Gestures. Since v2.5.20, On Refresh Instructions at the bottom is called in order from lower to upper layers whenever a State is added/removed
- Locomotion State: Blends clips based on speed, direction, and fall speed
- Basic State: Idle + 8-directional movement clips
- Complete State: Idle + 16-directional (8 half-speed + 8 full-speed). Use this for analog stick input
- Airborne Mode: Single / Circular 8 Point / Circular 16 Point
- Properties (v2.9.34+): States can hold override values for speed, rotation speed, jump, gravity, etc. Applied in ascending layer order — higher layers override
Layers (Layer Priority)
Same concept as Photoshop layers — higher numbers take priority.
For example, if States exist on Layers 1, 2, and 10, Layer 10 plays. Removing Layer 10 switches to Layer 2.
Setting a Transition when adding/removing provides smooth blending.
Gestures always take priority over all States.
Full priority overview:
[Highest] Gesture (always plays on top)
↑
[High] State Layer 10
↑
[Middle] State Layer 2
↑
[Low] State Layer 1
↑
[Base] Locomotion Controller (base animation)
Weights
Adding a State is not an all-or-nothing replacement — you can blend by percentage (e.g., run + crouch-run at 50/50). At runtime, change with Change State Weight.
Starting / Stopping States
- Enter State Instruction: Select AnimationClip / State asset / Runtime Animator Controller via
State Type - Parameters:
Layer / Blend Mode / Delay / Speed / Weight / Transition - Stop State Instruction: Smoothly stops the State on a specified Layer.
Delay / Transitioncan be specified
Custom Model
Simply drag & drop a character prefab into the Character’s Animation section to swap models. Runtime swapping uses the Change Model Instruction.
To replace the Locomotion Controller with a custom one, you need a custom unit implementing the IAnimim interface.
Inverse Kinematics Detail
Rig Management
Add from “Add IK Rig” at the bottom of the Character component. Executed from top to bottom — subsequent rigs touching the same bone chain override previous ones.
Standard Rigs
Feet Align (Humanoid only)
- Grounds and rotates feet to match terrain irregularities
- Foot Offset: Vertical offset to correct the gap between skin mesh and bone tip
- Foot Mask: Collider layers for ground detection (e.g., exclude water surfaces)
Look at Target (Humanoid only)
- Rotates head, neck, chest, and spine toward a Hotspot’s gaze point
- Track Speed (deg/s) / Max Angle (peripheral vision) / Head / Neck / Chest / Spine Weight
Custom Rig (Custom IK)
Characters have a layered IK system that can stack multiple rigs. Beyond Feet IK (foot grounding) and Look At (gaze), you can add custom IK logic.
Accessing Rigs
Get rigs from the Character component’s IK property. Returns null if the rig doesn’t exist.
// Example: disable foot grounding IK
character.IK.GetRig<RigFeetPlant>().IsActive = false;
Creating Custom Rigs
Game Creator provides two IK wrappers:
| Base Class | Engine | Notes |
|---|---|---|
TRigAnimationRigging | DOTS (Animation Rigging package) | Recommended. High performance |
TRigAnimatorIK | Unity AnimatorIK | Legacy compatibility |
Inherit from one and override the following methods:
| Method | Call Timing |
|---|---|
DoStartup(Character) | Once during initialization |
DoEnable(Character) | When rig is enabled |
DoDisable(Character) | When rig is disabled |
DoUpdate(Character) | Every frame |
public class MyCustomRig : TRigAnimationRigging
{
protected override bool DoStartup(Character character) { /* init */ }
protected override bool DoEnable(Character character) { /* enable */ }
protected override bool DoDisable(Character character) { /* disable */ }
protected override bool DoUpdate(Character character) { /* per-frame update */ }
}
Footstep Sounds Detail
Phases (Foot Contact Detection)
- Phase curves (animation curves) detect foot contact (
Phase-0throughPhase-3, up to 4) - Humanoid defaults:
Phase-0= left leg,Phase-1= right leg - Value 0 = airborne / Value 1 = grounded
- Custom animations require manually adding Phase curves (automatable with the official Footsteps Generator extension)
Material Sounds
- Create via
Create > Game Creator > Common > Material Sounds - Multiple SFX can be defined per texture. Randomly selected on playback, but the same sound never plays consecutively
- Can also spawn particle Prefabs from the pool at the impact point
- Pitch/speed is slightly varied each time to reduce repetitiveness
- On blended-texture terrain, volume/pitch is proportionally mixed
- Link to the Character’s
Sound Assetfield via drag & drop
On Step Trigger
The On Step event enables executing Instructions in sync with footsteps (e.g., leaving footprints).
Ragdoll and Skeleton
Activation / Recovery
- Start with the Start Ragdoll Instruction
- However, input remains active, so these two Instructions are typically used instead:
- Kill Character: Disables interaction and automatically activates ragdoll
- Revive Character: Automatically selects a get-up animation and restores control
Recover Face Down / Upplays based on body orientation
Skeleton Asset
A foundational asset used not only for Ragdoll but also for Melee/Shooter hit detection.
Create via Create > Game Creator > Characters > Skeleton and drag & drop to the Character’s Animation tab.
Skeleton Structure
- Skeleton Configuration Mode: Displays the character in a dedicated scene. Drag & drop a prefab model to the bottom field and click Change Character to swap the preview model
- Physical Material / Collision Detection mode
- Volume (volume bones):
- Box: For chest / flat areas
- Sphere: For hands / head
- Capsule: For most limbs
- Each volume consists of
Bone Type(Humanoid dropdown orRoot/Spine/...path), volume definition, and Joint - Create Humanoid button: Automatically estimates the Skeleton when dropping a Humanoid model
Markers (Movement Destinations)
A component representing the destination a Character moves toward. Includes a yellow arrow gizmo indicating direction.
- Stop Distance: Tolerance for arrival detection. Prevents jostling in crowded situations
- Type:
- Directional: Stops at the arrow’s position and rotation
- Inwards: Moves to the nearest point on the circumference and faces the center (convenient for item pickup, etc.)
Level Up! The Guide to Great Video Game DesignView on Amazon →
Introduction to Game Design, Prototyping, and DevelopmentView on Amazon →
Interaction (Interaction System)
Character-Side Settings (Inside Motion Unit)
- Radius: Minimum distance to recognize a target of interest
- Mode: Prioritization of targets
- Near Character: Selects the closest target to the Character’s interaction center. Center position adjustable via offset (controller-oriented)
- Screen Center: Closest to screen center (FPS-oriented)
- Screen Cursor: Closest to cursor (point & click-oriented)
- Use the Interact Instruction to interact with the currently focused object
- Note that a Busy character cannot Interact
Interactive Object-Side Settings
- Simply placing an On Interact event on a Trigger component makes an object interactive
- On Focus / On Blur events detect focus start/end as well
- Combining with Hotspots enables text display or Prefab activation on focus
Busy (Body Part In-Use Status)
A mechanism for querying whether specific body parts are “in use”. The Mannequin icon toggles green ↔ red at runtime, visualizing each limb’s Busy state.
Accessible and settable from Instructions / Conditions.
Script API
IsArmLeftBusy : bool
IsArmRightBusy : bool
IsLegLeftBusy : bool
IsLegRightBusy : bool
AreArmsBusy : bool
AreLegsBusy : bool
IsBusy : bool
Set each limb to Busy with MakeLimbXXX() (e.g., MakeLegLeftBusy()). See the scripts under Plugins/GameCreator/Packages/Core/Runtime/Characters/Busy for detailed methods.
Handles (Prop Attachment Points)
An asset that determines which bone, at what position and rotation, a prop (such as a weapon) is attached to.
Evaluates Conditions from top to bottom and uses the matching Handle information. For example, for Humanoid — sword in right hand; for non-Humanoid — attached to beast’s mouth.
The same position information can be reused across multiple weapons, making this useful for games with many items.
Scripting / Extension
Frame Update Order
Player.Update()→ Interprets input, calls Motion’sMoveToDirection/MoveToPositionMotion.Update()→ Calculates external forces (gravity, slope sliding, dash, jump)Driver.Update()→ Updates TransformFacing.Update()→ Calculates body orientationAnimim.Update()→ Feeds Animator parameters
Each Unit can reference the others (mutual read access).
Extension Points (Interfaces)
| Interface | Custom Target |
|---|---|
IUnitPlayer | Custom input system |
IUnitMotion | Custom motion calculation |
IUnitDriver | Integration with other Character Controller packages |
IUnitFacing | Custom orientation control (TUnitFacing inheritance recommended for layer support) |
IUnitAnimim | Custom Animator / Runtime Animator Controller support |
Motion Move Methods
MoveToDirection/StopToDirectionMoveToLocation(Location)/MoveToTransform(Transform)/MoveToMarker(Marker)StartFollowingTarget(target, min, max)/StopFollowingTarget()Jump(): Jumps / air jumps when conditions are met
Facing Layer API
int SetLayerDirection(int key, Vector3 direction, bool autoDestroyOnReach);
int SetLayerTarget(int key, Transform target);
void DeleteLayer(int key);
- First call returns a new
key. Use the samekeyfor subsequent updates autoDestroyOnReach = trueauto-removes on arrival- Deleting a non-existent
keydoes not throw an exception
// Continuously look at a target (3rd arg false → don't auto-remove on reach)
IUnitFacing face = character.Facing.Current;
key = face.SetLayerTarget(key, lookAtTransform, false);
// Remove (no exception for non-existent keys)
face.DeleteLayer(key);
Model Change (Script)
GameObject instance = character.ChangeModel(prefab, default);
The second argument ChangeOptions struct can also specify footsteps, Skeleton, Animator Controller, and offset.
IK Rig Access
character.IK.GetRig<RigFeetPlant>().IsActive = false;
Returns null if the rig doesn’t exist.
Breathing / Twitching
Default characters overlay procedural animation for breathing and micro-movements on all animations. Intensity can be dynamically changed via HeartRate / Exertion / Twitching properties.
Getting Started Mini-Guide
- Right-click in Hierarchy →
Game Creator > Characters > Playerto create a Player (ensure camera and lights exist in the scene) - Verify
Speed/Rotationin the Character’s Motion, Character Controller in Driver, and Pivot in Rotation - Create a Camera Shot and set
Look Target/Orbit Targetto the Player - The Locomotion Animator Controller is set by default on the Animator, so just drag & drop a model into the Character’s Animation section for running/jumping to work
- Create
Material Soundsand drop them into the Character’sSound Assetfor footsteps - If you need a death mechanic, create a
Skeletonand useCreate Humanoidfor ragdoll preparation - When enemies or interactions are needed, set up
On InteractTriggers
Visual Scripting Reference (Full Instruction / Condition / Event List)
A comprehensive quick-reference table of all Instructions, Conditions, and Events callable from Visual Scripting under the Characters category. Use as a search aid when adding nodes.
Instructions
Instructions addable to Visual Scripting’s Actions component. Category path: Characters > <subcategory>.
Animation
| Instruction | Function | Main Parameters |
|---|---|---|
| Change Smooth Time | Changes locomotion blend time | Smooth Time (0-0.5 recommended) / Duration / Easing / Wait to Complete / Character |
| Change State Weight | Changes the opacity of a State on a specified layer over time | Character / Layer / Weight / Transition |
| Enter State | Plays a State (AnimationClip / State asset / Runtime Animator Controller) on a Character | Character / State / Layer / Blend Mode / Delay / Speed / Weight / Transition |
| Play Gesture | Plays a one-shot AnimationClip on a Character | Character / Animation Clip / Avatar Mask / Blend Mode / Delay / Speed / Transition In / Out / Wait to Complete |
| Stop Gesture | Stops all playing Gestures | Character / Delay / Transition |
| Stop State | Stops the State on a specified layer | Character / Layer / Delay / Transition |
Busy (Body Part Management)
| Instruction | Function | Main Parameters |
|---|---|---|
| Set Available | Returns specified Limbs to available state | Character / Limbs |
| Set Busy | Sets specified Limbs to busy state | Character / Limbs |
Combat > Invincibility
| Instruction | Function | Main Parameters |
|---|---|---|
| Set Invincible | Enables invincibility for a duration | Character / Duration / Wait Until Complete |
Combat > Poise
| Instruction | Function | Main Parameters |
|---|---|---|
| Set Poise | Sets the Character’s Poise value | Character / Poise |
Combat > Targeting
| Instruction | Function | Main Parameters |
|---|---|---|
| Add Target Candidate | Adds to the target candidate list | Character / Target |
| Remove Target Candidate | Removes from the candidate list | Character / Target |
| Set Target | Directly sets the current target | Character / Target |
| Clear Target | Clears the target | Character |
| Cycle Next Target | Switches to the next candidate | Character |
| Cycle Previous Target | Switches to the previous candidate | Character |
| Cycle Closest Target | Switches to the closest candidate | Character |
| Cycle Direction Target | Switches to the candidate in a specified direction from camera view | Character / Camera / Direction |
Footsteps
| Instruction | Function | Main Parameters |
|---|---|---|
| Change Footstep Sounds | Swaps the Material Sounds table in use | Character / Footsteps |
| Play Footstep | Plays a sound from a Material Sound asset once | Character / Material Sound |
IK (Inverse Kinematics)
| Instruction | Function | Main Parameters |
|---|---|---|
| Active Feet IK | Enables/disables foot grounding IK | Character / Active |
| Active Lean IK | Enables/disables lean IK | Character / Active |
| Active Look IK | Enables/disables gaze IK | Character / Active |
| Start Looking At | Starts looking at a specified Transform | Character / Target / Layer |
| Stop Looking At | Stops looking | Character / Target / Layer |
| Clear Looking Around | Clears all non-Hotspot gaze (priority 0) | Character |
Interaction
| Instruction | Function | Main Parameters |
|---|---|---|
| Interact | Interacts with the currently focused target | Character |
Navigation
| Instruction | Function | Main Parameters |
|---|---|---|
| Jump | Executes a jump | Character |
| Move Direction | Continuously moves in a specified direction | Direction / Priority / Character |
| Stop Move | Stops movement | Priority / Character |
| Move To | Moves to a specified location. Failure Instructions can be set | Location / Stop Distance / Cancel on Fail / On Fail / Character |
| Teleport | Instantly teleports to a specified location | Location / Character |
| Start Following | Starts following a target | Target / Min Distance / Max Distance / Character |
| Stop Following | Stops following | Character |
| Dash | Dashes with specified direction, velocity, and duration | Direction / Velocity / Duration / Wait to Finish / Mode (Cardinal/Single) / Animation Speed / Transition In / Out / Character |
| Cancel Dash | Cancels a dash | Character |
| Set Character Driver | Swaps the Driver Unit to a different implementation | Character / Driver |
| Set Character Rotation | Swaps the Rotation Unit to a different implementation | Character / Rotation |
Player
| Instruction | Function | Main Parameters |
|---|---|---|
| Change Player | Switches which Character is treated as Player | Character |
| Set Player Input | Swaps the Player Input Unit (Directional / Point & Click / Tank, etc.) | Character / Input |
Properties (Character Properties)
| Instruction | Function | Main Parameters |
|---|---|---|
| Axonometry | Changes the Axonometry value (2D/Iso constraints) | Axonometry / Character |
| Can Collide | Whether the character can collide with other objects | Character / Can Collide |
| Can Jump | Whether jumping is allowed | Character / Can Jump |
| Change Angular Speed | Changes angular speed over time | Angular Speed / Duration / Easing / Wait to Complete / Character |
| Change Gravity | Changes gravity (ascending / descending / both) over time | Mode / Gravity / Duration / Easing / Wait to Complete / Character |
| Change Height | Changes height over time | Height / Duration / Easing / Wait to Complete / Character |
| Change Jump Force | Changes jump force over time | Jump Force / Duration / Easing / Wait to Complete / Character |
| Change Mass | Changes mass over time | Mass / Duration / Easing / Wait to Complete / Character |
| Change Movement Speed | Changes max movement speed over time | Speed / Duration / Easing / Wait to Complete / Character |
| Change Radius | Changes collision radius over time | Radius / Duration / Easing / Wait to Complete / Character |
| Change Terminal Velocity | Changes max fall speed over time (for gliding, etc.) | Terminal Velocity / Duration / Easing / Wait to Complete / Character |
| Change Time Mode | Switches Game Time / Unscaled Time | Time Mode / Character |
| Is Controllable | Toggles Player input acceptance (for cutscenes, etc.) | Character / Is Controllable |
| Kill Character | Sets death state (automatically activates ragdoll) | Character |
| Revive Character | Revives and plays get-up animation | Character |
| Mannequin Position | Changes the Mannequin’s local position | Character / Position |
| Mannequin Rotation | Changes the Mannequin’s local rotation | Character / Rotation |
| Mannequin Scale | Changes the Mannequin’s local scale | Character / Scale |
| Reset Vertical Velocity | Resets vertical velocity to 0 | Character |
Ragdoll
| Instruction | Function | Main Parameters |
|---|---|---|
| Start Ragdoll | Transitions to ragdoll state | Character |
| Recover Ragdoll | Recovers from ragdoll state | Character |
Visuals (Appearance / Equipment)
| Instruction | Function | Main Parameters |
|---|---|---|
| Attach Prop | Attaches a Prop to a bone via Prefab or instance | Character / Type / Prop / Bone / Position / Rotation |
| Remove Prop | Removes an attached Prop | Character / Type / Prop |
| Drop Prop | Drops an attached Prop | Character / Type / Prop |
| Change Model | Swaps the model (optional Skeleton / Footstep Sounds / Offset) | Character / Model / Skeleton / Footstep Sounds / Offset |
| Put On Skin Mesh | Equips a new Skin Mesh Renderer prefab | Prefab / On Character |
| Take Off Skin Mesh | Removes an equipped Skin Mesh | Prefab / From Character |
Conditions
Conditions usable in Conditions component Branches and Condition-type nodes.
Animation
| Condition | Check | Main Parameters |
|---|---|---|
| Has State In Layer | True if a State is playing on the specified layer | Layer / Character |
Busy
| Condition | Check | Main Parameters |
|---|---|---|
| Is Available | True if the Character is free for new actions | Character |
| Is Busy | True if the Character is performing an action | Character |
| Are Arms Available | True if both arms are available | Character |
| Are Legs Available | True if both legs are available | Character |
| Is Left Arm Available | True if the left arm is available | Character |
| Is Right Arm Available | True if the right arm is available | Character |
| Is Left Leg Available | True if the left leg is available | Character |
| Is Right Leg Available | True if the right leg is available | Character |
| Is Humanoid | True if using a Humanoid model | Character |
Combat
| Condition | Check | Main Parameters |
|---|---|---|
| Is Invincible | True if invincible | Character |
Interaction
| Condition | Check | Main Parameters |
|---|---|---|
| Can Interact | True if an interactable target exists | Character |
Navigation
| Condition | Check | Main Parameters |
|---|---|---|
| Is Airborne | True if airborne | Character |
| Is Grounded | True if grounded | Character |
| Is Idle | True if not moving | Character |
| Is Moving | True if moving | Character |
| Is Dashing | True if dashing | Character |
| Raycast Floor | True if a collider exists within a certain distance below | Character |
Properties
| Condition | Check | Main Parameters |
|---|---|---|
| Can Jump | True if the Can Jump property is ON | Character |
| Compare Foot Phase | True if the specified Phase foot is grounded | Character |
| Compare Gravity | True if the gravity value matches the condition | Character |
| Compare Height | True if the height value matches the condition | Character |
| Compare Mass | True if the mass matches the condition | Character |
| Compare Radius | True if the radius matches the condition | Character |
| Compare Speed | True if the speed matches the condition | Character |
| Jump Force (Compare Jump Force) | True if jump force matches the condition | Character |
| Terminal Velocity (Compare Terminal Velocity) | True if max fall speed matches the condition | Character |
| Is Controllable | True if accepting Player input | Character |
| Is Dead | True if in death state | Character |
| Is Player | True if the Is Player flag is ON | Character |
Visuals
| Condition | Check | Main Parameters |
|---|---|---|
| Has Prop Attached | True if a Prop is attached to the specified bone | Bone / Character |
Events
Add to Trigger components to fire Instructions when the event occurs.
Characters (Root Level)
| Event | Trigger Timing |
|---|---|
| On Become Player | When an NPC switches to Player |
| On Become NPC | When a Player reverts to NPC |
| On Change Model | When the Character’s model changes |
| On Die | When the Character dies |
| On Revive | When reviving from death state |
Combat
| Event | Trigger Timing |
|---|---|
| On Defense Change | When Defense value changes |
| On Dodge | When an attack is evaded |
| On Invincibility Change | When invincibility state changes |
| On Poise Break | When Poise is broken |
| On Poise Change | When Poise value changes |
| On Target Change | When the combat target changes |
Navigation
| Event | Trigger Timing |
|---|---|
| On Dash | When a dash executes |
| On Jump | When a jump executes |
| On Land | On landing |
| On Step | On each footstep (useful for footprints, effects, and sound insertion) |
Ragdoll
| Event | Trigger Timing |
|---|---|
| On Start Ragdoll | When entering ragdoll state |
| On Recover Ragdoll | When recovering from ragdoll |
Note: Beyond what’s listed here, there are Character-related events in other categories such as Interaction (On Interact / On Focus / On Blur), Audio, and Input.
Level Up! The Guide to Great Video Game DesignView on Amazon →
Introduction to Game Design, Prototyping, and DevelopmentView on Amazon →
Practical Usage — Configuration Guide by Use Case
Summary of which Units and Instructions to use for “I want to achieve this character behavior”.
Standard 3D Action / RPG Player Controls
Configuration where the character moves with WASD / left stick relative to camera direction.
| Component | Setting |
|---|---|
| Player Unit | Directional |
| Driver Unit | Character Controller |
| Rotation Unit | Pivot (faces movement direction) |
The most versatile configuration, suitable for most 3D games.
Classic RPG / Strategy Point & Click Movement
Configuration where the character walks to the clicked point while avoiding obstacles.
| Component | Setting |
|---|---|
| Player Unit | Point & Click |
| Driver Unit | NavMesh Agent (for obstacle avoidance) |
| Rotation Unit | Pivot |
Fixed Camera Horror (Resident Evil Style) Tank Controls
Configuration where the character moves in its local forward direction with the forward key, regardless of camera orientation, and rotates in place with left/right keys.
| Component | Setting |
|---|---|
| Player Unit | Tank |
| Driver Unit | Character Controller |
| Rotation Unit | Tank (required, paired with Player Unit’s Tank) |
Strafing When Facing an Enemy
Normally faces movement direction, but when entering combat, always faces the enemy while moving laterally.
| Component | Setting |
|---|---|
| Normal Rotation Unit | Pivot |
| Combat Rotation Unit | Look at Target (always faces the enemy, strafing) |
| Switch Instruction | Set Character Rotation |
Seamlessly switches at runtime based on context.
TPS/FPS — Aligning Character Body to Camera Direction
Configuration where the character faces the same direction as the camera when aiming, with the weapon direction matching the camera’s line of sight.
| Component | Setting |
|---|---|
| Rotation Unit | Object Direction (aligns with camera object’s direction) |
Side-Scroll / Isometric Game Movement Constraints
Configuration that uses 3D space while constraining movement to specific axes or directions.
| Component | Setting |
|---|---|
| Driver Unit | Set the Axonometry field |
| Rotation Unit | Set Axonometry to the same value as Driver |
| Axonometry Mode | Use Case |
|---|---|
| Side-Scroll XY | Side-scrolling (X axis movement, Y axis gravity) |
| Side-Scroll YZ | Depth-direction side-scrolling |
| Isometric 8 Directions | Top-down isometric (8 directions) |
| Isometric Cardinal | 4 cardinal directions only |
| Isometric Ordinal | 4 diagonal directions only |
Available from v2.9.36. Set the same Axonometry on both Driver and Rotation for consistency.
Playing One-Shot Animations (Punch, Wave, etc.)
Plays once and automatically returns to the previous animation.
| Component | Setting |
|---|---|
| Instruction | Play Gesture |
| Minimum setup | Character + Animation Clip (defaults work for everything else) |
| Upper body only | Specify an Avatar Mask for upper-body-only actions while running |
| Sequential playback | Set Wait to Complete ON and line up multiple Gestures in Actions for ordered playback |
Gestures always take priority over all States.
Switching State Animations (Crouch, Swim, etc.)
Dynamically start and stop looping posture animations (crouch, sit, swim, etc.).
| Component | Setting |
|---|---|
| Start Instruction | Enter State (State Type = Animation Clip or State asset) |
| Stop Instruction | Stop State (Layer specified + Transition for fade out) |
| Layer | Higher numbers = higher priority |
Layer usage example:
- Layer 1: Running State (Speed = 10)
- Layer 2: Crouch-running State (Speed = 5)
- Adding Layer 2 plays the higher-layer State and changes movement speed to 5
- Stopping Layer 2 returns to Layer 1 and speed reverts to 10
States with Entry/Exit Animations
Like playing a “draw sword” animation → “guard stance loop” → “sheathe sword” animation on exit.
| Component | Setting |
|---|---|
| Asset | State asset (Create > Game Creator > Characters > Animation State) |
| Entry | Gesture played on State start (e.g., draw sword) |
| Exit | Gesture played on State end (e.g., sheathe sword) |
| State Clip | Looping animation (e.g., guard stance) |
Moving an NPC to a Position Before Acting
Configuration where an NPC walks to a door, stops in the correct orientation, then opens it.
| Component | Setting |
|---|---|
| Component | Marker (placed at destination) |
| Marker Type | Directional (stops at arrow position/orientation) |
| Instruction | Move To (Location set to Marker) |
Flow example: Move To (door Marker) → Wait to Complete → Play Gesture (door opening animation)
For crowds, slightly increasing Stop Distance allows NPCs to process as “approximately arrived” without jostling.
Creating a Marker That Allows Item Pickup from Any Angle
Makes item pickup feel natural regardless of approach direction.
| Component | Setting |
|---|---|
| Component | Marker (placed at item position) |
| Marker Type | Inwards (moves to nearest point on circumference, faces center) |
Death → Ragdoll → Revival Flow
Enemy goes ragdoll on death, automatically gets up on revival event.
| Component | Role |
|---|---|
| Death Instruction | Kill Character (disables interaction + auto-ragdoll) |
| Revival Instruction | Revive Character (orientation-based get-up animation → control restored) |
| Setup | Link Skeleton asset to Character’s Ragdoll section |
| Get-up animations | Set in Recover Face Down / Recover Face Up |
| Transition Duration | 0.5 seconds or more recommended (to avoid snap) |
Using Start Ragdoll directly leaves input active, so the Kill/Revive pair is typically recommended.
Disabling Player Controls During Cutscenes
Prevents the player from moving during events.
| Component | Setting |
|---|---|
| Instruction | Is Controllable (Character / Is Controllable = false) |
| Restore | Set Is Controllable = true at cutscene end |
Matching Interaction Priority to Control Type
| Mode | Ideal Control Style |
|---|---|
| Near Character | Controller (closest target to character center) |
| Screen Center | FPS (prioritizes target nearest screen center) |
| Screen Cursor | Point & Click (prioritizes target nearest cursor) |
Set in the Mode field of the Interaction section inside the Character’s Motion Unit.
Making an NPC Follow a Specific Character
Making an escort NPC follow the player.
| Component | Setting |
|---|---|
| Start Instruction | Start Following (Target = Player, specify follow distance with Min/Max Distance) |
| Stop Instruction | Stop Following |
Stops when within Min Distance, starts chasing when beyond Max Distance. With NavMesh Agent driver, follows while avoiding obstacles.
Implementing an Action Game Dodge Dash
A quick evasive dash in a specified direction on button input.
| Component | Setting |
|---|---|
| Instruction | Dash |
| Direction | Dash direction |
| Velocity | Dash speed |
| Duration | Dash duration (seconds) |
| Mode | Cardinal (4 directions) / Single (input direction) |
| Transition In/Out | Animation blend in/out |
Use Cancel Dash to interrupt mid-dash.
Attaching Weapon and Item Props to Characters
Configurations like holding a sword or attaching a shield to the back.
| Component | Setting |
|---|---|
| Instruction | Attach Prop (specify Character / Bone / Position / Rotation) |
| Removal | Remove Prop (disappears) or Drop Prop (drops) |
| Handles Asset | Useful when sharing attachment positions across multiple characters |
Conditional branching for Humanoid/non-Humanoid attachment points can be configured within the Handles asset.
Grounding Feet to Terrain (IK)
Makes character feet naturally contact the ground on slopes and steps.
| Component | Setting |
|---|---|
| IK Rig | Feet Align (Humanoid only) |
| Foot Offset | Vertical offset to correct the gap between bone tip and mesh surface |
| Foot Mask | Layers for ground detection (exclude water surfaces, etc.) |
Making Characters Naturally Look at Nearby Points of Interest
When the player approaches a Hotspot, their head, neck, and chest turn toward it.
| Component | Setting |
|---|---|
| IK Rig | Look at Target (Humanoid only) |
| Track Speed | Gaze speed (deg/s) |
| Max Angle | Peripheral vision angle (won’t track beyond this) |
| Weights | Rotation contribution of Head / Neck / Chest / Spine |
Works in conjunction with the Hotspot component.
Official Links
Summary
In this article, we covered the Characters system of Game Creator 2.
Characters is a system that achieves character control for any game genre by combining 5 Units (Player, Motion, Driver, Rotation, and Animation).
It offers broad support from no-code configuration changes to C# script extension, with the flexibility to handle everything from prototypes to full production.
We hope you’ll check out our other articles as well.
📚 Series: Game Creator 2 Complete Guide (2/16)