# How to add mouse events to 3D objects?

**URL:** <https://forum.needle.tools/t/how-to-add-mouse-events-to-3d-objects/1068>\
**Category:** 🌵 Needle Engine\
**Tags:** question\
**Created:** [October 17, 2022, 12:00am UTC](https://forum.needle.tools/t/how-to-add-mouse-events-to-3d-objects/1068 "2022-10-17T00:00:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![discord-import](https://forum.needle.tools/user_avatar/forum.needle.tools/discord-import/32/33_2.png) [@discord-import](https://forum.needle.tools/u/discord-import)\
**Post date:** [October 17, 2022, 12:00am UTC](https://forum.needle.tools/t/how-to-add-mouse-events-to-3d-objects/1068/1 "2022-10-17T00:00:00Z")

</div>

I see you can add click and other events to unitys canvas UI objects through the editor. But how do I add those events to a “normal” 3D object? Through typescript would be best.

[Original Post on Discord](https://discord.com/channels/717429793926283276/1031547589482532864)

_by user 367081956959322114_

---

<div class="post-metadata">

**Author:** ![Marcel\_Wiessler1](https://forum.needle.tools/user_avatar/forum.needle.tools/marcel_wiessler1/32/21_2.png) [@Marcel\_Wiessler1](https://forum.needle.tools/u/Marcel_Wiessler1)\
**Post date:** [October 17, 2022, 12:00am UTC](https://forum.needle.tools/t/how-to-add-mouse-events-to-3d-objects/1068/2 "2022-10-17T00:00:00Z")

</div>

You can implement the `IPointerEventHandler` interface for example

```ts
export class MyScript extends Behaviour implements IPointerEventHandler {

    onPointerClick(args) {

    }
}

```

---

<div class="post-metadata">

**Author:** ![Marcel\_Wiessler1](https://forum.needle.tools/user_avatar/forum.needle.tools/marcel_wiessler1/32/21_2.png) [@Marcel\_Wiessler1](https://forum.needle.tools/u/Marcel_Wiessler1)\
**Post date:** [October 17, 2022, 12:00am UTC](https://forum.needle.tools/t/how-to-add-mouse-events-to-3d-objects/1068/3 "2022-10-17T00:00:00Z")

</div>

Make sure to have an `ObjectRaycaster` component in your parent hierarchy somewhere

---

<div class="post-metadata">

**Author:** ![discord-import](https://forum.needle.tools/user_avatar/forum.needle.tools/discord-import/32/33_2.png) [@discord-import](https://forum.needle.tools/u/discord-import)\
**Post date:** [October 17, 2022, 12:00am UTC](https://forum.needle.tools/t/how-to-add-mouse-events-to-3d-objects/1068/4 "2022-10-17T00:00:00Z")

</div>

Thank you!  
Where can I find this sort of information? Is it already somehwere in the docs or maybe is it more like: it should be clear if you understand typescript/three/unity?

_by user 367081956959322114_

---

<div class="post-metadata">

**Author:** ![Marcel\_Wiessler1](https://forum.needle.tools/user_avatar/forum.needle.tools/marcel_wiessler1/32/21_2.png) [@Marcel\_Wiessler1](https://forum.needle.tools/u/Marcel_Wiessler1)\
**Post date:** [October 17, 2022, 12:00am UTC](https://forum.needle.tools/t/how-to-add-mouse-events-to-3d-objects/1068/5 "2022-10-17T00:00:00Z")

</div>

Some of this can be found here: [needle-engine-support/documentation/for-unity-developers.md at main · needle-tools/needle-engine-support · GitHub](https://github.com/needle-tools/needle-engine-support/blob/main/documentation/for-unity-developers.md)

But the docs are not yet exhaustive so feel free to ask if you’re missing information or you can also always have a look at our builtin components
