if vec.dot(vec) > some_distance*some_distance: do_something() might not be quite as obvious looking as: if vec.length_squared > some_distance*some_distance: do_something() As to why you'd want to use length_squared over length is that length uses a square root, which isn't always necessary for simple distance checks (e.g., closest object, checks like the ones above, ect).