UPROPERTY EditAnywhere vs BlueprintReadWrite

Hello everyone, I’ve was stuck on my development because got troubles with UPROPERTY macro.

I used the descriptors

UPROPERTY(**BlueprintReadOnly**, EditAnywhere, Category ="Stats")

and i could change the variable value inside the editor, actually it’s defaults value but when compiled they were processed as the “None” or default before I changed. (despite of the editor was showing My changes).

In the other side, when I swapped to

UPROPERTY(**BlueprintReadWrite**, EditAnywhere, Category ="Stats")

then all was working fine, but now I let the user change the values at blueprint, which I don’t really want to.

I am missing something about UPROPERTY?

Thanks for your time :smiley:

1 Like

To me the “Property Specifier” docs weren’t clear - had to learn it elsewhere.

  • EditAnywhere - can mod default value in the BP details panel, but not at runtime.

  • ReadWrite - can get / mod dynamically in the Event Graph.

  • ReadOnly - can get in the Event Graph.

Sorry to bump an old thread, but it’s the top hit on Google, so this may help others.