I was having issues iterating a struct through a Vector4.
Turns out the 4th coordinate, W, is missing in the definition of the operator ==.
In IntVector.h, on line 746, it’s defined as
FORCEINLINE bool FIntVector4::operator==(const FIntVector4& Other) const
{
return X == Other.X && Y == Other.Y && Z == Other.Z;
}
and it should be
FORCEINLINE bool FIntVector4::operator==(const FIntVector4& Other) const
{
return X == Other.X && Y == Other.Y && Z == Other.Z && W == Other.W;
}
I believe this is the same issue as some other people described at UE-97794
Thanks