Useful small ZScripts and Macros for ZBrush 4R8

This thread is intended as repository for useful small zscripts, plugins and macros for ZBrush 4R8. The thread is a continuation of the earlier thread for 4R7 here.

Sometimes there’s a simple zscript solution to a problem or need that may not warrant a major plugin but will none-the-less be useful to users. If you have written such a zscript, plugin or macro please share it here so that users can easily find it and benefit. Thanks!


Dynamic Off/On All Brushes and Save All

Fit Canvas

Toggle Left Tray/Toggle Right Tray

Dynamic Brush Toggle

Brush Draw Size - store/restore

Curves Helper - create curves from ZSpheres


This is a small plugin for turning off/on Draw Size Dynamic mode for all sculpting brushes.

Unzip the zip file and open any containing folder created by the unzipping. Copy the DynamicOffAll.zsc file and DynamicOffData folder to your ZBrush 4R8/ZStartup/ZPlugs64 folder and restart ZBrush.

You should have two new button called Dynamic Off and Dynamic On in the Zplugin>Misc Utilities sub-palette.

To use the plugin, first make sure you have a model in Edit mode, then press the button you want. The plugin will take a short while to run through all the brushes.

Note: for technical reasons the plugin resets to default the Smooth, Select and Masking brushes.

Save All Brushes - a new button is added in the latest version. This will save all brushes with their current settings so that the settings are there at the start of each session. So if you want Dynamic mode off permanently then press the Dynamic Off button first and then press Save All Brushes. Individual brushes can be set to what you want before pressing the button.

Important Notes

  • The plugin overwrites the brush files in these two folders:
    ZBrush 4R8/ZData/BrushPresets and ZBrush 4R8/ZStartup/BrushPresets
    Make sure you make a copy of both these folders to a safe location so you can restore them if you want.

  • ZBrush saves the current Dynamic mode state for the Standard brush with the configuration. This means that you need to store the configuration (Shift+Ctrl+i) after setting and saving the brush. Otherwise ZBrush may start with Dynamic on for the Standard brush even when it has been saved with it off!

Download here: DynamicOffAll_05.zip (265 KB)

Change log:
version 05 - Oct 17 2017 - corrected save error for standard Trim brushes
version 04 - Oct 2 2017 - added Save All Brushes button
version 03, Sep 3 2017 - updated to correct TransposeSmartMask errorDynamicOffAll_05.zip (265 KB)


good looking out Marcus
the hero we deserve and need

Thanks Marcus, your knowledge & help is much appreciated.

Great Work!

Thank you Marcus, you are a lifesaver.
That change was almost the last straw in my frustration level.
Your foresight in getting it fixed so quickly is amazing.

Thanks for the script! Latest brush P2 update drives me nuts it’s so frustrating having to turn off dynamic size for all the brushes individually. I have one issue though, after I press Dynamic Off everything works fine on all the brushes except the transpose, it changes the way transpose masking works
Can somebody try this and confirm so I know if it’s my zbrush or the script?
Start zbrush try masking something with transpose then press Dynamic Off, after it finishes try masking with transpose again

Hi kestas,

The plugin skips the Transpose brushes, so Dynamic is left on for those. (I don’t think Dynamic affects Transpose but a may be wrong.) I’m not seeing any difference in behaviour. Could you post a screenshot?

thank you so much for this, I was slowly loosing my mind with dynamic option.:+1:

I tested it again on different subtools and it appears to be happening on one single ZTL, the rest of the time it works fine so its probably something with my zbrush or that particular file :slight_smile:
But yeah I want to thank you again for this little script :slight_smile: And I hope pixologic brings back the old dynamic size brush behavior or at least gives an option to turn it off

Thank you very much.

This macro will resize the ZBrush canvas so that there is no border line (which some people find distracting).

Save the file to the ZBrush 4R8\ZStartup\Macros\Misc\ folder and press Macro>Reload All Macros. There should then be a new button called “Fit Canvas” in the Macro>Macros>Misc sub-palette. Press the button to resize the canvas.

Fit Canvas.txt (749 Bytes)Fit Canvas.txt (749 Bytes)

I was being driven insane by Dynamic brush inconsistency between brushes and Zmodeler and Smoothing brush. I have never been so frustrated by ZBrush, my beloved creative tool. Thank you Marcus. I hope this is a temporal glitch. This can’t possibly be a feature.

These macros will toggle the left and right trays open and closed. These can be activated by mouse clicking on the macro button or binding the macro button to a hotkey.

Save the files to the ZBrush 4R8\ZStartup\Macros\Misc\ folder and press Macro>Reload All Macros. There should then be new buttons called “Tray Left” and “Tray Right” in the Macro>Macros>Misc sub-palette.Tray Right.TXT (1.05 KB)Tray Left.TXT (1.01 KB)

This macro will allow you to easily toggle the Brush Dynamic Draw Size On and Off as you would toggle Lazy Mouse. For best use bind this to a Hotkey!

Save the file to the ZBrush 4R8\ZStartup\Macros\Misc\ folder and press Macro>Reload All Macros. There should then be a new button called “Dynamic Brush Toggle” in the Macro>Macros>Misc sub-palette.Dynamic Brush Toggle.TXT (833 Bytes)

Thanks a zillion! This will help a great deal! :smiley:

hey Marcus there’s a new issue that arises when i use the script.

the transpose brush turns into ‘transposeSmartMask’

anything you can do to fix this?

Hi pabgo and kestas,

Yes, I’ve now updated the plugin to correct the TransposeSmartMask error.


So now we need a custom plugin to do something that Zbrush did before by default, why? I don’t understand it. Plus it is an extra step every time I run Zbrush.

Anyway, it should be turned off on all brushes by default and let the user choose to turn it on for a specific brush and not the opposite. It is useful for detail brushes like stitches and lines but there is no reason to have it on for brushes like smooth, mask, selection and all the other brushes for that matter. it is just annoying and distracting.

If Pixologic wants to shovel dynamic brush size down our throats at least do it right and give us the options.

Suggestion: Dynamic brush size should go back to be a toggle for all the brushes and each brush should have its own dynamic size override (which should be off by default).


yeeeaaah I kind of agree with the comment above. Having the dynamic brushes saved like this is slightly annoying :confused: especially when working on models that aren’t scaled correctly and brushes need to have dynamic turned off.

Is anybody else noticing different behavior with trim brushes? Trim Front, Trim, etc…

For the trim brushes, it seems as if the zscript isn’t turning off dynamic and there’s an odd behavior when pressing shift/smooth, which increases the brush size, seemingly to the size it was set using a non-trim brush. Let go of shift and it shrinks again.

Just me?

By the way, fantastic zscript and thank you so much for making it!