Framing
Camera Offset
Pivot Offset
The Framing system defines the default spatial relationship between the character, the camera pivot, and the final camera position.
It is responsible for the core shape of the camera:
- how far the camera stays from the character
- how high the pivot sits
- how the camera is offset for shoulder or cinematic framing
- how runtime framing changes are blended during gameplay
Settings
The framing system is defined by four core parameters. These parameters define the default camera layout before any runtime changes are applied.
- Camera Distance - сontrols how far the camera stays from the pivot in its default unobstructed state
- Pivot Height - сontrols the vertical position of the pivot relative to the actor origin. This defines the center of rotation for the camera
- Additional Camera Offset - applies a local offset to the final camera position. Used for framing adjustments such as shoulder cameras or asymmetrical layouts
- Additional Pivot Offset - applies an offset directly to the pivot after pivot height is calculated. This shifts the center of rotation itself rather than the final camera position
Runtime Blending
Runtime framing changes are applied as temporary overrides on top of the base camera settings.
These overrides:
- do not modify base settings
- are applied at runtime only
- can be combined and layered
All changes are smoothly interpolated from the current state to a target state.
Blending is controlled by:
- Blend Time - duration of the transition
- Blend Curve - optional curve shaping the interpolation
By default, a smooth ease curve is used to provide natural camera motion during blending.
In some cases where responsiveness is more important than smoothness, a linear transition may be preferred.
To achieve this, you can create a custom CurveFloat asset with a linear shape (keyframes from 0 to 1) and pass it as the BlendCurve parameter in framing functions.
SetFraming
Set Framing applies all major runtime framing values at once:
- camera distance
- pivot height
- camera offset
- pivot offset
- FOV offset
Use it when multiple parameters should change together as part of a single transition.
ResetFraming
ResetFraming returns all runtime framing values back to their base settings over time.
Individual Runtime Controls
You can also control framing elements individually:
- Set Camera Distance / Reset Camera Distance
- Set Pivot Height / Reset Pivot Height
- Set Camera Offset / Reset Camera Offset
- Set Pivot Offset / Reset Pivot Offset
- Set FOV Offset / Reset FOV Offset
Shoulder Switching
Swap Camera Shoulder mirrors the final camera shoulder by flipping the current runtime Y offset around the center line.
The base Additional Camera Offset value is not modified.
Visual Examples
Camera Distance
Camera Distance controls how far the camera stays from the pivot in its default unobstructed state.
Lower values create a closer framing. Higher values place the camera further away from the character.
This behavior is controlled at runtime using Set Camera Distance.
Camera Offset
Additional Camera Offset changes the final framing of the camera without moving the pivot itself.
This is commonly used for:
- shoulder cameras
- asymmetrical framing
- action and shooter-style layouts
Camera offset is applied within the current camera distance.
If the offset would place the camera farther from the pivot than the allowed camera distance, it is effectively limited.
To move the camera further away from the character, increase Camera Distance instead of using Camera Offset.
This is driven by Set Camera Offset.
Pivot Height
Pivot Height moves the pivot vertically and changes the orbit center of the camera.
This affects the overall composition of the shot and can make the camera feel:
- lower and heavier
- higher and more overview-oriented
- more suitable for specific character proportions or gameplay needs
At runtime, this is adjusted using Set Pivot Height.
FOV Offset
FOV Offset changes the field of view at runtime without modifying the base camera FOV.
This is useful for:
- temporary zoom in or zoom out
- sprint framing
- combat emphasis
- scripted transitions
This effect is applied using Set FOV Offset.
Runtime Control
The Framing system is controlled through runtime functions.
For a complete list of functions and parameters, refer to the API Reference.
Main Functions
- Set Framing - sets all runtime framing parameters at once
-
Reset Framing - resets all runtime framing values back to base settings
-
Set Camera Distance - blends the runtime camera distance to a new value
-
Reset Camera Distance - resets the runtime camera distance to the base value
-
Set Pivot Height - blends the runtime pivot height to a new value
-
Reset Pivot Height - resets the runtime pivot height to the base value
-
Set Camera Offset - blends the runtime camera offset to a new value
-
Reset Camera Offset - resets the runtime camera offset to zero
-
Set Pivot Offset - blends the runtime pivot offset to a new value
-
Reset Pivot Offset - resets the runtime pivot offset to zero
-
Set FOV Offset - blends the runtime FOV offset to a new value
- Reset FOV Offset - resets the runtime FOV offset to zero
Notes
- Runtime framing changes do not modify the base settings stored on the component
- Get Camera Offset and Get Pivot Offset return the base offset values
- Get Current Camera Offset and Get Current Pivot Offset return the current runtime offset values
- Get FOV Offset returns only the runtime FOV offset and does not include pitch-based FOV effects
- Camera collision may compress the final result, so the visible camera position can be closer than the desired camera distance
- Camera offset and pivot offset are not interchangeable: pivot offset changes the center of rotation, while camera offset changes the final framing around that center
- Set Framing is the best choice when multiple framing parameters should transition together as one intentional camera state