What is more efficient: using rigidbody and moving it by changing velocity or checking collisions from scratch (using Physics.BoxCast and etc.)? I want to achive max perfromance