> For the complete documentation index, see [llms.txt](https://lightbug14.gitbook.io/ccp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lightbug14.gitbook.io/ccp/how-to.../implementation/organize-the-character-hierarchy.md).

# Organize the character hierarchy

The main rule is: **CharacterBody and CharacterActor should always be in the root object (the "character" object).**

You can be creative with the rest of the components.

The demo characters use the following hierarchy:

![](https://3428853154-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvxVSjyzvP6F7c9h_Hu%2F-MA7oDdGet1MsRLZGHdW%2F-MA7o_GIoYaiBEzg5zjJ%2Fimagen.png?alt=media\&token=4e322bd7-b92c-48bb-8614-ec314e9fb394)

|             |                                                                                                     |
| ----------- | --------------------------------------------------------------------------------------------------- |
| Root        | Contains ***CharacterBody*** and ***CharacterActor***                                               |
| Graphics    | Contains the **visual elements** of the character, from sprites to animated 3D meshes.              |
| States      | Contains the ***CharacterStateController*** and every ***CharacterState*** related to the character |
| Actions     | Contains the ***CharacterBrain*** and all the ***AIBehaviours*** (AI characters).                   |
| Environment | Contains the ***MaterialController*** (used by some of the states included in the Demo)             |
