# Custom position update with havok

**URL:** <https://forum.babylonjs.com/t/custom-position-update-with-havok/61466>\
**Category:** Questions\
**Tags:** havok\
**Created:** [November 18, 2025, 12:14pm UTC](https://forum.babylonjs.com/t/custom-position-update-with-havok/61466 "2025-11-18T12:14:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tanpopo](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/tanpopo/32/32025_2.png) [@tanpopo](https://forum.babylonjs.com/u/tanpopo)\
**Post date:** [November 18, 2025, 12:14pm UTC](https://forum.babylonjs.com/t/custom-position-update-with-havok/61466/1 "2025-11-18T12:14:54Z")

</div>

My situation: I use moveWithCollisions with some extra code solving upstairs/slope/jump to calculate a new position per frame for a character, now I want to play football using the character controller, and I hope the physics part affect the football but not the character so my previous work can still be used.

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

Take the playground above as a simple example, if I just update position, the pin moved because of the two shapes coincide rather than collide, the pin will not get a force/impulse. Besides, because the ball have mass, so the pin will affect the ball’s velocity after coincide, I tried to get velocity using `getLinearVelocity` and `getAngularVelocity` before and after frame but all zero, and I did not find a function to stop this part of velocity.

---

<div class="post-metadata">

**Author:** ![SimoneDev](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/simonedev/32/44252_2.png) [@SimoneDev](https://forum.babylonjs.com/u/SimoneDev)\
**Post date:** [November 18, 2025, 1:44pm UTC](https://forum.babylonjs.com/t/custom-position-update-with-havok/61466/2 "2025-11-18T13:44:26Z")

</div>

What about `setLinearVelocity` and `setAngularVelocity` to stop movement and rotation?

```typescript
physicsBody.setLinearVelocity(new BABYLON.Vector3(0, 0, 0)); // movement velocity
physicsBody.setAngularVelocity(new BABYLON.Vector3(0, 0, 0)); // rotation velocity

```

---

<div class="post-metadata">

**Author:** ![tanpopo](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/tanpopo/32/32025_2.png) [@tanpopo](https://forum.babylonjs.com/u/tanpopo)\
**Post date:** [November 19, 2025, 1:07am UTC](https://forum.babylonjs.com/t/custom-position-update-with-havok/61466/3 "2025-11-19T01:07:50Z")

</div>

Thanks it do work! I think I get something wrong when I was using `getLinearVelocity` and `getAngularVelocity`. But the first question still remained, maybe I need to drop my previous code.
