Bug, UPROPERTY removed from the editor panel still overriding c++ values

  1. Create a UPROPERTY in c++ with the tag EditAnywhere.
  2. Go to the Blueprint editor and modify the property to any value except the default.
  3. Remove the EditAnywhere tag from the UPROPERTY.
  4. The property will not show as “modified” anywhere at all, but will silently override any c++ defaults.
    Incredibly annoying to debug. Is there a way to reset the blueprint classes so that they don’t override properties which are no longer exposed to the editor?
1 Like

It’s still a UPROPERTY() which means it’s still being serialized, it doesn’t matter if it’s not editable anymore or shown in details panels. This is by design, so not a bug.

If you want it to be a UPROPERTY but don’t want it to be saved/serialized for whatever reason, mark it as Transient.

There is no way to reset them en-masse automatically. You must remove the UPROPERTY() entirely (or mark as Transient) - then resave all the assets and instances to remove that data from the serialized bulk data.