4.16 updated project crashes - Skel_ & LinkerPlaceholder

I have a project in 4.15 that is stable but upgrading it to 4.16 it crashes so much. Play in editor, compile, migrate or deleting all causes crashes.

Errors I am receiving are:

Ensure condition failed: ChildActorTemplate == nullptr [File:D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Engine\Private\Components\ChildActorComponent.cpp] [Line: 95]
LogOutputDevice:Error: Found unexpected ChildActorTemplate LinkerPlaceholderExportObject /Game/FirstPersonBP/Blueprints/ElectricitySystem/Parts/Part_Door.PLACEHOLDER-INST_of_PLACEHOLDER-CLASS__Mod_part_Base_Door_C_5 when ChildActorClass is null

Ensure condition failed: !bIsFilteredOut [File:D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Editor\BlueprintGraph\Private\BlueprintActionFilter.cpp] [Line: 1689]
[915]LogOutputDevice:Error: Invalid BlueprintActionDatabase entry (for SKEL_Part_Door_C). Was the database properly updated when this class was compiled?

And I am suspecting child actor components to be part of the issue.

Because of the report size and this website not lending well to formatted text, the report is inside a text file. I don’t expect anyone to read or follow it - but it’s there if it provides any useful information.

I also include two projects - one which is basically the project version and one that is heavily modified to remove errors as much as I could. Due to the size, and limited dropbox space I had to zip it. I hope that is okay.

There are also 4 log files.

Crash report: (use this) Dropbox - Crash report.txt - Simplify your life

7zip file: Dropbox - File Deleted

I’d be happy to provide anything else that might be of use.

I’m having the same problem after upgrading to 4.16 as well… I thought the child actors just had broken references and remade them, but it did nothing. Weird thing is I get errors in just some child actor components, not all of them.


ATHelper: Packaging (Android (ETC2)): Cook: LogOutputDevice:Error: Ensure condition failed: ChildActorTemplate == nullptr [File:D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Engine\Private\Components\ChildActorComponent.cpp] [Line: 95]

UATHelper: Packaging (Android (ETC2)): Cook: LogOutputDevice:Error: Found unexpected ChildActorTemplate LinkerPlaceholderExportObject /…/BP_PlayerCharacter.PLACEHOLDER-INST_of_PLACEHOLDER-CLASS__BP_HUD_C_0 when ChildActorClass is null


edit: child actor components are definetely the cause of the issue, at least for me. Game packages fine without 3 specific components

Ok, after a lost day of work, I managed to make a succesful build.

All I have really done was deleting and adding again all child actor components that were getting errors, trying to force an update on reference on them. I also tried adding a random variable to the classes of the actors themselves, also trying to force an update. I’ve done that on all the hierarchy of child actors (I had stuff like child actors inside the blueprint being used as CAC, for example)

Long story short… Try to update all components and classes associated, maybe it works.

edit: to fix one of the classes I actually had to restart the editor so the “Child Actor Template” was gone lol

So the Skel_ errors that me and tslimone got was associated with Child actor components but even though I fixed it so I got no more of those errors, my project still crashes.

So I have been trying to narrow down the issue. I have a “Default” project, which is the original project and have been deleting classes, functions and other data to remove things that does not affect these crashes, constantly cloning the project as I go. As I have deleted some things I have noticed that they fix the crash symptoms - but when redoing that action in the Default project, few have fixed the crashing and none to satisfaction since it involves deleting critical parts. I am now down to a project with 12 classes, most are empty of functions and other things. At this point, pretty much anything I do will fix the crashing in this reduced project, but not the default one.

An example of a ‘fix’ is that the third person character has a node “Spawn actor(Ball)”. It’s not connected. If it is in the blueprint, the project crashes. If it is deleted, the project stops crashing. But deleting it in the default project does not stop the crashing.

I have no idea what is going on, project was completely stable in 4.15

Again, I will share the Default project and the reduced project.

Report: Dropbox - UE - Simplify your life

BP Classes rundown: Dropbox - Setup.png - Simplify your life

Default Project: Dropbox - File Deleted

Reduced Project: Dropbox - File Deleted

Please let me know if this is of any use at all.

Just wanted to note here I ran into the same problem upgrading a project to 4.16 from 4.15 specifically with child actors throwing this error: LogOutputDevice:Error: Ensure condition failed: ChildActorTemplate == nullptr [File:D:\Build++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Engine\Private\Components\ChildActorComponent.cpp] [Line: 95]

My parent blueprint created 3 child actors at sockets on a skeletal mesh, and each of these actors (in their own blueprints) create a child actor.

The project would run but any attempt at packaging would fail

A couple of hours of deleting actors and recreating them, reloading etc etc and the error has gone, but I dont really understand why (On the plus side i probably managed to fix a minor bug in the process)

I am running into the same issue after upgrading from 4.15.3 to 4.16.2 .
Is there someone who can shed a light on what might be the cause of this issue, as I have tried to delete and recreate actors now for the last 3 days with no success.
Also: @madmunkid+tslimone: Can you describe what you did with deleting and recreating actors. Did you recreate these actors from scratch or replace them and what actors did you recreate?
My message is : “Found unexpected ChildActorTemplate LinkerPlaceholderExportObject /Game/Shared/Blueprints/CharacterCards/base/BP_base_CharacterCard.PLACEHOLDER-INST_of_PLACEHOLDER-CLASS__BP_base_Buttons_C_1 when ChildActorClass is null”
The BP_base_CharacterCard has 1 child actor “Button Group” which is an actor with 1 main button and 2 childactors (also buttons). And they work with an interface, so I have a lot of potential blue prints to rebuild. I have tried many so far but as soon as I implement the interface to the new blueprint, the error comes back. I have also added IsValid statements everywhere where I can think of. At one point I narrowed one of the causes down to this point.
Picture 1 will not cause an error. Picture 2 will.

191596-pic1.png

191595-pic2.png

Does anyone have an idea? And lastly: Is it safe to continue developing? Is this an engine failure and is it safe to continue with this and wait for a fix? (The problem is in a low-level class)

some additional info: Not sure if this was always happening and I missed it, or if this is new, but now if I open the editor on a map where the offending bluepint is not on and open the blueprint the log actually shows the same error. This will at least speed up the detection of the problem (as I do not have to wait for the cooking) and tells me there is a problem with or around the initialization of the child actors. But still: does anybody have an idea?

ok, in case someone is interested: I was able to fix the problem by unchecking “Editable when Inherited” on the Buttons group (the class that was identified by the “PLACEHOLDER-INST_of_PLACEHOLDER-CLASS__BP_base_Buttons_C_1” part. Pretty sure it had to do with something in the initial loading and when setting it to “None Editable” this is not triggered. For now this works for me. Worth a try in case you run into this.

In the end what we have actually done was taking the child actor components off of the parent actors and creating/setting them on variables instead, on begin play.

yes, to me, that implies you had the same problem during the initial (first) initialization. You bypassed it by setting it later, I guess that works also, but I do think this is a bug somewhere. Hopefully one of our workarounds will help others.

I just ran into this problem when my project packaged fine just some weeks ago.

My question is, how do you manage movement when the parent actor gets moved, so that the child actor moves with the parent too?

I have tried so far to recreate the child template variable. To remove the editable inheritance on the child actor (BPButton_GameOptionsPageChange). What is weirder is that another actor called GameOptions2 has the same child bp class and that one doesn’t return an error, But the actor GameOptions3 does create this error. I am just, so baffled by this.

Well, it seems like it was a matter of it being called before it being initialized or something? I set this up, and the error is not being thrown anymore when packaging.

http://puu.sh/xJrTg/3188c9d52e.jpg

Bah, just ran into this issue as well in a 4.17 project. So, I’m going to try out some of these answers out and hope for the best :wink: I thought Child Actors were finally stable… Joke’s on me.

Sadly this did not work for me. Deleting, restarting Editor, reAdding Child Actors Components did nothing. Trying out a few other recommendations on there though.

Interestingly enough, I had to combine two of these solutions. But honestly, the second one could have been what fixed it all.

My scenario: Inventory system. In Character I had 6 slots (child actor comps). One of those slots was a Backpack BP, inside that Backpack, I had two additional Child Actor Components attached.

Fixed by doing this:

  1. Deleting child actor component from character and readding them after saving and closing out of editor
  2. Unchecking “Editable When Inherited” from the details tab of the Child Actor Components

I am 99% sure it was really the latter that got this to work. But I am not going to try to repro this.

POST EDIT - This ended up regressing somehow. I ended up just Spawning the Actor BPs and Attaching them to Components already placed on my character.

Thanks bggangel, with your solution I was able to get it to package.

I’m getting this in 4.18 as well. It happened when I initially set the child actor class and then removed it, so I guess it still has that actor serialized but it shouldn’t be there anymore.

This error used to ruin me, but I just found a super simple way to fix it: Simply create a child class of the class that’s causing the problem and replace the child actor component’s class with your new childClass.

Example: Your BP_Hero has a child actor component of class type BP_Gun. This gun child actor component is throwing the error.

  1. Find your BP_Gun blueprint and create a child class. (Right click, create child class) Now you have BP_Gun_Child
  2. In BP_Hero, change the culprit child actor component’s class from BP_Gun to BP_Gun_Child
  3. Package your project without errors. Celebrate

I run into this error more frequently than I’d like. This hack is easiest way to solve the problem.

The solution seems to be this from the comments above (at least for 4.18.3 where the issue still happens):

ok, in case someone is interested: I
was able to fix the problem by
unchecking “Editable when Inherited”
on the Buttons group (the class that
was identified by the
“PLACEHOLDER-INST_of_PLACEHOLDER-CLASS__BP_base_Buttons_C_1”
part. Pretty sure it had to do with
something in the initial loading and
when setting it to “None Editable”
this is not triggered. For now this
works for me. Worth a try in case you
run into this.

More precisely, say you have a BP_Character and a BP_Weapon (actor and child actor). In the BP_Character, find and select the child actor component (which has a child actor of BP_Weapon) and in the Details panel, uncheck Editable When Inherited. Then, select its parent component, uncheck Editable When Inherited again, and keep going up the chain to get all ancestor components. After that, it “should” work.

I ask the OP to accept this answer (if it works for OP as well) to make it easier to find. I had to read through all this to get to the solution!

All of this solutions are not work for me.
4.17.2 or 4.18.3 - no progress.
Moreover, things that worked in older version, does not in newer one.
There were 3 complex objects with childs of 2 types. But one of objects (most simple of all !) works properly with all the children of type 1 and only one child of type 2. Deleting/adding, duplicating the “good” child, unchecking “Editable…” did not work.
In 18.3 this object accepts two(?!) children of type 2 and (ta-da-a-am!) 0 children of type 1.
Adding one more by any of ways crashes packaging.
0_o
Give me some hope, please…