However they all seem to move at different speeds…Yellow slowest, then Red, then Blue and Red much faster.
I need all the object to move at exactly the same speed so I thought this would be perfect, but as it is they end up colliding with each other and making a mess.
Ok, i just tried many things. First i thougt you might have different parents for each object and everyone with a different scale. However that has no influence on the speed since you move in world-space.
To cut it short: No matter what i do to the setup, i can’t make them move at different speeds. The only thing left over is that you have another script that moves the object. Since it’s a rigidbody it’s possible that you set a velocity or a one-time AddForce (which is pretty much the same) somewhere. Check the velocity of all rigidbodies, they should be (0,0,0) since you move them without physics.
When they are Rigidbodies you might just want to set a velocity?
// Unityscript (Javascript)
function Start()
{
rigidbody.velocity = Vector3(0,0,5);
}
This will make the object move along the positive z-axis at a speed of 5, just like your piece of code above. Note: that only works for non-kinematic Rigidbodies. If you have a kinematic RB you have to move it “manually” like you already do.