If I apply forces to a rigidbody like AddForce(Vector3(5, 5, 0); how would I go about getting a list of vector3 positions that would represent the path that rigidbody would take before actually having it follow that path? Basically I want to test the path for collisions before going through with it.
Rigidbodies simulate physics, so you can use basic laws of motion: http://www.physicsclassroom.com/class/1DKin/Lesson-6/Kinematic-Equations-and-Problem-Solving
At the simplest level, you can predict where the object will be 5 frames from now by taking its current position and adding the per-frame velocity five times.
(Note you can’t create a “list of positions” it passes through since, with non-discrete movement, the list would be infinite).
I think that you might want to use
Physics.Raycast(). I believe Eteeski has some pretty clear examples of its use here. It basically is a laser that will say if it hit something.