Using Unity's collision detection for external physical engine

Hi everyone!

I would like to use my own physical engine instead of the Unity’s one, and use colliders to detect collisions between objects and send the information to my physical engine.

I have identified three possibilities:

  • Use colliders, but this activate the Unity’s physical engine.
  • Use kinematic colliders, but then the collisions are not detected.
  • Use triggers, but Collider does not provide information such as normal or contact point as Collision does.

Please, is there a way to get all the information provided by the collision detection as contact point and normal without using the Unity’s physical engine?

Thanks in advance!

Implement your own collider, dood. It’s just a script with mesh property that extends/implements collider. Just make it so that yours won’t and you’re set.

Thank you for your answer!

So, I guess the physical reaction is directly linked to colliders and I should create my own.
I admit I find this a bit disturbing as collisions/reactions should have been separated in a way, typically to enable the use of external physical engines.

As much as l like Unity’s physics, I agree that there should be an option to turn it off and use/implement a custom one.
You’ll also probably need to implement your own RigidBody.

This one may work. You can enable the collision detection among kinematic rigidbodies in the Physics Manager (Edit > Project Settings > Physics):

3553965--285967--upload_2018-7-5_12-5-40.png

Thanks both of you!

I never saw that “Contact Pairs Mode” thing, I just tried it and that seems to work perfectly the way I want! Thank you!

My pleasure!