In a default project with starter content, I created Blueprint actor and added Sphere. Set Simulate Physics to true for Sphere, override mass to 101. Add little function to print this mass on every tick. This works. However then go back change mass to 110 or something else. Now observe that GetMass() still returns old value 101. When you set mass override in editor and change its value to something else few times, it appears that editor keeps using the first value, all subsequent values are shown in editor’s property UI but never actually getting set internally!
Just spent 4+ hours debugging this issue…
Workaround: In Begin Play event use SetMassOverride to enforce new value.
I’m not sure how you are getting the 101 value to stick during play, it should always default to 100 when the MassInKg is enabled. And that is the intended functionality.
If you look at the tool tip you will see that the MassInKg should be manipulated using a Physical Material and/or the MassScale value. If you want the value you typed-in to take effect, you will need to use the bOverrideMass like you are doing.
I think this is very confusing interface. The UI allows you to check the box which enables the textbox to enter the mass. This clearly gives impression that you can override mass through UI and it should work. If overriding mass is not possible through UI then there shouldn’t be checkbox and textbox to type it in.