That’s basically the right of it. The way modern CPUs handle floating point processors, multiplication is always faster than division. This extends into Squares and Square Roots (owing that these are implemented using multiplication and division.

`Vector3.Distance`

is calculated by taking the square root of the sums of (x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2. So here we have three subtractions (average) three multiplications (fast!) two additions (fast) and one complex division (slow).

`.magnitude`

is calculated by taking the square root of x^2 + y^2 + z^2. In the case of .magnitude, we’ve likely front loaded the Vector1 - Vector2 math (three subtractions), plus the aforementioned three multiplications, two additions and a complex division.

`.sqrMagnitude`

is calculated by adding x^2 + y^2 + z^2. Once again, for our purposes, we’re still subtracting the vectors in advance, and now we have three multiplications and two additions. On the other end of the equation, we add one multiplication (PlayerChasingRange * PlayerChasingRange), but that replaces one of the CPU’s slowest math functions with one of the CPU’s fastest math function.

Ultimately, on a high end PC, you’re not likely to notice the difference, if 20 or 30 enemies make this square root transaction once a frame. On the average Android phone, however (most Android phones active in the world are older and slower and don’t do quite as well at math).