Use these Character Manager patterns to build the smallest controller layout that supports the camera perspective, visible body, separate first-person arms, items, and model switching needed by the game.

Before you begin

  • Complete Quick Setup, including the project layers and scene managers.
  • Import the first-person, third-person, or combined controller required by the intended Perspective.
  • Place every visible full-body model in the scene. A bodyless first-person character can leave Character empty, but Character Manager cannot build directly onto a prefab asset.
  • Prepare an Animator Controller for every generic model and every separate arm rig that needs animation. Humanoid models can use the included controller when their Avatar is valid and has a Head bone.
  • If the character will carry items, create an Item Collection and Item Set Rule before building.

See Character Creation for the complete explanation of the manager and its optional systems.

Choose a layout

Player presentation Character Manager choice Generated result
First person with arms but no full body Character is empty, Perspective is First, and Animator is off. Creates a FirstPersonCharacter controller root and parents any configured First Person Arms beneath its first-person objects.
First person with a visible body Assign one model, choose First, keep Animator on, and configure Third Person Objects. Builds the full controller around the model while hiding selected head or body meshes from the first-person camera.
Third person only Assign one model and choose Third. Builds a model-driven controller with a third-person movement type and no first-person arm hierarchy.
Switchable first and third person Assign one model and choose Both. Adds both movement types and a Perspective Monitor so character visibility follows the camera perspective.
One controller with interchangeable models Assign two or more Character Model rows and configure each model separately. Adds a Model Manager; the first listed model is active initially and the others can be selected at runtime.

Build the selected layout

  1. Open Tools > Opsive > Ultimate Character Controller > Character Manager.
  2. Assign Character when the layout uses a full-body model, then choose Perspective.
  3. Choose the visible First Person Movement and/or Third Person Movement fields. The available names depend on the installed controller packages.
  4. For each visible model, confirm Character Model, Model Type, and Animator Controller.
  5. For a first-person-capable layout, assign optional First Person Arms and their Animator Controllers. Add the model’s head, body arms, or other unwanted first-person renderers to Third Person Objects.
  6. If Items is enabled, assign Item Collection and Item Set Rule, then use Adjust Slots as described below.
  7. Select only the optional systems the character needs, resolve every displayed error, and select Build Character.
  8. Open Tools > Opsive > Ultimate Character Controller > Setup Manager. On Scene, open Camera Setup, choose the matching Perspective and View Type fields, then select Setup Camera. For Both, also choose the camera’s Start Perspective.

If exactly one character exists when Setup Camera runs, the new Camera Controller is assigned to it automatically. Otherwise, assign the controller root to the Camera Controller’s Character field.

The following screenshots focus on the fields that define each layout. Health, Unity IK, Foot Effects, Ragdoll, and other optional systems can be selected independently. Input System appears between NavMeshAgent and Items only when Unity’s Input System is installed, so that row is not present in every valid configuration.

First person without a full body

Use this layout when only separate arms and held items should be visible.

  1. Leave Character empty, choose First, and select a First Person Movement type.
  2. Turn off Animator. A bodyless character cannot keep that option enabled.
  3. Assign the arm rig to First Person Arms and its controller in the adjacent Animator Controller field.
  4. If items are enabled, map the arm rig’s attachment points with Adjust Slots.
  5. Configure the camera with Perspective: First and the intended First Person View Type.

Character Manager for a bodyless First perspective character with First Person Combat movement, separate Atlas arms, items enabled, and Animator disabled

After the build, the controller has no full-body model. In Play Mode, only the separate arms and their first-person items should render from the player camera.

First person with a full body

Use this layout for first-person body awareness while retaining a separate arm rig for weapons or interactions.

  1. Assign the scene model to Character, choose First, and keep Animator enabled.
  2. Confirm Character Model 1, Model Type, and Animator Controller.
  3. Assign the separate rig to First Person Arms.
  4. Add the full-body head and body arms to Third Person Objects so they do not obstruct the first-person camera. Add only the renderers that should disappear; the remaining body stays visible.
  5. Map equivalent hand or attachment points to the same item slot IDs.

Character Manager for an Atlas full-body First perspective character with a humanoid Animator, separate arms, Arms and Head hidden in first person, and matching item slots

This is a first-person-only controller: the full body provides awareness, but it does not add a third-person movement type or View Type.

Third person only

Use this layout when the camera always shows the character and no first-person arms are needed.

  1. Assign the model, choose Third, and select Third Person Movement.
  2. Keep Animator enabled and confirm the model type and Animator Controller.
  3. Configure the full-body Item Slots if items are enabled. First Person Arms and Third Person Objects are not shown for this perspective.
  4. Configure the camera with Perspective: Third and the intended Third Person View Type.

Character Manager for an Atlas Third perspective character using Third Person Adventure movement with humanoid animation and left and right hand item slots

The built character contains only the selected third-person movement path. Adding a first-person camera later also requires updating the character to Both or First.

Switchable first and third person

Use this layout when the player can change perspective during play.

  1. Assign the full-body model and choose Both.
  2. Choose both First Person Movement and Third Person Movement.
  3. Configure First Person Arms, Third Person Objects, and matching Item Slots just as for the full-body first-person layout.
  4. In Setup Manager > Scene > Camera Setup, choose Both, select both View Types, choose Start Perspective, and select Setup Camera.

Character Manager for an Atlas Both-perspective character with First Person Combat and Third Person Adventure movement, separate arms, hidden Arms and Head, and four item-slot entries

Released Version 3 limitation: Character Manager does not expose a Start Perspective field and builds a new Both character with its first-person movement type selected first. The camera’s Start Perspective is configured separately in Setup Manager. Always verify that the active camera View Type and movement type agree after entering Play Mode.

Multiple interchangeable models

Use this layout for skins, forms, or characters that share one controller but need different rigs or first-person representations.

  1. Configure the first scene model normally.
  2. Assign another scene model in the empty Character Model 2 row. Additional empty model rows appear as each model is added.
  3. For every model, choose its own Model Type and Animator Controller.
  4. Configure that model’s First Person Arms, Third Person Objects, and Item Slots. Do not assume one model’s hand bones or hidden meshes apply to another.
  5. Build the character once. The generated Model Manager lists the available models and uses the first model initially.

Character Manager for a Both-perspective controller with Atlas and Rhea models, each configured with its own arms, hidden objects, Animator Controller, and item slots

Changing the active model is a separate runtime action; adding models in Character Manager does not create a player-facing selection menu. See Model Switch for the switching workflow.

Match item slots across views and models

The slot ID identifies an attachment role, not a particular transform. A right-hand slot should therefore use the same ID on the full-body model, each first-person arm rig, and every interchangeable model.

  1. Enable Items, assign the data assets, and select Adjust Slots.
  2. Under Model, assign the full-body attachment points. A valid humanoid is initially populated with right hand ID 0 and left hand ID 1.
  3. Under each First Person Arms group, assign the equivalent transforms and reuse those IDs.
  4. Keep every ID unique within one model or arm group. Resolve any duplicate parent or duplicate ID error before closing Character Item Slots.

Character Item Slots window matching right-hand ID 0 and left-hand ID 1 between the Atlas model and its first-person arm rig

For a new character, Build Character applies these IDs. On an existing character, Update Character checks for changed slot parents but ignores ID-only changes when those parents stay the same. Correct ID directly on each affected Character Item Slot component before Play Mode, including equivalent slots on every model and arm rig. Continue with Item Support before creating perspective-specific Character Items.

Verify in Play Mode

  1. Enter Play Mode and confirm that the camera follows the controller and the chosen movement type responds to input.
  2. In first person, confirm that separate arms render, configured Third Person Objects disappear, and the remaining full body does not block the camera.
  3. For Both, switch perspectives in both directions. The camera View Type, movement type, arm visibility, and hidden full-body objects should change together.
  4. Equip an item in every configured slot. Its full-body and first-person versions should attach to the equivalent location.
  5. For a multi-model character, switch to every available model. Only one model should remain active, animation should continue, and items should stay on the intended slots.

Troubleshooting

Symptom Check Fix
Build Character is disabled. Check for a prefab in Character, an enabled Animator with no model, a missing perspective package, missing item assets, or an error in Character Item Slots. Use a scene model, disable Animator for a bodyless setup, import the required controller, assign the item assets, and resolve every slot-window error.
The head or body arms cover the first-person camera. Check Third Person Objects for the affected model. Add only the unwanted head or arm renderers, select Update Character, and retest the first-person View Type.
Separate arms do not animate. Check the Animator Controller field beside each First Person Arms entry. Assign the controller made for that arm rig and update the character.
An item appears in the wrong hand or jumps when perspectives change. Compare the slot parent and ID for the model, arm rig, and active interchangeable model. Use Adjust Slots for parent changes. For an existing slot whose parent is correct, edit ID on its Character Item Slot component directly; repeat the matching ID on equivalent slots.
A Both character starts in the wrong perspective or uses the wrong movement. Check the camera’s Start Perspective, View Types, and Character assignment. Correct Setup Manager > Scene > Camera Setup, then enter Play Mode again and verify the camera and locomotion synchronize.
Switching models leaves the wrong mesh or item visible. Check the Model Manager’s available models and each model’s first-person objects, hidden objects, and slots. Return to Character Manager, configure every model-specific row, select Update Character, and test every model again.

Developer details

The generated Model Manager exposes ActiveModel and ChangeModels(GameObject) for model selection. It activates the selected model, deactivates the previous model, transfers animation parameters, updates model states, and sends OnCharacterSwitchModels.

For a custom perspective control, the Camera Controller owns the runtime camera change through SetPerspective(bool) or TogglePerspective(). Keep that camera state synchronized with the character rather than trying to set a start perspective in Character Manager.