WrapItUp v1.6

This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Max van Leeuwen
Collect all media, gizmos and other necessary files to make a Nuke script work, and copy it to one specific folder. Features: auto-relinking, checks for duplicates, a command-line interface, a nice user interface when run in Nuke.
11.0, 10.5, 10.0, 9.0, 8.0, 7.1, 7.0, 6.3, 6.2, 6. or later
Linux, Mac, Windows
04 Apr 2019

nuke collect all files for nuke script



nukescript get media gizmo font






WrapItUp is an easy-to-use tool that can collect and relink almost all files required to make a Nuke script work on another machine.
It has a user interface if you run it in Nuke, it can be executed from a command-line window for batch operations, and it can be called using a Python function.

I made sure to cram the entire thing in just one Python file, so you can simply drag-and-drop the file it into Nuke's script editor if you wish to use it just once.

Tested on Windows, Mac OS, and Linux (CentOS).




Features and settings


  • Three copies of the Nuke script will be collected: the original, a relinked one, and a relative-relinked one (using a python-embedded TCL expression).
    The relative-relinked Nuke script will stay linked to its media, even if you move it to a completely different machine - as long as the media is right next to it.
  • Media files with the path variables ####..., %**d (printf), %v and %V are supported.
  • Gizmos will be collected, and the necessary menu.py and init.py files will be generated. Simply place these files in your .nuke folder to install them.
  • A detailed CSV log file is generated to review which files were copied.


Not supported: Shared library plugins, e.g. .dll, .dylib and .so files.
There are simply too many dependencies and licenses involved to keep track of these.


See my website (maxvanleeuwen.com/wrapitup) for more information about all features and settings in this script, and for command-line/Python use!






Nuke installation


  1. Place the WrapItUp folder in your .nuke folder (or somewhere else on your computer)
  2. Go to your .nuke folder, and create a file called 'init.py'. If such a file already exists, open it.
  3. In the init.py file, add this line of text to the end and save it:

If you want to place the folder somewhere else than in the .nuke folder, make sure to change the path in the init.py file so that it points to that other path instead!



Only run once (in Nuke)


If you are only running it once, you can simply drag-and-drop the WrapItUp/WrapItUp.py file into the script editor panel in Nuke and click 'Run the script'.



Installation using NukeShared


  1. Place the WrapItUp folder in the '_AutoInstaller' repository.


NukeShared is a way of installing plugins by dragging/dropping them in folders, see this page for more information.






If you encounter any issues (or if you have feedback/ideas), let me know (maxvanleeuwen.com/contact)!







relinking and relative relinking now only modifies knobs of media that is not user-ignored



fixed 'open folder' keyboard shortcut
code cleanup



added 'go to node' button
fixed error on empty project font path



fixed TCL support on font paths
fixed issue with gizmo's and nuke script containing dots in their names
UI labels now evaluate TCL as well
log now stores used nuke version



File paths with TCL are supported
Folder browser will ask to create new folders if the selected path does not exist



Added PySide support (for Nuke 10.5 and older)
Fixed Nuke closing on user interruption when 'exit on finish' is checked
Fixed Nuke asking to save your Nuke script when 'exit on finish' is checked and script has not been saved



Initial release

Please login in order to download these files.


# Frank Rueter 2019-03-25 19:37
looks fantastic, looking forward to giving it a go!
# Max van Leeuwen 2019-03-25 19:43
# bin bin 2019-03-26 02:22
error "Gobal name 'QTwidgets is not define'"
nuke 10.5v2 win7
# Frank Rueter 2019-03-26 03:09
Nuke 10.5 isusing the old Pyside so it's not compatible with PySide2 code.
The easiest would be to use Qt.py to make the existing code backwards compatible (just change the import statements):
# bin bin 2019-03-26 04:48
Thx Frank :-)
# Max van Leeuwen 2019-03-26 10:18
I just updated the script to support PySide as well, so it should work now! (Tested in Nuke 10.5v8.)

Thanks Frank, that's a really useful link!
# Yunsik Noh 2019-03-26 15:08
Thank you so much for this py.
# Mads Hagbarth Damsbo 2019-03-27 10:24
Neat Max!
# Max van Leeuwen 2019-03-27 10:34
Thanks! :)
# hanguil jung 2019-03-28 09:41
ignore is working?
# Max van Leeuwen 2019-03-28 10:39
I'm not really sure what you mean - you can move items from the 'copy' list over to the 'ignore' list using the buttons down below them.
By default, the 'ignore' list is empty (except if there are, for instance, Read nodes with missing file paths - they will be appended to that list).

If you have any questions, let me know! You can e-mail me at maxvanleeuwen.c om/contact
# Jeang Jenq Loh 2019-03-31 12:25
This is the best looking script I've seen to...well WrapItUp! Works amazingly well and the function to collect gizmos/fonts is brilliant. Thank you for all the hard work and uploading this!

A few suggestions/issue:
1. Ask to create directory if I typed up a directory that doesn't exists in the choose folder dialog.
2. Doesn't seem to work with nodes with relative file path. Nodes with [file dirname [value root.name]] or project directory set got ignored and didn't copy.
# Max van Leeuwen 2019-04-01 21:07
Thank you!

Great suggestions! I've added them to version 1.2.

The TCL example you mentioned and others I regularly use are all working for me now, let me know if that's the same for you!
# M Frank 2019-04-01 18:06
"Yo you better wrap that gavel up B!"


Thanks Max!
# bang meng 2019-04-02 08:50
If the script file is named qwert.sc01.vfx0 3010.v001.nk, version 1.2 will not work. 1.1 can complete the work, but the name of the saved script will be changed to v001. I think this is the reason for the script name "."
# bang meng 2019-04-02 08:53
Great script. Thank you for sharing.
# Max van Leeuwen 2019-04-02 10:59
Thank you for letting me know!
You are absolutely correct, I have fixed this issue (and some others) in 1.3!
# bin bin 2019-04-03 02:27
v1.3 seems does'n work with follow:
line 1029 in Refreshthreaded
line 781 in ReadComotherDat a
coering to Unicode : need string or butter, NoneType found

v1.2 is work complete

tested in 10.5v2 and 11.2v1
# Max van Leeuwen 2019-04-03 09:56
Thanks for the info! This issue should be fixed in 1.4 now - it seemed to pop up when the project font path was empty.

You have no rights to post comments

We have 3917 guests and 122 members online