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!