<!--
{
  "documentType" : "article",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/game-development-character-skeletons",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Character control, skeletons, and inverse kinematics"
}
-->

# Character control, skeletons, and inverse kinematics

Direct the movements and animation of models.

## Overview

Games and immersive game-like experiences often rely on animated character models to represent the player or non-player characters.
The `CharacterControllerComponent` simplifies the process of moving a character around a scene.
It handles basic movement, including navigating up and down stairs and slopes and jumping.
It also allows you to sync the character movement with specific animations.

To further animate models in the scene, you may need to define a [`SkeletalPose`](/documentation/RealityKit/SkeletalPose) or adopt a full
inverse kinematics solution with [`IKComponent`](/documentation/RealityKit/IKComponent).

## Topics

### Character control

[`CharacterControllerComponent`](/documentation/RealityKit/CharacterControllerComponent)

A component that manages character movement.

[`Collision`](/documentation/RealityKit/CharacterControllerComponent/Collision)

A container that holds collision state for the character controller.

[`CollisionFlags`](/documentation/RealityKit/CharacterControllerComponent/CollisionFlags)

An option set that specifies which parts of the character capsule have collided with other objects.

[`CharacterControllerStateComponent`](/documentation/RealityKit/CharacterControllerStateComponent)

A component that represents the state of a character controller.

### Skeletons

[`SkeletalPosesComponent`](/documentation/RealityKit/SkeletalPosesComponent)

A component that exposes the collection of named animation skeletal poses.

[`SkeletalPose`](/documentation/RealityKit/SkeletalPose)

A container that holds the position and orientation of each joint in a single animation skeleton.

[`SkeletalPoseSet`](/documentation/RealityKit/SkeletalPoseSet)

A collection of named skeletal poses.

### Inverse kinematics components

[`IKComponent`](/documentation/RealityKit/IKComponent)

A component that allows you to procedurally animate a skeletal model using a full body inverse kinematics solver.

[`Joint`](/documentation/RealityKit/IKComponent/Joint)

The update stage object that lets you read and update the current settings of a single joint in an IK solver.

[`JointCollection`](/documentation/RealityKit/IKComponent/JointCollection)

Ordered dictionary like container with fixed size.

[`Solver`](/documentation/RealityKit/IKComponent/Solver)

The update stage object that lets you read and update the current settings of a single solver instance.

[`SolverCollection`](/documentation/RealityKit/IKComponent/SolverCollection)

Ordered dictionary like container with fixed size.

[`Constraint`](/documentation/RealityKit/IKComponent/Constraint)

The update stage object that lets you read and update the current settings of a single constraint in an IK solver.

[`ConstraintCollection`](/documentation/RealityKit/IKComponent/ConstraintCollection)

Ordered dictionary like container with fixed size.

[`IKResource`](/documentation/RealityKit/IKResource)

A reference counted immutable resource which contains one or more inverse kinematics solver rigs.

[`IKSolverDefinition`](/documentation/RealityKit/IKSolverDefinition)

A container describing a solver instance.

### Inverse kinematics rigs

[`IKRig`](/documentation/RealityKit/IKRig)

A full body inverse kinematics rig definition for a single skeleton.

[`Joint`](/documentation/RealityKit/IKRig/Joint)

A definition of a rig joint and its IK solver settings.

[`JointCollection`](/documentation/RealityKit/IKRig/JointCollection)

Ordered dictionary-like container with a fixed size.

[`Constraint`](/documentation/RealityKit/IKRig/Constraint)

A definition of a rig constraint.

[`ConstraintsCollection`](/documentation/RealityKit/IKRig/ConstraintsCollection)

Ordered dictionary-like container.

### Skeletons and retargeting

[`SkeletonResource`](/documentation/RealityKit/SkeletonResource)

A self-contained skeleton asset for animating characters and articulated objects.

[`RetargetingConfiguration`](/documentation/RealityKit/RetargetingConfiguration)

A configuration for retargeting skeletal animations between different skeletons.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)