# How to make two chracter controllers collide with each other?

**URL:** <https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549>\
**Category:** Questions\
**Tags:** character-controller, movewithcollisions\
**Created:** [July 15, 2025, 5:00pm UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549 "2025-07-15T17:00:20Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![scherka](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/scherka/32/47557_2.png) [@scherka](https://forum.babylonjs.com/u/scherka)\
**Post date:** [July 15, 2025, 5:00pm UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/1 "2025-07-15T17:00:20Z")

</div>

Hello! I have two character controllers: one for the player and one for the NPC. However, controllers collide with everything but each other and the player can walk through NPCs. Is there any way to make them collide?

> **[Babylon.js Playground](https://playground.babylonjs.com/#WO0H1U%23124)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL and WebGPU 3D scenes

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [July 15, 2025, 5:01pm UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/2 "2025-07-15T17:01:57Z")

</div>

cc @Cedric

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [July 16, 2025, 6:32am UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/3 "2025-07-16T06:32:50Z")

</div>

You need to create a body+shape and attach it to the player position. This might not be evident with the api. I’ll try to do a sample asap.

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [July 16, 2025, 6:35am UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/4 "2025-07-16T06:35:51Z")

</div>



---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [July 17, 2025, 5:20pm UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/5 "2025-07-17T17:20:22Z")

</div>

I could not find a good and easy way to do it with current state. I’m working now on adding the feature.

---

<div class="post-metadata">

**Author:** ![Censor](https://avatars.discourse-cdn.com/v4/letter/c/8e7dd6/32.png) [@Censor](https://forum.babylonjs.com/u/Censor)\
**Post date:** [August 6, 2025, 2:40pm UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/6 "2025-08-06T14:40:48Z")

</div>

Hello, is there any progress on this feature?

I need to be able to check if a ray hits the player body, so I’m thinking of moving a physics body to the player position each frame for collision testing. It will probably require a collision mask so the charactercontroller won’t collide with it?

Anyway if this feature is being implemented I’ll wait for that to be completed 🙂

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [August 6, 2025, 2:44pm UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/7 "2025-08-06T14:44:20Z")

</div>

Yes, still on my plate ! no ETA yet, sorry. If you have a good work around it’ll help you wait, I guess 🙂

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [November 28, 2025, 9:48am UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/8 "2025-11-28T09:48:53Z")

</div>

Better late than never ! [CharacterController update by CedricGuillemet · Pull Request #17514 · BabylonJS/Babylon.js · GitHub](https://github.com/BabylonJS/Babylon.js/pull/17514)

---

<div class="post-metadata">

**Author:** ![Censor](https://avatars.discourse-cdn.com/v4/letter/c/8e7dd6/32.png) [@Censor](https://forum.babylonjs.com/u/Censor)\
**Post date:** [November 28, 2025, 3:53pm UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/9 "2025-11-28T15:53:18Z")

</div>

Awesome, I was just adding this feature to my project - I’m going to try this out now. Thanks!

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [December 5, 2025, 9:48am UTC](https://forum.babylonjs.com/t/how-to-make-two-chracter-controllers-collide-with-each-other/59549/10 "2025-12-05T09:48:27Z")

</div>


