# Basic billiards game: Can't detect collision between cuestick and cueball

I have a basic Unity project on GitHub.

Basically, I have a Cuestick that aims and shoots using the mouse. You can rotate around the cueball with your mouse and when you're ready to shoot, you can hold down the right mouse button and move the mouse forward. The game came follows the cuetip.

However, the collision between the cuestick and cueball is wonky. The cuestick protrudes through the ball and only pushes the ball forward only a little bit.

I've created rigid bodies and colliders for both cuestick and cueball. I've set the cuestick's rigid body to kinematic (if it's unchecked, the poolstick will barely dent the ball). I've tried using OnCollisionEnter and a Debug.Log statement to no avail.

Any help would greatly be appreciated. You can find my scripts in /GameLogic (they're F# sharp scripts whose binaries get compiled and outputted into the /assets folder).

• How are you moving the pool cue? Are you imparting velocities/impulses to it, or manually positioning it via its transform? If it's the latter, then to the physics engine it may appear that it's teleported into the ball, with no particular forward momentum to transfer, so it just resolves the penetration by the smallest displacement/velocity change that it can. – DMGregory Sep 21 '16 at 2:49
• Additionally if you do use AddForce() make sure that you set the masses of each object to sensible values. – Draco18s no longer trusts SE May 10 '17 at 13:35