Debugging Guide
When using GMS, you have several ways to troubleshoot issues you encounter.
Debug Component
Add BC_GMS_DebugComponent to assist in visualizing the following for a character:
- World orientation of the Actor
- Animation space orientation
- View orientation
This component aids developers in debugging movement and animation behavior.
SystemLog
In your Config/DefaultEngine.ini
GMS primarily has two log categories:
- LogGMS: Used for the movement control part. Verbose will output relatively detailed logs at key code points, while VeryVerbose will output detailed logs for data that changes every frame (such as rotation per frame).
- LogGMS_Animation: Used for the animation control part. Verbose will output relatively detailed logs at key code points, while VeryVerbose will output detailed logs for data that changes every frame (such as details of every in-place turn).
Component Details Panel
The simplest method is to find your character while the game is running. In the details panel, locate the character's movement system component and observe the details panel.
Check Movement Settings Status: You can see the current settings applied in the movement system component. Use this information to verify whether the current settings have switched to your desired configurations.
Check Control System States: You can view all current states of the character's movement control states under the State category.
Main Animation Blueprint States: You can also view the states of Main Anim Instance.
Check Animation Layer States: Expand AnimLayers to see the settings and states of all anim layers currently used by the character. This information helps verify whether the corresponding settings are correctly applied.
RewindDebugger
This is the official animation debugging tool, which you can access through Tools -> Debug -> RewindDebugger to open the debugging panel.
Make sure the game is running, then select the character you want to debug in the debugging panel.
Click the red button to start recording; it will display and log all animation-related information about the character.
After clicking the red button again to stop recording, you can pause the game and replay the recorded results to troubleshoot related issues.
Performance Measurement
GMS has added performance measurement statistics to key code sections in the system. You can enable them by entering Stat GMS in the Console.
Troubleshooting
Character movement does not behave as expected
- Confirm the character uses
GMS_CharacterMovementComponentand has aGMS_CharacterMovementSystemComponent. - Check the active Movement Definition, Movement Set, and Control Setting. Its
BackendSettingsmust include a Character backend setting and a row for the current Movement State. - Check the Output Log for
LogGMSerrors. GMS skips applying the state's backend parameters when the backend setting or state row is missing. - If an AI character's gait does not match its speed, check
SpeedToMovementStateCurveand Movement States in the Control Setting. For facing problems, check whether rotation settings on the Character or CMC are competing with GMS.
See Character Movement System and Movement Control Settings.
Problem with Sequence
Remove ControlRig track from your sequence or it will crash the game because the actual main animinstance will be overridden by ControlRig. Reason: