Missing "Parent Begin Play"

It’s not executing parent’s “begin play”. However, new classes created with same parent–print do have node. I noticed that I can copy-paste it from a new blueprint (then delete that blueprint) and it will work. But with and without “context sensitive” I can not find a way to add it. This also applies to other ‘parent-calls-nodes’. All missing. Recompiling and refreshing nodes does not fix it.

This is node that I’m missing:

32684-missingparent.png

To recreate:
Make a new BP, then create a 2nd BP and set first one as it’s parent. Then add some code to first BP’s constructor & event begin play. Now 2nd BP does not have parent’s nodes. But classes created after 1st BP had code added to it’s constructor and event-begin-play do have these nodes.

It’s hard to explain. Hopefully this makes sense.

Hey Napoleon,

I tried this in 4.7.2 and didn’t get same result. I forget; which version of engine are you using?

To test, I created a new Actor Blueprint called, “Parent”. I then created a child of BP by right-clicking Parent BP in Content Browser and selecting “Create Blueprint based on this”. I dragged a Parent_Child BP actor into level, compiled and saved all. Then I added a print string to Construction Script and a print string to Event Begin Play in Parent. Compile/save. Moving Parent_Child actor around prints Construction Script print string, as expected, and PIE prints Event Begin Play print string.

Am I missing any steps or any settings I need to adjust to reproduce this? Does this only happen with one Blueprint Parent/Child setup you have, or will it happen with a new Blueprint as well? Does it happen in a new project, or only your current project? Any other details could be helpful. Thanks!

I used 4.7.2. I replicated bug in this video:

project used was a 4.7.2 project and not upgraded from another version. Relatively clean/blank.
It seems to work for constructor (this time, not sure what I did different last time). But it still bugs for EventBeginPlay as you can see in video.

Note that adding a print-string to child BP, will totally cancel out parent-EventBeginPlay code (as expected). This is obviously not intended behavior.

File > Refresh All Nodes does not fix problem. Restarting also does not fix problem. Copy-pasting from another, newer BP is currently only way to fix it.

Hi Napoleon,

Okay, I was able to reproduce this in a new project. I think project I was testing on was converted up from 4.7.0 and then 4.7.1, so maybe this changed somewhere in there and converted projects don’t have this error? Anyway, I don’t know if it’s a bug. You’ll notice that if you drop Child BP into level and PIE, Event Begin Play inherited from Parent fires. It doesn’t show up in graph automatically, but if you right-click Event Begin Play node in Child and select Add Call to Parent Function, it will be there. Deleting it will remove that functionality from Child.

This seems inconsistent to me, since creating a new Child after change is made in Parent WILL display Parent function call automatically. I created a bug report (UE-11428) and I’ll let you know what developers say. In meantime, right-click Event nodes to Add Call to Parent Function to get that node in graph.

Hope that helps!

2 Likes

Thanks. I didn’t know about that right-click feature. I was looking in context menu because it says “ALL actions for this Blueprint”. But this specific ‘action’ is only available through right-click on EventBeginPlay. If it’s not a bug, it could at least be added to regular context menu as that would (at least imo) make more sense.

Thank you so much, I had same issue from not setting up parent begin play. Right clicking my node and selecting version of node fixed problem, cheers.