Modifying UPROPERY value, making it persistent

I need to modify a UPROPERTY value within a component from C++ code (preferably from the component itself). The modified property must be serialized when the package is saved. I cannot find a suitable place to modify this property, it ends up in the UCSModifiedProperties list (read only in the editor and won’t save). There’s one single exception I found though. If I override PostEditImport I can modify the property value and it will be serialized, but PostEditImport is ONLY called if the actor is copy-pasted. I must be able to set the property value when actor dragged into the world.

I am confused. You are trying to modify the value from C++ in the editor, and you want to store the C++ modified value as the new default value? Or the C++ is trying to modify it at runtime?