First Person
First Person is the shared baseline for Ultimate Character Controller’s normal first-person camera options. It supplies rendering, field-of-view, spring, bob, pitch-limit, and head-tracking behavior; the selectable Combat and Free Look View Types decide how yaw and character facing behave.
The First Person base is abstract and does not appear as a selectable camera option. Use this page to configure the fields inherited by Combat and Free Look.
Choose Combat or Free Look
| Scenario | Choose | Pair with | Expected relationship |
|---|---|---|---|
| A conventional first-person game where look input turns the view and character together | Combat | First Person Combat Movement Type | Camera yaw, character facing, aiming, and item use remain coordinated. |
| The camera can look independently while the character or weapon keeps its own facing | Free Look | First Person Free Look Movement Type | Camera yaw can separate from character and item direction within the configured yaw limits. |
For a Transform-driven special view rather than normal player look input, return to the Included View Types catalog.
Set up the Camera Controller
- Select the camera with the Camera Controller component and expand View Types.
- Use the add control and select First Person Combat or First Person Free Look.
- Select the new row to show its inherited First Person settings.
- Select its radio button in the Active column. When the camera also has third-person View Types, choose it in First Person View Type and enable Can Change Perspectives only when switching is allowed.
- On the character, select the matching first-person Movement Type.
- Configure horizontal and vertical look mappings through Input.
- Choose Object Overlay Render Type for the project’s render path, then verify arms and items near a wall before tuning camera motion.
Choose how first-person objects render
Hands and items rendered by the same camera as the scene can intersect nearby geometry:

Separating first-person objects from scene rendering prevents that visual overlap:

Choose Object Overlay Render Type by scenario:
| Choice | Use it when | Important checks |
|---|---|---|
| Second Camera | A child camera should render only first-person objects. Selecting this mode adds the first-person camera when it does not already exist. | Verify First Person Camera, both culling masks, field of view, and the child camera’s position and rotation offsets. |
| Render Pipeline | URP or HDRP should render first-person overlay objects through the active render-pipeline integration. | Verify First Person Culling Mask and the imported render-pipeline integration in Quick Setup. |
| None | Arms and items should share normal scene depth and are intentionally allowed to intersect scene geometry. | Test every close interaction and item animation because the overlay no longer prevents clipping. |
With Second Camera, enable Synchronize Field Of View when the child camera should follow the main camera’s field of view. Otherwise, tune First Person Field Of View and First Person Field Of View Damping separately. First Person Position Offset and First Person Rotation Offset place the child camera relative to the main camera.
Configure framing and head tracking
- Look Offset positions the view relative to the character anchor; Look Down Offset moves it while looking down so the camera does not enter the body.
- Culling Mask controls what the main camera renders. Keep it consistent with the first-person overlay choice.
- Field Of View and Field Of View Damping control the main camera’s framing and transition speed.
- Position Lower Vertical Limit prevents the view from moving too far into the character.
- Pitch Limit sets the minimum and maximum vertical look angles; Look Direction Distance limits gameplay look queries.
- Smooth Head Offset Steps averages recent humanoid head offsets. Set it to
0to disable head-position tracking. - Rotate With Head includes animated head rotation. Vertical Offset Lerp Speed smooths vertical movement when the character does not have a head bone.
- Collision Radius helps keep the camera from clipping scene geometry.
Use fewer Smooth Head Offset Steps for a more responsive view and more steps for a smoother result. Test crouching, height changes, steep look angles, and strongly animated head motion rather than judging this setting while the character is idle.
Configure camera motion
Tune these groups after rendering and head tracking work:
- Primary Spring: Position Spring and Rotation Spring handle regular responsive motion. Position and rotation fall-impact values react to landings, while Rotation Strafe Roll leans with sideways velocity. Secondary Rotation Speed smooths override or gravity-alignment rotation.
- Secondary Spring: Secondary Position Spring and Secondary Rotation Spring return short forces such as recoil toward equilibrium.
- Bob: Positional and roll rates set frequency; amplitudes set strength. Input velocity scale and maximum input velocity keep speed changes controlled. Trough offset and force add a reaction at the low point. Bob Require Ground Contact prevents normal bob while airborne.
- Shake: Shake Speed and Shake Amplitude add continuous rotational variation.
See Springs for stiffness, damping, and force behavior. Minimize springs, bob, and shake first, then enable one source at a time so authored animation and head tracking are not mistaken for procedural motion.
Configure Free Look limits
Free Look adds these choices to the shared First Person settings:
- Yaw Limit sets the allowed horizontal range.
- Yaw Limit Lerp Speed controls how quickly the camera returns inside that range.
- Base Rotation Type selects None, Rotate With Character, or Rotate With Moving Platform. Choose which external rotation should carry the independent view; the old standalone Rotate With Character Boolean is obsolete.
Test Free Look at both yaw limits while moving, aiming, using an item, and rotating the character. The camera’s independent direction must not imply an item direction that the gameplay does not use.
Verify in Play Mode
- Look through the full pitch range, crouch, stand, jump, and land. The camera should stay outside the character mesh and settle after head or fall motion.
- Walk into a wall with a first-person item equipped. With Second Camera or Render Pipeline, the arms and item should remain visible without being cut by the wall.
- Change field of view or zoom. The main and first-person object rendering should stay visually aligned for the selected synchronization choice.
- Move at slow and fast speeds, strafe, jump, and land. Bob, roll, fall impact, and springs should remain controlled and return toward rest.
- In Combat, turn and use an item; camera, character, and item direction should agree.
- In Free Look, rotate away from character forward and verify the yaw limits, return speed, movement, and item direction.
- If both perspectives are present, switch to third person and back. The configured first-person default, overlay rendering, pitch, and field of view should restore correctly.
Troubleshooting
| Symptom | Check | Fix |
|---|---|---|
| First Person cannot be added from the View Type menu. | First Person is an abstract family, not a concrete option. | Add Combat or Free Look and use this page for their inherited settings. |
| Arms or items clip through walls. | Object Overlay Render Type may be None or its render setup may be incomplete. | Choose Second Camera or Render Pipeline, then verify culling masks and the active pipeline integration. |
| Arms or items disappear. | The main and first-person culling masks may exclude the wrong layers. | Compare Culling Mask with First Person Culling Mask and verify which camera renders the overlay layer. |
| Main and first-person object framing do not match during zoom. | Field-of-view synchronization or damping may differ. | Enable Synchronize Field Of View, or deliberately match the two field-of-view values and damping. |
| The camera enters the head or body. | Head tracking, look-down offset, lower vertical limit, or collision radius may not fit the model. | Tune those fields while crouching and looking through the full pitch range. |
| Motion feels noisy or causes discomfort. | Head tracking, authored animation, springs, bob, and shake may all contribute at once. | Minimize procedural groups, establish a stable baseline, then restore one source at a time. |
| Free Look points beyond its intended range. | Yaw Limit or Yaw Limit Lerp Speed may be unsuitable. | Tune the range and return speed while testing movement and character rotation. |
Developer note
The package defines FirstPerson as an abstract ViewType. Combat and Free Look derive from it and inherit the rendering, spring, bob, limit, and head-tracking fields described above. Selecting Second Camera invokes the editor builder that creates the child first-person camera when needed; changing to Render Pipeline or None removes that child-camera setup from the View Type.