Child blueprints not maintaining values set by either parent or itself

Using UE4 4.8.1 I’ve made a child blueprint of a blueprint called BP_PlayerCharacter. I’ve not changed inherited mesh or animation that is attached to it. However when I close editor after saving everything and relaunching engine mesh and animation are set to “none” instead of inherited values. Even if I change them to something completely different to parent, save and compile, then close/restart editor they just reset. I’ve tried re-creating both blueprints but to no avail. It just ends up being different things not loading correctly.

This occurs on both restarting editor and packaging game.

Any help is appreciated.

Hey Haigen,

I haven’t been able to reproduce this behavior in 4.8.2. To test, I made a new Character Blueprint in a new ThirdPerson template, and assigned SK_Mannequin as Skeletal Mesh and ThirdPersonAnimBlueprint as Anim Blueprint Generated Class. I then made a child of this BP, saved all, closed and reopened project. There was no change in any of child BP’s values.

Did I miss any steps? Does this happen in a new project as well, or only your current project?

Not entirely sure, I tried it on a new project and it doesn’t seem to have same effect. Though I’ve had times when launching my project and it hasn’t changed, but then after a few times in and out of editor it begins playing up again. It’s like flipping a coin when it comes to opening my project.

I’ve talked to creator of an asset pack I’m using. Generic Shooter Example pack on marketplace. He mentioned that this used to be a problem that was supposed to be fixed in 4.8 but people are still seeing issue now and then. It’s nothing to do with his content pack, as it happened before I even began using his assets. I’ve tried re-installing Unreal Engine as well as launcher. As stated in my question I’ve tried re-creating assets from scratch and it still occurs.

Was project converted from 4.7.6? Can you up project and upload it somewhere so I can take a look?

To make things make a bit more sense:

  • We had an original project without asset pack that began in 4.7 I believe
  • Then when 4.8 came out we updated
  • Then I downloaded generic shooter asset pack but was advised against simply adding it into my existing project
  • I made an entirely new project using asset pack, using the “Create Project” button on launcher under asset pack itself
  • I created child blueprint of BP_PlayerCharacter blueprint in asset pack
  • I then began migrating some of assets over from our other project while both projects had same version
  • Then I simply removed older project, and continued working on current one.

Hopefully that timeline makes sense. Might also help.
Here’s a link to project:
[REMOVED]

Thanks! I removed link, in case it had some of those purchased assets in it, but I have it and will let you know if I can narrow problem down.

Ah yes of course, that completely slipped my mind! whoops! Thanks, looking forward to hearing back.

child Blueprint is BP_PlayerCharacter_Engineer
That’s what I’m having issues with. Whenever I launch editor/package game I also tend to get this error:

BlueprintLog: New page: Compile BP_PlayerCharacter_Engineer
LogOutputDevice: === Handled error: ===
Ensure condition failed: !GetClass()->HasAnyClassFlags(CLASS_NewerVersionExists) [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.8\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp] [Line: 625]
Object 'REINST_BP_PlayerCharacter_Engineer_C_524 /Engine/Transient.World_2:PersistentLevel.BP_PlayerCharacter_Engineer_C_0' is being used for execution, but its class is out of date and has been replaced with a recompiled class!

Hi Haigen,

I’m not sure if I can help here but, perhaps you can try use data struct/table. This is how I do it on my end - I have a BP called WeaponBP_Master. This master BP has variables that will be inherited to child but has no value.

Then, I create data struct/ store data in data table. So, whenever I create a new child for weapon master BP, I will create new row in data table, which I will fetch it to set vars inherited from master BP at construct script, inside newly child BP. I’m not setting variables manually inside child BP.

I haven’t tried it on character type BP thou, as weapon master BP is based on actor. But I imagine it would work.

I checked out project and I can confirm I’m seeing this, only with Anim BP in Engineer’s Skeletal Mesh component. I’m probably going to need to open a ticket specifically for this project, since I cannot find cause.

It does seem related to an issue we used to have in 4.7, but that was fixed in 4.7.4 if I recall correctly, and it would replace a reference with PLACEHOLDER_AnimBPName, rather than none, in most cases at least. I’m assuming, though, that project you created to use assets from Generic Shooter was a 4.8 project? And original project you used was 4.7.4 or later?

EDIT: For reference, this was issue I’m referring to:

Yes original was made during 4.7.4 or later and current project was made during 4.8.

Its not just anim blueprint though. Sometimes even mesh gets set to “none”.

Thanks Haigen!

I’ve created a bug report for our developers (UE-18765) and included your project so they can look into it further. I will let you know as soon as I have any update for you.

I just wanted to post that I am also having this same issue, Also with Generic Shooter Pack from marketplace. I have been trying to figure out what is going on. And have reproduced it with just pack no changes except making a child blueprint of player character and a duplicate of player character. Both have same results. Works fine until closing editor and reopening it will reset animation blueprint and mesh to none. It is not only child blueprints that are affected.

Edit: This is with using stock 4.8.2, no code changes

Thanks for additional info, I’ll be sure to add it to report!

Is there an ETA? 4.8.3 or 4.9?
This project is part of a university assessment that we could risk failing with this problem since we can’t test anything.

I’ve setup child blueprint to OnBeginPlay set mesh and anim blueprint but now when packaging a development build, it causes a bunch of other problems.

I’d also like to add that creating a “shipping” build of that project results in an error as well. Failed to open descriptor file. Which I have not seen a solution for anywhere except for android devices which we are not using.
It happened on previous version of my project also, that did not use Generic Shooter Pack.

Cheers for help so far.

Unfortunately no ETA at this time. I’m going to talk to Marketplace team to see if they can look into that content pack, but for now your solution of setting values on BeginPlay is only one I can think of. resulting packaging issue is likely unrelated to this bug, and I’d encourage you to create a new post so I can get right people to look into that.

assets in Generic Shooter were created in 4.7 but were migrated to 4.8 once I started including 4.8 only functionality. I encountered this issue across all blueprints and had some back and forth with Mike Beach on GitHub. Perhaps issue is a a lingering artifact from then. Recreating these blueprints from scratch would be a severe pain, any ideas on what would be best way to ‘clean’ them? I’ve been requesting a ‘blueprint cleaner’ since Rocket xD. Lots of bad things can remain serialized over time it seems.

I spoke with Mike Beach, and he’s not exactly sure what problems a “blueprint cleaner” would fix. He agrees that this sounds related to cyclic dependency issues that was causing issues in 4.7, though in this case it’s not using PLACEHOLDER_ references like it was then.

Mike suggested trying this commit: https://github.com/EpicGames/UnrealEngine/commit/854326149bd2988b4e5b0af7d5b1c62129792bc7

There’s also another issue he’s working on now that may be related, though it specifically regards components: UE-17675

Let us know if you’re able to integrate that GitHub commit and whether it fixes this issue for you. @Allar: are you able to reproduce this on your end as well?

Since updating to Allar’s newest version of Generic shooter I’m no longer experiencing this issue. I’m not sure what even changed but it’s no longer coming up for me.

Thanks to both of you for your help. If you need latest copy of my project perhaps to compare and find issue I’ll be happy to PM a link to you.

I’ve been getting this error as well. I’m using UE 4.7.6

I have a child actor component which tries to add in a blueprint. Every time I restart editor, it gets reset to ‘none’.