Debugging & Troubleshooting

Documentation Unreal Engine AI FAQ

Debug logging, visual debugging, FAQs, and common issue solutions.


Enable Debug Logging

In AI Controller Blueprint:

ActionEvaluation → bDebugLog: true
MovementEvaluator → bDebugLog: true
ThreatDetection → bDebugLog: true

Output Log Messages:

LogEvaluation: Evaluating 3 actions...
LogEvaluation: [LightAttack] Dist:180 Angle:15 Score:0.95 SELECTED
LogEvaluation: [HeavyAttack] Dist:180 Angle:15 Score:0.60 (cooldown:1.2s)

Visual Debugging

Console Commands:

// Show debug spheres for movement evaluation
showdebug SEC
 
// Visualize StateTree execution
statetree.debug 1
 
// Show ability activations
showdebug abilitysystem

Common Issues

AI doesn't attack

Possible Causes:

  • Ability not granted to ASC
  • AbilityTag mismatch
  • Action out of range
  • Action on cooldown
  • No valid actions in ActionSet

Solutions:

  • Check ASC grants ability with correct tag
  • Verify ActionSet AbilityTag matches ability's tags
  • Enable bDebugLog to see why action isn't selected
  • Check distance/angle ranges in ActionSet

AI gets stuck after attacking

Cause: End event not sent

Solution:

  • Verify montage sends SEC.Action.End notify
  • Check ability sends event on completion, cancellation, AND interruption
  • Look for "Waiting for action to complete..." in log (means no end event received)

Weapon doesn't deal damage

Possible Causes:

  • Socket ID mismatch
  • Trace channel not configured
  • Damage config not set
  • No MeleeTraceComponent on character

Solutions:

  • Verify notify state Socket IDs match weapon TraceSockets IDs exactly
  • Check trace channel in Project Settings → Collision
  • Assign DamageConfig to weapon
  • Ensure character has USECMeleeTraceComponent (inherited from base)

AI doesn't move

Possible Causes:

  • Movement task not ticking
  • NavMesh not present
  • DirectControlThreshold too high/low

Solutions:

  • Verify STTask_AIMovement is in root state with [Tick]
  • Press P in viewport to show NavMesh
  • Adjust DirectControlThreshold (try 500-700)
  • Enable MovementEvaluator debug logging

FAQ

Can I use this with my existing character?

Yes. Add the components to your controller and character, create an ActionSet, and set up a StateTree. The plugin is designed to integrate with existing projects.

Does this work with multiplayer?

Not yet. Current version is single-player focused. Multiplayer support is planned for Q2 2025.

Can I use this without Gameplay Ability System?

The melee trace system can work standalone, but action execution relies on GAS. Implementing a non-GAS execution mode is possible but not currently supported.

What Unreal Engine versions are supported?

Only UE 5.7. StateTree APIs have breaking changes between versions, so other versions are not compatible.

Can I make bosses with this?

Yes. The system scales well. Use ActionSets with phase-specific actions, swap sets at health thresholds, and combine with custom Behavior Tree sequences for scripted attacks.

How do I make ranged enemies?

Current version is melee-focused. You can create ranged actions using Behavior Tree sequences to handle aiming and projectile spawning. Native ranged support coming in Q3 2025.

Is source code included?

Yes. Full C++ source is included under MIT license.

Can I sell games made with this?

Yes. MIT license allows commercial use without royalties.


Support & Resources

Documentation: You're reading it!

Purchase: Fab Marketplace

Support: Contact through Fab Marketplace or via this website's contact form

Updates: Plugin updates delivered through Fab Marketplace to all buyers

Feature Requests: Contact via Fab Marketplace support or website


SoulslikeCombat - Built by Hakan Erünsal to save developers time and provide a professional foundation for action combat AI.

For buyers: Full C++ source code, demo content, and all future updates included with purchase.