# Physics collision detection and new properties

**URL:** https://forum.castle-engine.io/t/physics-collision-detection-and-new-properties/82
**Category:** News
**Created:** [June 15, 2019, 10:25am UTC](https://forum.castle-engine.io/t/physics-collision-detection-and-new-properties/82 "2019-06-15T10:25:13Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [June 15, 2019, 10:25am UTC](https://forum.castle-engine.io/t/physics-collision-detection-and-new-properties/82/1 "2019-06-15T10:25:14Z")

</div>

| [![Physics collision demo](https://castle-engine.io/wp/wp-content/uploads/2019/06/physics_collisions-200x157.png)](https://castle-engine.io/wp/wp-content/uploads/2019/06/physics_collisions.png "Physics collision demo") |

We now support _collision detection_ using our [physics engine (Kraft)](https://castle-engine.io/manual_physics.php). You can be notified when a particular object collides, and you can check with what it collided.

Big thanks for implementing this feature go to _Andrzej Kilijański_!

Collisions can be checked in two ways:

1. By getting a list of colliding TRigidBody objects from [TRigidBody.GetCollidingTransforms](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#GetCollidingTransforms). Works like `get_colliding_bodies()` in _Godot_.
2. By using [OnCollisionEnter](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#OnCollisionEnter) and [OnCollisionExit](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#OnCollisionExit) events on TRigidBody. This is similar to _Unity_.

Simple example to demonstrate it is in [examples/physics/physics\_2d\_collisions directory of the engine](https://github.com/castle-engine/castle-engine/tree/master/examples/physics/physics_2d_collisions).

We also have new properties on [TRigidBody](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html), and some internal things are now cleaner (again thanks to _Andrzej Kilijański_!). New properties:

- [TRigidBody.Exists](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#Exists)

- [TRigidBody.AngularVelocity](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#AngularVelocity)

- [TRigidBody.AngularVelocityDamp](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#AngularVelocityDamp)

- [TRigidBody.MaximalAngularVelocity](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#MaximalAngularVelocity)

- [TRigidBody.LinearVelocity](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#LinearVelocity)

- [TRigidBody.LinearVelocityDamp](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#LinearVelocityDamp)

- [TRigidBody.MaximalLinearVelocity](https://castle-engine.io/apidoc-unstable/html/CastleTransform.TRigidBody.html#MaximalLinearVelocity)
