Troubleshooting
Start with the basics: are the project settings copied, and does the problem happen in the template's DefaultLevel? If it works there, compare your level, pawn or character with the sample.
Setup
| Symptom | Cause | Fix |
| The camera is a plain spring arm; no shoulder, crouch or cover offsets | DDCVar.NewGameplayCameraSystem.Enable missing or false | Copy the data-driven console variables. Restart Play after changing it. |
| Kellan appears on every pawn although nothing was selected | DDCvar.VisualOverride is not declared, so it reads 0 (the first character) | Copy the console variables (default -1). |
| Characters never change with M | The level's game mode is not GM_Sandbox or a child | Use GM_Sandbox or derive from it. |
| Errors about missing gameplay tags, no foley sounds | DefaultGameplayTags.ini not copied | Copy it. |
| Packaging fails with exit code 25 | Missing GameFeatureData asset type | Add the entry from Installation. |
| Packaging asks for a compiler | The plugins GASPALS uses are not on by default | Install Visual Studio 2022 with the game development workload. |
Locomotion and traversal
| Symptom | Cause | Fix |
| Pressing jump at an obstacle only jumps | It does not block the Traversable channel, the channel is in another slot, or it is too narrow | See Make objects traversable; check the channel order in Project Settings > Collision. |
| No slide | The CMC pawn has none; on the Mover pawn, slides need sprint speed (over 380) and wait for the 0.75 s cooldown | Sprint, then crouch. |
| The character keeps strafing | The CMC pawn starts with strafe on | Toggle strafe (middle mouse), or change CharacterInputState > Wants To Strafe on the pawn. |
| The Mover pawn suddenly flies | Z is the Mover debug flying toggle | Press Z again, or delete the debug Input Key node in the Mover pawn's Event Graph. |
| Feet slide or float on a new character | Retargeting | Check the IK Retargeter's chains and retarget pose. |
Cover
| Symptom | Cause | Fix |
| No cover at all on your pawn | Enable Cover was turned off on its component (it is on by default) | Turn it on in the pawn's cover component. |
| Cover never triggers on some walls | The wall ignores Visibility | Use a preset that blocks Visibility. |
| The cover button does nothing | Enable Sticky Cover off, nothing within Sticky Cover Reach, or first person with First Person Sticky Cover = Disabled | Check the settings and the crosshair (it turns green over valid cover). |
| Cover run goes straight into obstacles | No navmesh | Add a NavMeshBoundsVolume and build paths. |
| Cover run fails on clients only | Client-side navigation is off | bAllowClientSideNavigation=True (project settings). |
| Mover and CMC behave differently in cover | Their cover components are tuned separately | Compare the component settings; the cover reference shows where the samples differ. |
Equipment and overlays
| Symptom | Cause | Fix |
| The item floats near the feet | The attach socket is missing on the skeleton | Add the overlay_* sockets to the character's Skeleton. |
| The support hand does not reach the item | No HandIK socket, or the pose's enable_handik_* curve is 0 | Add the socket; set the curve in the pose's curve map. |
| The item is not in the hands in first person | The item actor has no AC_FirstPersonRendering | Keep the component on every item actor. |
| A new overlay child has snapping arms when aiming | Its Aim Sweep Interp Speed values are 0 | Set 30 / 10 on the child. |
| The Overlay Pose set on the pawn shows as Default | The equipment pose is linked after the overlay pose at spawn and replaces it | Pick the overlay through the overlay menu (or the overlay system's selection event) after spawn. |
First person
The first-person component prints setup problems on screen, in orange, for the local player. Each message starts with GASPALS First Person (<owner>):.
| Message (abridged) | Fix |
| no third-person Skeletal Mesh Component found | Set Third Person Mesh Name to the body component's name. |
| no first-person mesh was generated | Fill First Person Full Meshes (or Arms and Body for Split). |
| the first-person skeleton has no 'VB Camera' virtual bone | Add a virtual bone from root to head named VB Camera. |
| the first-person skeleton has no 'head' bone | The skeleton needs a head bone. |
| this skeleton is not the UEFN mannequin, so the first-person overlay poses need FirstPersonRetargeter | Set First Person Retargeter, or use TrueFirstPerson. |
| FirstPersonOverlaySplit needs both FirstPersonArmsMeshes and FirstPersonBodyMeshes | Fill both lists. |
| Symptom | Cause | Fix |
| The camera sees the inside of the head or the chest | Eye offset | Tune First Person Eye Offset ((0, 12, 0) for UE5 and MetaHuman heads). |
| ADS sights do not line up | Eye offset or the item's ADS socket | Fix the eye offset first, then the socket. |
| The rear sight is clipped | Near clip plane | NearClipPlane=1 in the project settings. |
| The camera does not follow the body on a retargeted character | CR_FirstPerson_BodyCamera not compiled after an edit | Open and compile the Control Rig. |
Characters
| Symptom | Cause | Fix |
| The character is a frame behind the pawn | The body mesh is not the first child of Root | Reorder the components in the visual override Blueprint. |
| The hands do not grip items on a retargeted character | The hand IK curves do not reach the retargeted mesh | Add a Curve Remap op (copy all source curves) to the IK Retargeter. |
| MetaHuman clothing tears or stays in bind pose | A follower with its own skeleton uses leader pose | Leave its anim class empty and keep its post-process Anim Blueprint. |
Multiplayer
| Symptom | Cause | Fix |
| A system works on the host but not for clients | The component does not replicate | Turn on Component Replicates on the pawn's component (see Networking). |
| Remote Mover characters stutter | Network Prediction settings missing | Copy DefaultNetworkPrediction.ini. |
| Remote CMC characters animate stiffly | Acceleration not replicated | p.EnableCharacterAccelerationReplication=1. |
| Corrections during Mover play | Something changed movement outside the input command | Route movement changes through ProduceInput and transitions; np.PrintReconciles 1 lists corrections. |