How-To: Expose Camera Options as User Settings
Goal: let players tune the camera from an options menu - field of view, screen-shake intensity, occlusion fade, camera lag, and auto-recenter. CrimsonCamera exposes a runtime setter for each; any system can call them, and on the full Crimson stack CrimsonCore applies a player's saved choices for you.
UCrimsonCameraComponent and a working third-person mode (Quick Start). For occlusion options, the pawn also has a UCrimsonCameraOcclusionComponent.Camera.FieldOfView) and CrimsonCore's player camera manager reads the saved values and applies them each frame. See the CrimsonSettings wiki -> How-To: Expose Another Plugin's Settings. The setters below are what that layer calls - and what you call directly when using CrimsonCamera standalone.1. Field of view (absolute override)
Set Field Of View Override sets an absolute FOV applied after the per-mode blend, so every mode renders at that FOV. Pass 0 (or less) to clear it and fall back to each mode's authored FOV.
showdebug camera), and it holds when you switch to aim / lock-on.0) to restore per-mode FOVs.2. Screen-shake intensity
Set Camera Shake Scale is a global screen-shake intensity for that player (default 1.0; 0 disables shakes entirely). It is not limited to shakes this plugin played - it scales every shake the player's camera receives, including Play World Camera Shake, camera shake source components, and Sequencer shake tracks.
ACrimsonPlayerCameraManager installs UCrimsonCameraModifier_CameraShake in place of the engine's shake modifier. Every engine shake path - Start Camera Shake, Play World Camera Shake, camera shake source components, Sequencer - routes through the camera manager's cached shake modifier, so scaling there catches all of them. This requires the camera manager to be ACrimsonPlayerCameraManager (see Quick Start); with a different camera manager the scale falls back to applying only to Play Camera Shake.0 and shakes stop - including one fired from a Play World Camera Shake node that never touches this plugin. Set 0.5 and the same hit shakes at half strength. Because the scale is applied per frame, changing the slider during a long shake takes effect immediately. A shake played while the scale is 0 still runs and expires on schedule, so raising the scale afterwards does not release a backlog of silent shakes.3. Occlusion fade (on/off + strength)
On the pawn's UCrimsonCameraOcclusionComponent, Set Occlusion Enabled(false) turns fading off and snaps any faded geometry back to its original material; Set Occlusion Fade Strength(0..1) sets how far occluders fade.
4. Camera lag & auto-recenter (runtime)
How-To: Add Camera Lag & Recenter sets these once on the mode. To change them live from an options menu, fetch the active third-person mode and call its setters.
See also
- CrimsonSettings wiki -> How-To: Expose Another Plugin's Settings - wire these to a player options screen with zero glue.
- How-To: Add Camera Lag & Recenter - the mode properties these setters drive.
- How-To: Fade Occluding Geometry - the occlusion component setup.