On true the first vector value is being changed, while the second one remains the same. At one point in execution, the first vector reaches the same value as the second one, which is being showed when I call Print Time Message (it is a simple Print String but before the message it adds the time), and Distance (Vector) returns 0,0 as printed with Print Time Message, BUT instead of going inside False branch, it goes on True still, even tho the distance between them is 0,0.
Should I change something with it? Or it is kinda of a bug?
You can see in Image1 that at one point the distance is 0, and the two vectors have the same value. But because it goes still on true, it keeps changing the first vector. While on false it should call this and stop.
It was a bit weird because in my code at first v1 was always lower then v2, in which case the code was increasing it until it was either equal to v2, or if it was going above v2, then it would copy the values of v2 in v1, meaning they would both be equal in both cases and should have used false. As a test I did Distance (vector) to String and compared that string to 0.0, and with string it was working.
I’ll try to use Nearly Equal (Float) for it when I can.
I get it what you are saying. I even seen on some actors that UE was using -0.0 as value, but with that you get into too much “weird math”, or maybe it was like you said, it was showing -0.0, but it was rounded to that value, when in fact it was -0.0000000X.