The BuddySystem
Is a free suite of Nuke tools & scripts, designed to assist with some of the most common tasks a compositor runs into everyday
I’ve designed this system over the years, based on my experiences as a comp supervisor and HOD working in Animation. Each one targets a fundamental task, and tries to make doing that task intuitive, fast, and easy enough for anyone to pickup, while still being flexible enough for more advanced users
Features
A shared design philosophy, which helps artists that learn to use one feature, quickly pick up the others
Easy to use at the base level, but also support advanced options for more involved tasks
Names are both descriptive and unique. Do you need to place a card in 3D? Use the CardBuddy! Can't remember the name of that tool? Tab search for "Buddy" and see the whole suite of tools
Quality of life features, that combine what would normally be done with many nodes, or multiple scripts, into one
Documentation outlining features, user tips and more
Scripts to boost pipeline and workflow
Calibratable per project/render env
Production tested
Download the full BuddySystem, including all the scripts & tools here!
Or scroll down to find the docs, Install Guide, Version History, Hotkey Cheat Sheet, FAQ/Bug Reporter & Coffee Button!
Quick Doc Links
About
NodeGraphBuddy
Designed to make working in the Node Graph faster, easer and generally more fun!
Manage Writes
Adjust Backdrops
Create Nodes
Have Fun!
Features
Move/Scale Nodes
Align Nodes
Distribute Nodes
Mirror Nodes
MaskBuddy
Create multiple masks with Position/PRef & Normal data, with a variety of 3D shapes
3D transform controls
Built in edge cleanup
Simplified AOV list
Calibration controls
Features
Multiple shapes at once
Preview image
Many shape types
Falloff options
DepthBuddy
Create 3D ramps in any direction with Depth/Z & Position/PRef data
Optional axis limits
Built in edge cleanup
Simplified AOV list
Calibration controls
Features
Preview image
Works for depth or pos
Falloff options
Transform controls
CardBuddy
Place 3D cards in world position & automatically generate holdouts
Point clouds
Other geo types
Simplified AOV list
Calibration controls
Features
Preview image
2D to 3D placement
Holdout options
Camera projections
ProjectionBuddy
Project images into World Position/PRef to replace textures, screens or create complex masks
3D transform controls
Built in edge cleanup
Simplified AOV list
Calibration controls
Features
Preview image
2D to 3D placement
Masking options
Sticky projections
ReflectionBuddy
Project images into Normals/NRef to place eye pings, textures, or create stylized reflections
3D transform controls
Built in edge cleanup
Simplified AOV list
Calibration controls
Features
Preview image
2D to 3D placement
Masking options
Sticky projections
AnimBuddy
Generate animated curves based on Random, Sine, Sawtooth, and many other types of mathematical patterns
Mix Curves into Advanced ones
Find expression linked nodes
Make camera shakes
Drive random colours
Features
Multiple curves per node
Adjust curves easily
Many curve types
Animate in/out
Setup / Installation
Install
Compatibility
Nuke: 11.0 or higher
OS: Linux, Windows
For Personal Use
1) Download, extract and place the entire BuddySystem folder in your .nuke directory. This folder may be hidden, you can use the view options of your OS to unhide it
2) Add these two lines you your menu.py file. It should be in the same .nuke folder, but if it isn’t you can make a text file with the same name and .py file extension.
If your menu.py already has the line import nuke, you can ignore that one
import nuke nuke.pluginAddPath('./BuddySystem')
For Pipeline Use
Always speak with your studios pipeline support staff before trying to install anything. Every studio is different, but you’ll likely need to ask them to place the file into a central tool repository so everyone can access it
Modifying Hotkeys
If you don’t like the default hotkeys, or they conflict with ones you already have, you can modify them in the BuddySystems menu.py file. Look for the hotkeys near the end of each buddySystem.addCommand() line
Removing Scripts
If you already have a similar script, or don’t need one of them, you can comment that part out in the BuddySystems menu.py file.
Modifying The Menu Location And Behaviour
By default the BuddySystem menu will be installed as an icon in the toolbar on the left side of nuke. This is the easiest way to install, but can be changed to suit your needs.
In the BuddySystem menu.py you can select how you want the BuddySystem menu to be displayed in the following ways:
1 = Toolbar Icon (Good/fast install for personal use, but can cause scripts to show up in tab search. Can cause duplicate tools in tab search for pipelines where grizmos are installed elsewhere)
2 = Topbar Icon Only (Good for pipelines, prevents scripts showing up in tab search, but tools need to be installed elsewhere to load)
3 = Topbar Text (Good for pipelines, prevents scripts showing up in tab search, but tools need to be installed elsewhere to load)
4 = Topbar Icon for scripts only, and Toolbar icon with tools only (Good for pipelines, prevents scripts in tab search, but tools might still double up in tab search depending on pipeline)
5 = Topbar text for scripts only, and Toolbar icon with tools only (Good for pipelines, prevents scripts in tab search, but tools might still double up in tab search depending on pipeline)
Hotkey Cheatsheet
Here is a list of all the BuddySystem hotkeys, their function, and if they match any default Nuke hotkeys
None = Not replacing any default hotkeys
(Viewer) = The viewer is using this hotkey as well, but The BuddySystem isn’t replacing it because this script is restricted to the Node Graph
(Modified) = The hotkey keeps its original function, but has new contextual functions as well
(Replaced) = The hotkeys original function was replaced
This is best viewed on PC due to table formatting
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
|---|---|---|---|
| Move: Bulldozer Physics | Move Right | Ctrl+Meta+Alt+Right Arrow | None |
| Move Left | Ctrl+Meta+Alt+Left Arrow | None | |
| Move Up | Ctrl+Meta+Alt+Up Arrow | None | |
| Move Down | Ctrl+Meta+Alt+Down Arrow | None | |
| Open settings | Ctrl+Meta+Alt+Home | None | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Move: Fast | Move Right | Ctrl+Right Arrow | Skip Playhead 1/2 Distance (Viewer) |
| Move Left | Ctrl+Left Arrow | Skip Playhead 1/2 Distance (Viewer) | |
| Move Up | Ctrl+Up Arrow | Move Selected Node Upstream (Modified) | |
| Move Down | Ctrl+Down Arrow | Move Selected Node Downstream (Modified) | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Scale: Biased | Increase width | Ctrl+Shift+Right Arrow | None |
| Decrease width | Ctrl+Shift+Left Arrow | None | |
| Increase height | Ctrl+Shift+Up Arrow | None | |
| Decrease height | Ctrl+Shift+Down Arrow | None | |
| Increase width & height | Ctrl+Shift+Plus(+) | None | |
| Decrease width & height | Ctrl+Shift+Minus(-) | None | |
| Open settings | Ctrl+Shift+Home | None | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Scale: Uniform | Increase width center | Shift+Right Arrow | Skip Playhead Forwards (Viewer) |
| Decrease width center | Shift+Left Arrow | Skip Playhead Backwards (Viewer) | |
| Increase height center | Shift+Up Arrow | Next input for the B buffer (Viewer) | |
| Decrease height center | Shift+Down Arrow | Previous input for the B buffer (Viewer) | |
| Increase width & height center | Shift+Plus(+) | None | |
| Decrease width & height center | Shift+Minus(-) | None | |
| Open settings | Shift+Home | None | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Backdrop Adjust | Increase Z order | Ctrl+Alt+Shift+Plus(+) | None |
| Decrease Z order | Ctrl+Alt+Shift+Minus(-) | None | |
| Sort Backdrops by size/zorder | Ctrl+Alt+Shift+Z | None | |
| Increase Font Size | Ctrl+Alt+Shift+Page Up | None | |
| Decrease Font Size | Ctrl+Alt+Shift+Page Down | None | |
| Resize backdrop size to selected nodes | Ctrl+Alt+Shift+Asterisk(*) | None | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Node Adjust | Align/Stack/Match vertically | Right Arrow | Frame Forwards (Viewer) |
| Align/Stack/Match vertically | Left Arrow | Frame Backwards (Viewer) | |
| Align/Stack/Jump/Match horizontally | Up Arrow | Previous node in tree (Modified) | |
| Align/Stack/Jump/Match horizontally | Down Arrow | Next node in tree (Modified) | |
| Distribute and align nodes | Asterisk(*) | None | |
| Distribute and align nodes by cluster | Shift+Asterisk(*) | None | |
| Align Upstream | Page Up | Previous layer (Viewer) | |
| Mirror nodes horizontally | Ctrl+M | None | |
| Mirror nodes vertically | Ctrl+Alt+M | None | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Create | Create Blur/Backdrop Node Quick | B | Create Blur (Modified) |
| Create Blur/Backdrop Node Advanced | Shift+B | Create Blur node in a new branch (Modified) | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Utils | Label Node | A | View Alpha (Viewer) |
| Smart Select All | Ctrl+A | Select All (Modified) | |
| Smart Select Backdrops | Ctrl+Shift+A | None | |
| Copy Single, Multiple, & Reconnect | Ctrl+C | Copy (Modified) | |
| Paste Single & Multiple | Ctrl+V | Paste (Modified) | |
| Paste and Reconnect | Shift+V | None | |
| Toggle Disabled | Shift+D | None | |
| Nodeoriety - Node Counter | None | None | |
| BBox Manager | None | None | |
| Write Node Manager | Ctrl+Shift+W | None | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Fun | Rotate Nodes | None | None |
| Randomize Nodes | None | None | |
| Caesar Shift | None | None | |
| Mode | Function | BuddySystem Hotkey | Nuke Hotkey |
| Tools | AnimBuddy | Alt+Shift+A | None |
| CardBuddy | Alt+Shift+C | None | |
| DepthBuddy | Alt+Shift+Z | None | |
| MaskBuddy | Alt+Shift+M | None | |
| ProjectionBuddy | Alt+Shift+P | None | |
| ReflectionBuddy | Alt+Shift+R | None |
Version History
-
Reworked the docs links into custom panel for easier updates/searching
Added buddysystem_documentation script v01.00 for above
Added install options for BuddySystem menu item location/behaviour in BuddySystem menu.py
Updated NodeGraphBuddy Align Nodes Upstream to v01.02
-
Updated MaskBuddy to v01.02
Updated DepthBuddy to v01.04
Updated CardBuddy to v01.02
Updated AnimBuddy to v01.02
Updated ReflectionBuddy to v01.04
Updated ProjectionBuddy to v01.03
Updated Create BIG Text to v01.02
Added terminal print to menu.py for successful install
Replaced NodeGraphBuddy Align Nodes script with NodeGraphBuddy Smart Arrows v01.01
Replaced NodeGraphBuddy Scale Nodes script with NodeGraphBuddy Smart Arrows v01.01
Replaced NodeGraphBuddy Copy Paste Reconnect script with NodeGraphBuddy Smart Copy Paste v01.01
Replaced NodeGraphBuddy Paste To Multiple script with NodeGraphBuddy Smart Copy Paste v01.01
2026-05-24
-
Added Create Big Text generator fun script to NodeGraphBuddy
Updated Align | Stack | Match scripts to fix frame navigation in curve editor/dopesheet
Added panel icons to NodeGraphBuddy
Caesar Shift labels script house cleaning
Updated ProjectionBuddy to v01.01
-
Updated 2025-09-21
Updated “BBox Manager” with bbox growth mode
Updated “Nodeoriety” with search bar
-
Updated 2025-09-01
Added new NodeGraphBuddy module “Smart Select All”
Added new NodeGraphBuddy module “BBox Manger”
NodeGraphBuddy - Nodeoriety Node Counter script house cleaning
-
Initial public release 2025-07-16
Development Goals
To-Do
Below are some of the things I still would like to do, if time permits. If there is something you think would be a nice addition, feel free to reach out!
Add more scripts
Add more tools
Add more fun
Contributors
Thanks!
Below are some of the people who helped develop this tool through direct support or indirectly via online resources
Mark Rodziewicz
Sheldon Lisoy
Adam Dent
Chris Fourney
FAQ / Bug Reporter
Report A Bug
For issues/bugs please provide the following information
Buy Me A Coffee?
The BuddySystem is free!… but takes a lot of work… and work needs coffee