I get the following warning at startup:
Warning: USimpleConstructionScript::FixupRootNodeParentReferences() - Couldn’t find inherited parent component ‘WeaponMesh’ for ‘Barrel’ in BlueprintGeneratedClass ‘REINST_WeaponMouseGun_C_209’ (it may have been removed)
The blueprint’s component list looks like this:
The first two items are inherited, the last one is added in this child class. I’m trying to use these components the following way:
I tried placing this logic to the main event graph, linked to the Begin Play event but I still get the warning.
Which version of the editor are you currently using? Does this occur on a blank project with no additional content?
I first saw it in 4.4.3 and it’s still there in 4.5.0. It survives content migration to an empty project. If I make a similar setup from scratch, with otherwise empty classes, the warning does not show up. That might indicate that the game logic in the parent class has something to do with this. However I’m not sure what it could be since I don’t add or delete components, especially not the root.
Does this only occur after migrating between projects or editor versions? What actions had you taken before noticing this the first time?
I don’t know when it started happening, I only noticed in early 4.4, during an effort to clean up warnings. I hoped that it will go away with a new version when I migrate everything to an empty project, but it didn’t.
A few more clues: The warning also shows up every time the parent class is compiled, compiling the child yields no warning. Deleting the set transform nodes doesn’t actually help, I have to remove the scene component from the child BP. Conversely if I add any new component to the child (scene, light, etc), I get a new warning for each one. Any new child with additional components will produce extra warnings as well.
When you compiled the parent actor, did you make any significant changes to it? Did you move the parent actors location in the content browser or filepath?
Recently no but the class was created back in around 4.1 and it has seen a lot of refactoring. In the morning I’ll try to copy the mechanics to a new class and see what happens.
Here are the repro steps:
- Make a new project.
- Add new blueprint, based on actor, this is the parent.
- First add a static mesh component to it then a scene component.
- Compile. No warning in the log.
- Make a new BP based on this, the child.
- Add a scene component to it.
- Compile. No warning.
- Go back and compile the parent again, even tho it has not changed. The warning should show up.
I was able to reproduce this and have entered a bug report, TTP#349719 to be assessed by the development staff.
Hi John Alcatraz,
This is still under assessment by our development staff. Unfortunately I do not have a timeframe of when a fix will be available.
Any news on this issue? In 4.7.4 I have several new classes broken because of this. They were working in 4.5.
Right now the warning only shows up at runtime (not during compile as mentioned above). The practical implication is that I can not access any inherited components, any BP logic involving them stops working.
Never mind I worked around it.
In one case I created a function in the parent which does the work so the component is not referenced in the child class. In the other case things seem to be working properly in spite of the warning, but I have not thoroughly tested the functionality.
how did you work around this problem? Did you recreate all blueprints in the hierarchy or is there a better solution?
Thank you for this information, I have updated the bug report, which is now under UE-1963 with this addition.
For me the problem is gone in 4.7.5 which I updated from the launcher today. (4.7.5-2503383)
Any news on this? Is it fixed in 4.8?
I checked this in 4.7.6 and it does not seem to be occurring any longer. I get no warnings or errors when following the directions posted by ZoltanE above.
I am using 4.7.5 and I still get these warnings. I don’t have repro steps since I get these since 4.6 I guess and I think they only occur in projects which get converted from an older version to 4.7.