I’ve been building a handful of tools to use at work, and in the process I’ve been learning a lot about building UIs dynamically. With dynamic UIs and scriptjobs, I can tailor a tool’s visible functionality to what’s actually in your scene, or even what you currently have selected. Here’s an example, the Lighter’s Friend.
the UI is built based on the lights that are present in your scene, It seems like a no-brainer, but it’s a pain in the a$$ to get MEL to play nice. Every controller has to have a unique name and connect up properly to their corresponding shape node.
I’m also working on a tool for generalists called “Context Kludge” that switches its interface automatically depending on what you have selected. It’s a lot like the excellent “Ninja Speed Box”, but will not be based on shelves. It’s currently focused on texturing and lighting workflows, but ultimately I want to convert the entire Kludge Tools toolset to a context-sensitive model.
I’m not sure how dynamic UIs and context-sensitivity will help KludgeCity yet, but it’s a good approach to have available.