This is an issue with how FPropertyValueImpl::ResetToDefault works: it uses GetDefaultValueAsString to reset the default value. This is problematic because the LexToString function that is eventually called uses a format specifier of "%f", which defaults to a precision of six.
In the above example, 0.15 + 0.3 is actually 0.449999988079071044922, but LexToString converts to 0.450000, which is what we set the component's value to. As a result, diffs with the CDO's value will always fail.
To reproduce this issue, create an actor component in C++ and add a property like this:
* Create an Actor BlueprintUPROPERTY(EditAnywhere)
double MyTestDouble = 0.15 + 0.3;
The second step is even more scary, because it will cause bad property values for actors in the level:
i have this problem UE4CC-Windows-58DC12AF4B97F057BD108FBFF569B2E9_0000
I am not able to find world outliner how to enable it?
How to achieve HLSL Multiple Render Target in Material blueprints?
How can i modify the param name in EQS node
What method is used to fill polygonal regions when drawing spline mesh at run time?
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
I'm working on a VR Project and I cannot add Nav Mesh to the stairs??
Delay nodes occasionally don't fire the "Completed" output in a nativized build
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-149061 in the post.
4 |
Component | UE - Gameplay - LWC |
---|---|
Affects Versions | 5.0 |
Created | Apr 13, 2022 |
---|---|
Updated | Jan 22, 2024 |