Ensure Condition Failed: ActorHasBegunPlay

So my game has started crashing in multiplayer whenever I spawn a new actor in with my “spawner” mechanism. I have tried looking at the logs for the packaged game, and this is the error that seems to appear. Anyone know how I might go about resolving this?

I’ve traced it to my BeginPlay/OnPossessed events in the blueprints for this new actor’s controller. Whenever I attempt to RunBehaviorTree this is the error that it crashes with.

[2020.07.07-18.26.05:344][909]LogOutputDevice: Error: Ensure condition failed: ActorHasBegunPlay == EActorBeginPlayState::HasNotBegunPlay [File:D:/Build/++UE4+Licensee/Sync/Engine/Source/Runtime/Engine/Private/Actor.cpp] [Line: 3390]
[2020.07.07-18.26.05:344][909]LogOutputDevice: Error: BeginPlay was called on actor /Game/ProjectTallGrass/Levels/GameplayMap.GameplayMap:PersistentLevel.GameplayGameState_C_2147482336 which was in state 1

I ran into this because I forgot to run the Super::BeginPlay() at the beginning of the function I was overriding.

2 Likes

WOW! although it had been 2 years past, but you just save my day!! this issue had been caused me a lot of trouble!!!

For the people Super::BeginPlay() didn’t fix it:

You might be using a Child Class. My setup:

C++ Actor Class
BP Actor Class (parent is C++ Actor Class)
BP Child Actor Class (from BP Actor Class)

I then had an Event BeginPlay in the Child Actor without any logic behind it.
THAT has caused the issue. Deleting it helped.