Pushing lower of two stacked cubes, and top cube stays still?

I have two cubes, each with their own rigidbody, and cube collider. They are stacked, one on top of the other. I am moving the lower cube using rigidbody.MoveTo(). The top cube stays still.

How can I make it so that the top cube moves along with the bottom cube as it is pushed?

Some other things to note are, the rotation of these cubes are locked. I have experimented with trying to change the physics material to rubber, which works only slightly better. The top cube will move a tiny bit, but for the most part still stays still, and eventually falls off of the lower cube.

Any ideas on how to improve or fix this issue?

You’re gonna need some more scripting involved to make this happen I think.

Add a script to your blocks which finds out if there’s a block on top of it or not, so then if its attached to any block it should work indefinitely upwards :smiley:

Could do this with a raycast or maybe even a small trigger collider on top of the block.
Once you got that information you can just set the top block during the Update function.

Note that this method means they will pretty much never come apart so you will need something to handle that fact.