# How to make custom Manipulators

**URL:** <https://forum.aousd.org/t/how-to-make-custom-manipulators/1600>\
**Category:** Hydra\
**Created:** [June 13, 2024, 2:33pm UTC](https://forum.aousd.org/t/how-to-make-custom-manipulators/1600 "2024-06-13T14:33:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![valmiq](https://avatars.discourse-cdn.com/v4/letter/v/43a26b/32.png) [@valmiq](https://forum.aousd.org/u/valmiq)\
**Post date:** [June 13, 2024, 2:33pm UTC](https://forum.aousd.org/t/how-to-make-custom-manipulators/1600/1 "2024-06-13T14:33:48Z")

</div>

MY CONTEXT  
So I am using UsdImagingGLEngine and I have already implemented a render loop that can render a USD stage with Pixar Storm delegate.

MY GOAL  
To be able to create/render/interact with custom manipulator handles (gizmos) like the typlical 3 arrows for moving a Prim. This of course must be rendered on top of any other geometry, and the scale cannot seem altered on perspective camera.

MY QUESTION  
Is this feasible without having to reimplement the Pixar Storm? How such a thing was implemented in USD Composer for example? Please give me best practices / solutions.

REMARKS  
I am not implementing a render delegate from scratch. Just consuming different ones with Hydra.

Thanks a lot,  
Miquel

---

<div class="post-metadata">

**Author:** ![nporcino](https://avatars.discourse-cdn.com/v4/letter/n/3d9bf3/32.png) [@nporcino](https://forum.aousd.org/u/nporcino)\
**Post date:** [June 14, 2024, 4:52am UTC](https://forum.aousd.org/t/how-to-make-custom-manipulators/1600/2 "2024-06-14T04:52:15Z")

</div>

People often render OVER the scene with a system such as Im3D or ImGuizmo (if you are using Dear ImGui). For more sophisticated rendering where the manipulators interact with the scene in depth, you might consider procedural geometry under Hydra 2. A friend and I wrote a little library here [GitHub - meshula/tinygizmo: 📐 An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC](https://github.com/meshula/tinygizmo) to use as a procedural generator, it’s render and ui system agnostic. Perhaps between tinyGizmo, ImGuizmo, and Im3D you might find some inspiration.

> **[GitHub - john-chapman/im3d: Immediate mode rendering and 3d gizmos.](https://github.com/john-chapman/im3d)**
>
> Immediate mode rendering and 3d gizmos. Contribute to john-chapman/im3d development by creating an account on GitHub.

> **[GitHub - CedricGuillemet/ImGuizmo: Immediate mode 3D gizmo for scene editing...](https://github.com/CedricGuillemet/ImGuizmo)**
>
> Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui - CedricGuillemet/ImGuizmo

---

<div class="post-metadata">

**Author:** ![popol](https://avatars.discourse-cdn.com/v4/letter/p/f9ae1b/32.png) [@popol](https://forum.aousd.org/u/popol)\
**Post date:** [June 26, 2026, 2:51pm UTC](https://forum.aousd.org/t/how-to-make-custom-manipulators/1600/3 "2026-06-26T14:51:29Z")

</div>

> [@valmiq](#):
>
> USD Composer

i’ve made several custom manipulators for cameras, lights, T/S/R etc, it’s full python and it’s pretty basic but i can clean the code and share if there is enough interest 🙂

[![](https://us1.discourse-cdn.com/flex016/uploads/aousd/original/2X/a/a07f26f310fb985d4dfb42b073f7439ac6476646.jpeg "aousd\_custom\_manip") ](https://www.youtube.com/watch?v=lChCxqBVAis)
