What is the PlayerCameraManager and how could I use it?

I have to deal with more than one cameras with different behavior. I’ve met a mention of something named the “PlayerCameraManager”.

I can not find information about it an about how it can be used. A very superficial info I foud here: Cameras in Unreal Engine | Unreal Engine 5.0 Documentation
And I’ve met the mention of it in controller-blueprint’s Details:

Please, help me to figure out, what is this “PlayerCameraManager”? And how can I use it.


got an example

****, thanks however. But I don’t really understand anything.


the PlayerCameraManager is partially a manager for blending between cameras (you wont modify this too often), on the other hand it’s more or less the equivalen to Cameras from UE3.

What can you do with it?
Think about most camera setups to date in UE4. There is some kind of spring arm attached to a pawn, and a camera on top of it. From my POV this is a very unintuitive way of doing cameras, and its quite restricted for what you can do with it. Here the Player Camera Manager comes in. When you create a new Blueprint based on PlayerCameraManager and override the Blueprint_UpdateCamera Function, you can do whatever you want with the camera, independent of any pawn (its still attached to a controller though, but without a controller there’s not much one can do in UE).

On each call of Blueprint_UpdateCamera (which is called similar to a Tick) you can do your own calculations for the camera and then return the location, rotation and FOV of the camera.

Why does someone want to do that?
In my case i like this more, since i code the whole camera logic once and can attach it to any controller i want, without any need to setup a spring arm, etc. With the correct logic inside its also easily possible to switch camera modes i.e. from TopDown to first-person or something else on the fly, with only needing to set some boolean.

This is actually also the way the camera works in my TopDown Toolkit, so any customers dont need to setup a spring arm or other stuff, but just set the playercameramanager variable in their controller to mine (Beware, clever marketing here :wink: ).



Thanks for this overview, indygoof.
Have I understood it correct? - using this manager, you are forced to implement such functional as, for example, auto decreasing distance between camera and player, when camera is cooliding with other objects (which is built-in functional, when you are using camera with an spring arm).


nope, you can still not customize anything in the Blueprint_UpdateCamera function and leave as is, then it should use the camera you have on your pawn for example.

On the other hand, collision functionality is not really hard to do, “just” a few additional BP nodes, and you can customize that behaviour then as you wish.

In the end, everyone has to decide for his project if it makes sense to have the camera on the pawn via spring arm or the player camera manager; I myself prefer the playercameramanager, as its more close to the way it worked in UE3 :slight_smile: