Animation/AI MoveTo not Working since 4.16

I currently have the following:

  • C++ Class Citizen that inherits from Character class
  • C++ Class Clerk that inherits from Citizen class
  • BP Class BP_Clerk that implements the Clerk C++ class

I am using the stock third person character mesh that comes with UE4 (SK_Mannequin) and the stock animation class (ThirdPerson_AnimBP_C).

I had the character successfully moving around with AI MoveTo and was off working on other features. Suddenly, around the time I upgraded to 4.16, my BP_Clerk character’s movement broke as well as his animation. I think the two issues are related.

Any idea why this might be? Did 4.16 change anything with how classes inheriting from Character work? If I place the actual ThirdPersonCharacter Blueprint in my map, it works properly, so I’m wondering if it has something to do with inheriting from Character in the current release.

Here’s a video example (apologies on the audio, was watching a stream at the time):

You can see that the first mesh has no idle animation (this is my Clerk Blueprint), whereas the other (base ThirdPersonCharacters) are animating properly.

EDIT: I just determined that when I create a Blueprint extending from the Character or Citizen (mentioned above) classes, the animation works properly. Clerk works improperly, however.

Check if the pawns are actually possessed by an AIController, otherwise they ignore the move to order.

I do have an AIController, but I disabled it to see if I could get the Animation to work.

Even with the AIController disabled, the basic Idle animation does not fire (as you can see, there is no movement on the first model in that video).

To clarify - I think there may be a relation between the Animation not working and the AI not moving when I enable the AIController.

Figured it out -

I had added an override to the BeginPlay() function in my Clerk class, but did not call Super::BeginPlay() at the beginning so nothing from Citizen nor Character’s BeginPlay() was being called.

Adding a simple Super::BeginPlay() at the top of the Clerk.cpp function resolved both the animation and AI MoveTo() issues.