CrimsonCamera · Lesson 2 of 6
Your First Camera
Before you start
- Completed: How CrimsonCamera Works
- An Unreal Engine 5.8+ project with a Pawn/Character and a PlayerController
Chapters
1. Enable the plugin
Open Edit → Plugins, type Crimson, tick CrimsonCamera (and CrimsonCommon, its dependency), and restart the editor. The editor also enables the Gameplay Targeting System dependency. For a Blueprint project that's the whole install — you never hand-edit the .uproject or a .Build.cs.
C++ projects: add the module to your build file:
// YourGame.Build.csPublicDependencyModuleNames.Add("CrimsonCamera");
2. Use the Crimson camera manager
ACrimsonPlayerCameraManager routes the view through the mode stack. On your PlayerController, set Player Camera Manager Class to it (Class Defaults in Blueprint, or the constructor in C++).
AMyPlayerController::AMyPlayerController(){PlayerCameraManagerClass = ACrimsonPlayerCameraManager::StaticClass();}
3. Add the camera component
UCrimsonCameraComponent lives on the Pawn / Character and owns the mode stack. Add it like any component (Blueprint: Add Component → Crimson Camera Component).
CameraComponent = CreateDefaultSubobject<UCrimsonCameraComponent>(TEXT("CameraComponent"));CameraComponent->SetupAttachment(RootComponent);
4. Make a third-person 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 just start from the defaults.
5. Push it
Push your mode onto the stack so it drives the view. Push Camera Mode takes the mode class and an owner tag (any gameplay tag identifying who pushed it). One push on BeginPlay is enough for a single base camera.
void AMyCharacter::BeginPlay(){Super::BeginPlay();if (UCrimsonCameraComponent* Cam = UCrimsonCameraComponent::FindCameraComponent(this)){Cam->PushCameraMode(UMyThirdPersonMode::StaticClass(), TAG_Camera_Mode_Default);}}