Having Child Actor Components that are set in code can cause data loss upon compiling the blueprint.
In this particular scenario, there are two custom Actor classes involved, MainActor and SubActor. SubActor contains a UStaticMeshComponent pointer that is populated with a default subobject in the Constructor. MainActor contains a USceneComponent as its Root Component as well as three UChildActorComponents, each with their ChildActorClass set to SubActor and attached to the Root Component.
The Static Mesh Component for two of the ChildActorComponents is cleared whenever Compile is hit in the blueprint editor when inside of a blueprint based off of MainActor. There are also weird combinations of this removing things at random which can be seen by clicking the Reset to Default button on these Static Mesh Components and then hitting compile.
This is an odd issue, to me at least. If you have any questions about the setup or need any particular scenarios tested, please let me know.
Regression?: No
While this didn't occur in 4.13, it was not able to as the affected properties were not visible from the Blueprint editor.
Head over to the existing Questions & Answers thread and let us know what's up.
3 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.14.1, 4.15 |
Target Fix | 4.15 |
Created | Dec 22, 2016 |
---|---|
Resolved | Jan 10, 2017 |
Updated | Apr 27, 2018 |