Child Actor components causing double BeginPlay call in Packages

We’re currently seeing an error logged in our packaged builds where child actor components are causing BeginPlay to be called twice in package builds, which trips the ensure() condition at the top of AActor::BeginPlay(). The level containing the actor with child actor components is being streamed in using the Load Stream Level blueprint method at the start of the app.

We’ve worked around the issue by adding extra validation that the actor has not begun play (check for both HasActorBegunPlay and IsActorBeginningPlay) inside of AActor::BeginPlay() and ULevel::RouteActorInitialize()

Hey CJacobson,

How are you setting up your main Actor and the Actor that belongs to the Child Actor Component?

I am unable to see the behavior you are experiencing. Any information on how you are setting up the class(es) would be helpful.

Thanks.

After isolating the offending blueprints into a separate project I’m unable to reproduce the behavior as well :open_mouth:
Something else must be afoot in our project. Sorry for the confusion!

Hey GJacobson,

Feel free to update this post if you find anymore information on the issue you are having.