Event BeginPlay will not fire on my actor.

I’m using this test blueprint to spawn two of the same actor side by side. It is working as intended.

This is the blueprint that should be firing.

When I hook the nodes that are under BeginPlay to the beginning of ActorOnClicked, everything works exactly as it should. This confirms the blueprint is working as intended. But when I have it hooked up as shown, BeginPlay never fires. “Hello” is never printed to the screen no matter how many times I spawn the actor.

Is your mech biped a C++ child class?

No. Everything is blueprints all the way down.

The BeginPlay is on UnitParent.

You are spawning Mech Biped.

I am unsure of the relationship between those classes, but that may be the source of your issue.

One common thing after spawning that sometimes needs to be done is to spawn the controller and possess - e.g. SpawnDefaultController.

My hierarchy is MechBipod -> UnitParent -> Pawn. I’ve tested with the nodes moved to the MechBipod BeginPlay but it still fails. I’ve also tested this on a new blank project with blank actors other than this logic and it works. There seems to be something wrong with my project. Either a bug or some obscure setting that I’m not finding.

If UnitParent is the parent of MechBiped, you will need to call parent’s begin play in MechBiped BP. Right click on begin play node and pick ‘call parent function’.

I tried that. It didn’t resolve the issue. I also tried moving the logic to the MechBiped BeginPlay directly and it didn’t work. However, it works without calling parent’s begin play in a new empty project.

Thank you Zireael07 - that solved my problem!! Had a parent class’ event beginplay suddenly (it seemed to me :)) stop firing as project grew. After a couple of days bug hunting/searching I found this post and now it seems to be (fingers crossed!) tickety-bo. I love you.

Do it if it’s AI_Player