[UE 5.6 Lyra] AI animations break (T-pose sliding) when using child class

colta6352
Sat, 08 Nov 2025 02:14:50 +0000
Programming & Scripting

Problem Description

I’m working with **Unreal Engine 5.6** and the **Lyra Starter Game** sample. I’ve created a minimal child class of `ULyraCharacterMovementComponent` that does nothing except inherit from the parent class. When I assign this custom movement component to `B_Hero_ShooterMannequin`, AI bots can move correctly but their locomotion animations stop working - they slide around in T-pose.

**Player character animations work fine**, only AI bots are affected.

### Environment

- **Engine Version**: Unreal Engine 5.6

- **Project**: LyraStarterGame (fresh from Epic)

- **Character Blueprint**: `B_Hero_ShooterMannequin` (ShooterCore plugin)

- **Animation Blueprint**: `ABP_Mannequin_Base`

### My Custom Component Code

**Header (AECharacterMovementComponent.h)**:

```cpp

#pragma once

include “CoreMinimal.h”

include “Character/LyraCharacterMovementComponent.h”

include “AECharacterMovementComponent.generated.h”

/**

* Minimal test component - inherits from Lyra, does NOTHING else.

* Testing why AI animations break when using this instead of Lyra’s component.

*/

UCLASS()

class AEMOVEMENT_API UAECharacterMovementComponent : public ULyraCharacterMovementComponent

{

GENERATED_BODY()

public:

UAECharacterMovementComponent(const FObjectInitializer& ObjectInitializer);

};

```

**Implementation (AECharacterMovementComponent.cpp)**:

```cpp

include “AECharacterMovementComponent.h”

UAECharacterMovementComponent::UAECharacterMovementComponent(const FObjectInitializer& ObjectInitializer)

: Super(ObjectInitializer)

{

// Literally nothing - just inherit everything from Lyra

}

```

### Steps to Reproduce

1. Create a plugin with the minimal movement component shown above

2. Open `B_Hero_ShooterMannequin` Blueprint (from ShooterCore plugin)

3. Select the CharacterMovement component

4. In Details panel, change Component Class from `LyraCharacterMovementComponent` to `UAECharacterMovementComponent`

5. Compile and Save

6. Play in L_ShooterGym map

7. Spawn AI bots using in-game menu

### Expected Behavior

AI bots should play walk/run animations normally, since the custom component inherits everything from `ULyraCharacterMovementComponent` without modifications.

### Actual Behavior

- Player character: Animations work perfectly

- AI bots: Can move and navigate, but slide around in T-pose (no walk/run animations)

### Debug Information

Using `showdebug animation` console command:

- **Player**: Velocity updates correctly, animations play

- **AI bots**: Need to verify velocity values (haven’t tested yet)

### Questions

1. **Is there something in Lyra’s Animation Blueprint** that checks for the exact `ULyraCharacterMovementComponent` class rather than accepting child classes?

2. **Does changing the component class in Blueprint** work the same as using `SetDefaultSubobjectClass` in C++? Could there be a difference in how the component is initialized?

3. **Is this a replication issue?** AI bots are simulated proxies - could velocity not be replicating properly from the custom component?

4. **Are there any hidden initialization steps** that `ULyraCharacterMovementComponent` performs that might not work with child classes?

### What I’m Looking For

- Has anyone successfully inherited from `ULyraCharacterMovementComponent` and had AI animations work correctly?

- Are there any known issues with Lyra’s Animation Blueprints and custom movement components?

- What should I inspect in `ABP_Mannequin_Base` to verify it supports child movement component classes?

Any guidance would be greatly appreciated! I want to understand if this is expected behavior or if I’m missing something in the setup.

-–

### Additional Context

I’ve reviewed the Lyra documentation and code, and everything suggests child classes should work. The fact that player animations work but AI animations don’t points to either:

- Animation Blueprint has different code paths for player vs AI

- Replication issue specific to AI (simulated proxies)

- Component initialization timing issue

Thank you for any help!

1 post - 1 participant