> For the complete documentation index, see [llms.txt](https://rigonix3d.gitbook.io/rigonix3d-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rigonix3d.gitbook.io/rigonix3d-docs/documentation/getting-started/publish-your-docs.md).

# Creating a Character Manually

Wire up the controller by hand, or retrofit an existing character.

## Component reference

A Rigonix character is a humanoid GameObject with the components below. Adding **RigonixController** pulls in the required ones automatically via `[RequireComponent]`:

| Component                | Added by               | What it's for                                                               |
| ------------------------ | ---------------------- | --------------------------------------------------------------------------- |
| **RigonixController**    | You                    | The player driver — owns camera, HUD, and the player-facing modules.        |
| **RigonixCharacterCore** | Auto                   | The body — hosts locomotion, airborne, animator, ragdoll, IK, audio, input. |
| **Rigidbody**            | Auto                   | Physics body for movement and collisions.                                   |
| **Animator**             | Auto                   | Drives the humanoid rig; needs a valid Avatar.                              |
| **Collider** (Capsule)   | Auto                   | The character's capsule; resized per stance by locomotion.                  |
| **rCameraController**    | You *(or the creator)* | The third-person camera; set its **Target** to the character root.          |

***

The [Character Creator](/rigonix3d-docs/documentation/getting-started/quickstart.md) does this for you, but knowing the manual path is useful when you're retrofitting an existing rig or debugging a setup that isn't behaving.

### The required components

The controller declares its hard dependencies with `[RequireComponent]`, so Unity adds the physics pieces automatically the moment you add the controller:

```csharp
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(Collider))]
[RequireComponent(typeof(RigonixCharacterCore))]
public class RigonixController : RigonixBehaviour, ICharacterDriver, ILocomotionDriver, IDrawsCore
```

### Steps

{% stepper %}
{% step %}

#### Start with a humanoid model

Drop your humanoid FBX into the scene. Confirm its **Animator** has a valid humanoid **Avatar** assigned.
{% endstep %}

{% step %}

#### Add the controller

Add the **RigonixController** component. Unity immediately pulls in the `Rigidbody`, `Collider`, and `RigonixCharacterCore` because of the `[RequireComponent]` attributes above. You now have a full character body — the Core hosts the body modules, the Controller drives them.
{% endstep %}

{% step %}

#### Fit the capsule collider

Select the capsule collider and size it to your model — roughly `height ≈ character height`, `radius ≈ shoulder width / 2`, centered at half height. The Character Creator does this automatically via its `FitCapsuleToHumanoid` pass; by hand, just eyeball it against the mesh in the Scene view.
{% endstep %}

{% step %}

#### Assign a camera

Drop a **rCameraController** onto your main camera (or let the creator spawn one) and set its `target` to the character root. The controller's camera event handlers do the rest — crouching, aiming, and sprinting all re-frame the camera automatically.
{% endstep %}

{% step %}

#### Set up an Animator Controller

Assign the Rigonix animator controller (or your own, matching the expected parameter names) to the Animator. Locomotion writes blend values into it every frame through the Animator module.
{% endstep %}

{% step %}

#### Optional: ragdoll, footsteps, IK

Add a ragdoll via the Ragdoll setup guide, foot sensors via the [Footstep system](/rigonix3d-docs/documentation/systems-in-depth/footstep-system.md), and tune IK in the [IK System](/rigonix3d-docs/documentation/the-modules/ik-system.md) tabs. None of these are required for basic movement.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
**Don't add add-on modules to the controller by hand.** Melee, AI, and shooting attach to the `RigonixCharacterCore`, never to the driver. This is the boundary that keeps your buyer prefabs from breaking when an add-on updates. More on this in Core vs Controller.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://rigonix3d.gitbook.io/rigonix3d-docs/documentation/getting-started/publish-your-docs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
