FQuat::NetSerialize will always call Normalize() as part of replicating the current value, so that only the X, Y, and Z components need to be serialized (the W can be computed on load). This operates on the current value, but due to floating point error the result can be slightly different, even if the original FQuat was already normalized. This will cause the FQuat to be considered dirty the next time the property is evaluated for replication, normalizing the value again. This process can continue indefinitely.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-60215 in the post.

Login to Vote

Affects Versions4.19
Target Fix4.21
Fix Commit4320147
Main Commit4352452
Release Commit4399518
CreatedJun 8, 2018
ResolvedAug 27, 2018
UpdatedOct 3, 2018