Quick Start
By the end of this page your pawn has a CrimsonCamera that follows it in third-person, driven by a camera mode you create - no per-frame camera code.
CrimsonCommon and CrimsonCamera are installed, and you have a Pawn / Character and a PlayerController you can edit (Blueprint or C++).1. Enable the plugin
Open Edit -> Plugins, type Crimson in the search box, tick CrimsonCamera's checkbox (and CrimsonCommon, its dependency), and restart the editor when prompted. The editor also enables the Gameplay Targeting System dependency. For a Blueprint project that's the entire install - you never hand-edit the .uproject or any .Build.cs.
C++ projects: after enabling the plugin, add its module to your build file so your code can use its types:
// YourGame.Build.csPublicDependencyModuleNames.Add("CrimsonCamera");
2. Use the Crimson camera manager
ACrimsonPlayerCameraManager routes the view through the mode stack. Point your PlayerController at it by setting Player Camera Manager Class (a property on every PlayerController).
CrimsonPlayerCameraManager (Blueprint) or your constructor sets it (C++).3. Add the camera component to your pawn
UCrimsonCameraComponent lives on the Pawn / Character and owns the mode stack.
4. Create a third-person camera mode
A camera mode is a class you configure once. Make a Blueprint subclass of UCrimsonCameraMode_ThirdPerson and set its pitch-driven offset curves (or start from the defaults).
5. Make the mode active
Push your mode onto the stack so it drives the view. Push Camera Mode is Blueprint- and C++-callable and needs an owner tag (any gameplay tag that identifies who pushed it). One push on BeginPlay is enough for a single base camera.