I stumbled across this weird behaviour today - I guess it’s a bug. Basically the inheritance on skeletal meshes seems to be wrong when packacking a game. It always uses the skeletal mesh reference of its parent instead of its own.
Reproduction:
Create an actor blueprint with a skeletal mesh component. Select any skeletal mesh you want (even “none”).
Create another blueprint which is the child of the first one and select a different skeletal mesh.
Place the 2nd blueprint ingame.
Everything works as planned in “Play in Editor” + “Standalone Game”. However if you now “launch” the game (cooking doesn’t change anything) you will notice that the child displays the same skeletal mesh as the parent (which leads into believing the child wasn’t spawned when the parent blueprint has selected “none”).
Edit2: Also Rotation Components from parent aren’t working.
Edit3: I’m getting the feeling that it could be also a problem with the map. I changed some positions of objects but this won’t show up. It somehow loads an old “version” of the map?
I am unable to reproduce this in 4.7.2 using the Content Examples project and my own blueprints. What engine version are you on and what project are you using?
I wanted to follow up since it has been a couple days and see if you had any more info. If not, would you be willing to send us your project?
thanks for answering. I am using 4.7.2 and I was able to reproduce it in the Content Examples (Third Person Example). I guess I forgot one step in my initial post so I will explain every step in detail but also provide an upload of this new test-project!
Create an actor blueprint.
Create a child of it and add a skeletal mesh. Leave it to “none”.
Create a child of the blueprint you created in step 2) and assign it a different skeletal mesh.
Place the “grandchild” (step 3.) ingame and play in editor. It will be visible. Now launch the game and it will be invisible.
I was only able to reproduce this with a packaged game. I was unable to reproduce when launching the project in game mode (opening with -game cmd argument or right clicking on the .uproject and choosing Launch Game). It was my understanding that you were seeing this behavior in both game mode and a packaged game. Is that correct?
Just want to get that straight before I go ahead and enter this bug.
yes it’s correct that I’m experiencing this behaviour in packaged game as well as in the game mode. I launched it via the button which is next to the “play in editor” button and confirmed this by right clicking the .uproject and choosing Launch Game. Same behaviour in both ways.
Thank you for your time and effort!
Why certainly! I’ll post an update here when it is fixed and verified.
EDIT: If you ever see a post on here that is also effecting you, we really appreciate these kind of replies. It can help bump the priority of bugs when we have multiple users affected.
I was so frustrated by this bug that I forgot the easiest workaround. You just add a new variable, which is a skeletal mesh and in the parent construction script you say “set skeletalmesh (yourComponentSkeletalMesh)” and just drag and drop in the new variable and plug it in. This is actually done in many tutorials and I can’t think of any reason I havn’t tried it in this case. haha.
However using it this way it works also in a launched game.
We’ve been banging our head against a wall for the past couple of days wondering why this wasn’t working.
We just added some inherited blueprints in 4.7.3, but we had also done a relocate of the project files around the same time and suspected that it might have been some kind of redirection issue.
However this seems exactly the same problem as we’re running into - blueprints work in Play in Editor and Standalone, but doesn’t work when cooked. This makes it very difficult for us to test on multiple machines!
It’d be good to know if there is any progress on this, since it seems fairly critical to plenty of projects actually working correctly - an ETA would be nice?
I’m experiencing the same issue with variables and structs from a child blueprint being reset to their parent default values ONLY when cooked (works perfect on PlayInEditor or Standalone)
Unfortunately Theo’s solution doesn’t work with variables and structs.
I’ve subscribed to this thread… looking forwards to the fix!
We don’t give ETA’s on bug fixes for a host of reasons, but I can tell you that it has been marked as Priority 2 (Major) and has a status of “To Do” (which is good…means that it isn’t backlogged). I get notified of any updates that happen to this bug report and will tell you all of any changes.