Skip to content
Gallery
Documentation: Ultimate Gameplay Camera
Share
Explore
Ultimate Gameplay Camera

icon picker
FAQ

How do I enable/disable debugging?

You can toggle the Camera Modifier debugging by calling the following function with Enabled set to true or false.
image.png
This prints all sorts of useful information on your screen
image.png
You can also enable/disable debugging for each modifier individually, by going to the Class Default of the modifier and checking or unchecking the Debug checkbox, e.g.:
image.png
image.png

I’m getting some jittering after integrating into my own project?

Jitter usually comes from either an incorrect setup (make sure you didn't miss any steps in the tutorials) or from trying to integrate UGC with a pre-existing camera feature or system.
Cameras in videos games are very delicate and setting their properties from multiple places in code results in weird behaviour, especially jittering.
Make sure you're not modifying any camera properties, such as FOV, Socket Offset, Target Offset, Target Arm Length or Control Rotation, outside of the UGC plugin.
In order to do this, please follow the next steps:
Open the Tools tab and open the Find in Blueprint window.
image.png
Use this to look for all places where your code modifies FOV, Socket Offset, Target Offset, Target Arm Length or Control Rotation, outside of the UGC plugin. ​
image.png
Otherwise, if there is a feature in UGC that you think is conflicting with your system and you want to remove it, you can go to your new player camera manager blueprint and remove its corresponding Camera Modifier from the class defaults (See next question).

How do I remove a feature I don’t need?

Go into your new UGC Player Camera Manager child blueprint, and click on Class Defaults.
image.png
In the list of Camera Modifiers, remove the one that you do not wish to use.
image.png

I can’t rotate my camera with the mouse/gamepad?

Make sure UsePawnControlRotation is set to true in the Character’s SpringArmComponent
image.png

I can’t get Smooth Collisions to work?

Make sure DoCollisionTest is set to false in the Character’s SpringArmComponent
image.png

How do I use Cinematics with UGC?

Unreal Engine allows your cinematics to transition from/to gameplay ().
If you have enabled CanBlend in your Camera Cut’s properties, you also need to enable LockPreviousCamera in the camera shot properties.
UGC_Cinematics_BlendSettings_Example.png

All foliage gets dithered at once?

You can use MF_CameraDithering_Circle which uses a circular dithering style
image.png
image.png
⚠️ If you use circular dithering, you will need to enabled UpdateMaterialPlayerPosition
image.png
image.png

How do I make the camera rotate with Blueprints?

You can use the ResetControlRotation function on the BPUGCCameraManager with the duration of the rotation to achieve this effect.

How do I use with UGC ?

How do I use a custom Movement Component with UGC ?

If you’re using a movement component that doesn’t inherit from Unreal’s default Movement Component class (like GMC), you can still use UGC. We have removed all dependencies of UGC on the Character class and you’re able your own custom Movement Component which doesn’t inherit from Unreal’s. For the most part, you will need to follow the same installation tutorial, but you will also need to do some extra steps.
Since some of our camera modifiers need to have read access to some movement properties in order to function correctly, you will need to make your pawn class use our UGC_PawnMovementInterface, which we use behind the scenes when your pawn doesn’t have a normal CharacterMovementComponent.
image.png
Once your add the interface, you will notice some functions are added to your blueprint. You will need to implement all of these functions so that our Camera Modifiers get the information they require from the movement of your pawn.
image.png
- IsStrafing: Returns a boolean which is true when the owner character is strafing (using controller yaw rotation or controller desired rotation). - IsMovingOnGround: Returns true when owner character is moving on the ground. - IsFalling: Returns true when owner character is falling. - GetVelocity: Returns the velocity vector of the character.
These are basic functions which any movement component should be able to provide.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.