Two rigidbody's overlap instead of colliding

Hi i am making a kind of a hockey game however when i hit the puck from the side with the player they instead overlap and the puck stops. Afterwards when the player goes out from the puck it seems like the puck is added that energy, however little. Both objects have rigidbodys attached, and the player have a box collider attached, and the puck have a capsule collider attacher, former a mesh collider with the same results. Both rigidbodys have Continous Dynamic collision detection, and Interpolate is set to Interpolate.

I have tried to do it only with the physics engine, moving the player with addforce, which for some reason works, kinda, atleast the colliders don’t overlap however the puck transfers most of its energy to the player and therefore more or less stops, is there a way to do this so that the puck doesn’t loose energy?

Are you moving your objects by setting transform.position or doing transform.Translate?

In that case, you’re teleporting the objects to the new spot, and collisions won’t be simulated properly. If you want to have collisions have an effect, you’ll have to use physics to move the things.

If AddForce isn’t working out for you, try setting the velocity directly. Also make sure that the puck and the player have sensible settings for mass - if the player and the puck has the same mass, the puck will push the player as hard as the player would push the puck.