Thanks! Yes the blocks are just rigidbodies and just brute force their positions. They record their position/rotation during their free loop every 1/30 seconds. On subsequent loops, they turn kinematic and play back their positions/rotations. It's not very optimized but worked well enough in most cases.