Modified properties of child blueprint class instance placed in level can be lost due to error caused by change in parent blueprint.
For example having BP_Test blueprint:
[Image Removed]with child blueprint BP_Test_Child placedin level with set up smart object definition on it’s smart object component:
[Image Removed]
BP_Test blueprint having function Test with boolean input
[Image Removed] and BP_Test_Child implementing it’s parent function Test.
[Image Removed]Then when deleting boolean input in function Test in BP_Test and fixing error in BP_Test_Child caused by this change BP_Test_Child looses smart object definition on it’s smart object component that I set up previously and I have to do it again which is very annoying. Especially in cases when there is more modified properties than just smart object definition.
5/ Create BP_Test_Child as child blueprint class of BP_Test.
6/ Create SO_Test smart object definition.
7/ Place BP_Test_Child in your level and assign SO_Test as smart object definition on it’s smart object component.
8/ Implement Test function in BP_Test_Child. For example like this:
[Image Removed]
and save and compile it.
9/ In BP_Test function Test delete boolean input in Test function and save and compile it.
10/ Fix error caused by previous step in BP_Test_Child:
[Image Removed]
by disconnecting connected variable to now invalid input:
[Image Removed]
and save and compile.
11/ Check whether BP_Test_Child that you placed in level kept SO_Test as smart object definition on it’s smart object component.
Please note that modified properties are lost also in other components. It is not a case just for smart object component. I used smart object component just as an example for the sake of repro steps.