USTRUCT editdefaults won't go back to default values

I’m not sure really how to describe this.

I’m setting up the GameplayAbility system in my project and i’ve run into a weird problem.

I want my designers to be able to create Blueprints derived from my AttributeSet class for each character in the game, so I allow them to choose their BP through the TSubclassof parameter and then i get a pointer to the created newobject, from which I call a C++ function in blueprint to change the value of BaseValue that exist inside the FGameplayAttributeData Struct available.

However, once changed, they will never revert back to default. For example, I initialize with 100, change to 50, close the Play in editor, and when i launch back, the new default value is now 50.

This ONLY HAPPENS with FGameplayDataAttribute. I did a test with a testfloat inside of a custom ActorComponent for which I call a C++ changevalue function in blueprint, and the testfloat reverts back to it’s default (100) when i close the PIE/Editor.

Do USTRUCTS behave differently or something? How come my values never go back to default values set in the CPP Constructor?

Thanks!