advanced-character-controller

Generate kinematic and rigidbody 3D character controllers with ground detection and jump buffering.

71|11|Updated Jan 23, 2026
One-click install
npx skills add https://github.com/nlelouche/Unity-SkillForge --skill advanced-character-controller-nlelouche
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: advanced-character-controller
Source: https://github.com/nlelouche/Unity-SkillForge/tree/main/.agent/skills/02-gameplay/advanced-character-controller
Command: npx skills add https://github.com/nlelouche/Unity-SkillForge --skill advanced-character-controller-nlelouche

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill provides a robust and feature-rich 3D character controller, addressing the limitations of Unity's default CharacterController and enabling complex player movement mechanics.

Core Features & Use Cases

  • Comprehensive Movement: Handles ground detection, jumping (variable height), slopes, coyote time, and jump buffering.
  • State Management: Supports integration with state machines for complex character behaviors.
  • Use Case: Implement a precise and responsive player controller for a 3D platformer or action game, ensuring smooth transitions between grounded and aerial states.

Quick Start

Generate a kinematic 3D character controller named 'PlayerController' in the 'Game.Gameplay' namespace.

Frequently Asked Questions about advanced-character-controller

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement coyote time and jump buffering in a Unity 3D character controller?

Coyote time and jump buffering are built into this 3D character controller to ensure responsive platformer movement, allowing players to jump shortly after leaving a ledge or queue a jump input before landing.

How does a state machine integrate with 3D character movement in Unity?

A state machine integrates with 3D character movement by managing smooth transitions between grounded and aerial behaviors. This controller supports state-based architecture to handle complex gameplay mechanics for action games.

What is the best way to handle slopes and variable jump height in a 3D platformer?

The best way to handle slopes and variable jump height is using a controller that includes ground detection and slope handling logic. This system provides built-in templates to manage these mechanics robustly.

Can I use a kinematic controller instead of a rigidbody for 3D character movement?

Yes, you can use a kinematic controller. This system offers templates for both kinematic and rigidbody controllers, letting you choose the physics approach that best fits your 3D movement requirements.

Why does Unity's default CharacterController feel limited for 3D platformers?

Unity's default CharacterController lacks advanced mechanics like variable jump height and coyote time. This controller overcomes those limitations by providing a feature-rich alternative for precise platformer movement.

Do I need to manually script ground detection for a state-based character controller?

No, ground detection is included natively. The controller provides comprehensive ground detection out of the box, enabling accurate transitions between grounded and aerial states without manual scripting.