Custom Graphic User Interface Modifier

9 votes
Author Name: 
Marcin Klejnowski

Custom Graphic User Interface

This is a scripted modifier plugin which allows the creation of a GUI picker tool with out any knowledge of maxscript. This supports up to 100 buttons with the ability to customize their: size, position, color, text , style , and function. Now Supports MaxScript and group features. ALSO NOW SUPPORTS IMPORTING AND EXPORTING

How To Install Correctly
Save files usings 1.5 or lower will not work with 2.0 or higher
Simply place the script into one of the provided locations below. A bug prior to
version 1.5 required to have the script in two location for it work from start up.

Example Locations:
C:\Program Files\Autodesk\3ds Max 2011\Scripts\Startup
C:\Program Files\Autodesk\3ds Max 2011\plugins

Version Log
-- 3.1
-fixed a bug which would delete the undo history when the MaxScript event was used on a button.

-- 3.0
-UI redesign and overhaul (trimmed a lot of fat)
-FINALLY added an import and export feature (sorry it took so long)

-- 2.1 fixes
-Added buttons which used the right click feature to work with tablets.
-Fixed bug which messed up group values when trying to rename a group
-Fixed bug which crashed the tool when trying to delete refnodes from the list
-Fixed bug which used to replace the wrong nodes in the ref Node section

-- 2.0
-Added new maxscript feature, groups, additional button options
-Cleaned up the UI

-- 1.5 fixes
-Should have finally fixed issues people have been having when trying to launch the edit rollout causing an error........I HOPE

-- 1.4 fixes
-Finally figured out the true problem of "Unknown property" error. Install into "\Scripts\Startup" directory (can be used to fix previous builds) I was wrong Sorry
-Fixed bug when a button was being used in between two which where. (Example, Button 01 and Button 03 where ON but Button 02 was OFF an error would occur if you pressed Button 03
-Added a minimize button feature. (Great Idea dori3d)

-- 1.3 fixes
-Added information in the help options and added in the help rollout a button which will open the folder to the location the script needs to be moved to in order to work from start up.

-- 1.2 fixes
-Added drop down list to help switch between multiple CGUI modifiers with in a scene
-Added a help rollout with links to script page for future updates and link to how the plugin works on vimeo. Plus and email where to send bugs too.
-Fixed bug causing the controllers not to redraw their colors when you first launch the tool

-- 1.1 fixes
-"Unknown property: "CollectBtnInfo" in undefined <<" error when opening the edit options.

Version Requirement: 
3ds Max 2009 +
Video URL: 
customgui_v1.mse166.13 KB
customgui_v2.mse186.57 KB
customgui_v3.mse645.41 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
jabermax3's picture

An Idea

can you add a very useful feature? Turning Your Idea Into a Product is so dificult but if you can you can be much ahead of your rivals. The idea:
Something like MotionBuilder. We have several characters with same and special naming system.I mean Ch1 Main_Cnt,spin01cnt,spine02cnt and etc... Ch2 Main_Cnt_aa ,spin01cnt_aa,spine02cnt_aa and Ch3 Main_Cntbb ,spin01Cnt_bb,spine02Cnt_bb .Next

We do as shown in the tut.The idea is that just once (only one time) take time and assign Cnt to the buttons after that saving (for example) all the name of linked Cnt to button then load it then add prefix to it aa, bb,cc then for example select Chr2 [Main_Cntaa] creating Refresh button and after that because all Cnt is similar the second character are assigned to the buttons.I know that it is difficult to say in word so think of....but If it is Possible that would be a great feature.

again Thanks for sharing such script
Jaber Zaker

jabermax3's picture

First thank you to share this

First thank you to share this handy script.
Would you mind me asking, put ms file of the very beginning of this script for us to follow your steps, or at least tell us where to begins to create such script. Thanks again to share this script and pose store modifier.

MKlejnowski's picture

Sorry about the size of the

Sorry about the size of the list box. Again this is all in hindsight. I'm in the process of actually redoing the script and hopefully making it better. The new script will be more modular and have the ability to actually use more than just buttons (possibly sliders and more interesting controls). I can't promise that more than just buttons will be available when it is released but the script will be better tailored to adding new UI elements with out having to completely redoing the whole script.

TimSormin's picture

Resizable Edit Menu

I don't know if I'm missing something simple, but when I tried to set up my first Picker I couldn't read the names of any of my ref nodes because the window was too narrow and all I could see was the first half of the names - which are all the same. Either a re-sizable window or a sideways scroll bar would be fantastic.

eagleeyez's picture

Demo Rig

Great script and features Marcin, is it possible to download a demo scene with rigged character to play with? it will make the learn curve less steep for most of us.


PS: I'm yawning right now because of you :P

vindalsace's picture


That would be great! Thanks. I look forward to seeing the next version.

vindalsace's picture

How to export the GUI to another scene file?

Thanks for sharing this great tool!

Question for the developer and users: The CGUI picker seems to be saved in the max file where you initially created it, in the Object-Space modifier list.

How do you export a CGUI from one file into another file that has the same rig?

dori3d's picture

Hi MKlejnowski, keep it up

Hi MKlejnowski, keep it up with the good work. Can't wait to see the new version. ;)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.