Rigidbody slightly intrudes another one while pushing it

I’m moving a rigidbody and it pushes other rigidbodies out of the way. this is my code:

_rigidbody.MovePosition(_rigidbody.position + velocity * Time.fixedDeltaTime);

pretty standard. but as a result the rigidbodies slightly intrude one another while pushing:

in the documentation they say not to use .velocity because it will lead to unrealistic physics simulation

any thoughts how can I fix this?

Have you tried putting the detection mode to “continuous” on the rigid body of the green object?