Hi there,
There is a bug in the engine where setting a value from a custom structs inside BP components are being reset to default after editing it in the actor’s instance. I discovered this bug when my marketplace customers reported it.
This is how I reproduced the bug:
-
Create an Actor Component BP
-
Create a custom struct with a custom enum variable and other
variables (e.g. integer, boolean, etc) -
Add multiple variables of type “custom struct” inside the component.
Set them to Editable. -
Now set some default values for these inside the component,
especially for the enum. -
Create a blueprint Actor then add the component to the actor
-
Place the actor in the level/scene
-
Click on the component of the instanced actor then edit any of the
struct variables -
The values should then reset to default values
I also uploaded a project in which I did these steps here -
The component is attached to the ThirdPersonCharacter BP. If you edit
the speed of the Follow Config, the enum will also reset.
It should be noted that if default values are not set inside the
component or actor, then the bug doesn’t happen. Unfortunately, this is
unacceptable for my product since I need to set default values so my
customers don’t have to bother with all of them.
I hope you can fix this bug. I think this is still related to circular dependency.