getWorldPosition allocates a new point every frame. We should probably cache that var.