In FMassNavMeshMoveFragment we have a bunch of variables with default values, and then we repeat those in FMassNavMeshMoveFragment::Reset. This isn't great as things could accidentally fall out of sync. To resolve:
[x] Refactor it so that instead of having bNeedsNavMeshMove on FMassNavMeshMoveFragment, we create a FMassNeedsNavMeshMoveTag which subclasses FMassTagInFragment. Then wherever we currently set bNeedsNavMeshMove to true/false instead use FMassUtils AddTagViaFragment/RemoveTagViaFragment.
[x] Update FMassNavMeshMoveFragment::Reset to just: *this = FMassNavMeshMoveFragment();
In FMassNavMeshMoveFragment we have a bunch of variables with default values, and then we repeat those in FMassNavMeshMoveFragment::Reset. This isn't great as things could accidentally fall out of sync. To resolve:
*this = FMassNavMeshMoveFragment();