---
title: "Character Controller Library"
url: /docs/en-us/characters/character-controller-library
last_updated: 2026-07-08T21:51:39Z
description: "The Character Controller Library (CCL) is a modular framework for building character movement and behaviors through attributes and Luau scripts."
---

# Character Controller Library

The **Character Controller Library** (CCL) is a modular framework for building character movement and behaviors through attributes and Luau scripts. This architecture replaces rigid `Class.Humanoid` state machines with a flexible, extensible system for character mechanics built around abilities and controllers.

> **Success:** The CCL is **opt-in** through the [Avatar Settings](/docs/en-us/studio/avatar-settings.md) window and experiences can continue using the legacy movement system.
## Abilities

[Abilities](/docs/en-us/characters/abilities.md) evaluate what a character can do, such as the ability to run, jump, climb, and swim. Instead of relying on a fixed set of engine‑defined character states like those in `Enum.HumanoidStateType`, abilities dynamically determine what a character can do and how it should respond to player input.

> **Info:** At this time, custom abilities are not supported, although the CCL fully supports the traditional character abilities (run, climb, jump, swim, etc.) and you can customize their behaviors more easily. In the future, custom abilities will allow you to add new character mechanics such as crouching, aiming, wall‑jumping, and more.
## Controllers

[Controllers](/docs/en-us/characters/controllers.md) apply the physical simulation of movement, for example movement behavior on ground, in the air, in water, etc. [Abilities](/docs/en-us/characters/abilities.md) interact with controllers to change physical behaviors or to switch between controller contexts; for example, an ability might update movement acceleration, change direction, or activate an air controller instead of a ground controller.