You can toggle the Camera Modifier debugging by calling the following function with Enabled set to true or false.
This prints all sorts of useful information on your screen
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.:
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.
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.
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.
In the list of Camera Modifiers, remove the one that you do not wish to use.
I can’t rotate my camera with the mouse/gamepad?
Make sure UsePawnControlRotation is set to true in the Character’s SpringArmComponent
I can’t get Smooth Collisions to work?
Make sure DoCollisionTest is set to false in the Character’s SpringArmComponent
How do I use Cinematics with UGC?
Unreal Engine allows your cinematics to transition from/to gameplay (
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.
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.
- 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.