Toon Boom Harmony 15.0.0 Release Notes

IMPORTANTIf your studio uses a license server, you will need to upgrade it to Harmony 15 before you can upgrade to Harmony 15 on client workstations. License servers with Harmony 14 or earlier cannot be used to activate Harmony 15.

Here is the list of changes in Harmony Premium 15.0, build 13055:



Feature Description
Drawing Guides

Guides can be used to help draw backgrounds and objects with perspective by displaying vanishing points and axes in the drawing space and locking your drawing tool to them—see About Drawing Guides.

Textured vector brushes

The Brush tool now has the same texture drawing capabilities when used on vector layers as when used on bitmap layers—see About the Brush Tool and Brush Tool Properties.

Centerline Editor

This new drawing tools allows you to manipulate brush strokes, whether solid or textured, as if they were pencil lines—see About the Centerline Editor and Centerline Editor Tool Properties.

Texture deformation

The Contour Editor, Envelope and Perspective tools can deform the texture in textured brush strokes.

Polyline with pencil textures The Polyline Tool can now be used with pencil textures.
Autofill, Trim Extra Lines and Align Handle These new options in the Tool Properties view allow you to quickly fill and trim closed shapes drawn with the Pencil, Stroke and Polyline tools—see Pencil Tool Properties, Stroke Tool Properties and Polyline Tool Properties.
Disable antialiasing

It is now possible to draw and render without antialiasing:


Feature Description
Master Controller

The Master Controller node allows users to create widgets that can be manipulated by animators to affect elements in the scene. The widgets are created and programmed using the Harmony, scripting interface, giving them near infinite flexibility as to how they can be used to streamline animation—see About the Master Controller.

Point Constraint

A series of new nodes have been implemented to rig elements together so that they are constrained in specific ways. They can be used to rig parts of cut-out models with realistic physical restrictions and controls that represent their articulations. These nodes can be found in the Constraint category of the Node Library view:

  • Two Points Constraint
  • Three Points Constraint
  • Multi-Points Constraint
  • Dynamic Spring
  • Constraint Switch
  • Static Transformation
  • Transformation Gate
  • Transformation Limit

For more information, see About Constraint Nodes.

Deformation manipulator

It is now possible to move, rotate and scale a selection of multiple envelope deformation points using a bounding-box style manipulator—see Animating Multiple Points.

Preserve line thickness with deformations An option in the Element node can be enabled to preserve the thickness of pencil lines that are deformed by a deformation chain—see Element / Drawing Node.


Feature Description
Timeline thumbnails

Each drawing layer in the Timeline view can now display a thumbnail of the current drawing as well as of every exposed drawing in the scene, allowing users to easily manage drawings when doing paperless animation—see Displaying Drawing Thumbnails in the Timeline View.

When the Timeline view is sufficiently zoomed in to view the thumbnails of exposed drawings, it is possible to extend or shorten the exposure of individual drawings either by overwriting or rippling the following drawings—see About Rippling and Overwriting the Exposure in the Timeline View.

When thumbnails are displayed for a layer, the layer also displays an Opacity parameter which can be adjusted.

Node view thumbnails

It is now possible to change the size, resolution and background colour of thumbnails in the Node view—see Adjusting Node Thumbnails.

Record and Play

The new Record and Play command, available from the Play menu and Playback toolbar, quickly renders OpenGL frames, makes a video file and opens it in the workstation’s default video player for a quick preview of the scene’s animation with no framerate issues—see Playback Toolbar and Play Menu.

Colours and Palettes

Feature Description
Pencil textures

The way pencil texture palettes are managed has been completely revamped:

  • Pencil Texture palettes are now stored in a separate palette list in the Colour view.
  • A scene can now have several pencil texture palettes.
  • Whether a palette is colour palette or a pencil texture palette is saved in the palette file.

For more information, see About Pencil Line Textures.

Recolor drawings

An option in the Colour view can be used to replace a colour or texture with a different colour or texture in the current drawing, all drawings in a layer or all drawings in the scene—see Replacing Colours and Textures in Drawings.

Remove unused colours The script TB_RemoveUnusedColors removes colours that are not used anywhere in the scene from palettes. Note that this script does not remove colour used by drawings that are not exposed.


Feature Description
Animated Matte Generator

The new Animated Matte Generator node adds two major capabilities:

  • It can animate the points of a vector drawing:

  • It can generate a feathered effect going from an inner contour to an outer contour, both of which can be made in any shape and are fully animatable:

For more information, see About the Animated Matte Generator.

Matte Composite

The new Matte Composite node allows you to create composite of several mattes by adding, subtracting or intersecting them together—see Matte-Composite Node.

Colour Selector The new Colour Selector node allows you to only render specific colours from the input drawing—see Colour Selector Node.
Matte Ports

Every effect with a matte port will have their matte input port at the far left of their node, with a mask icon to indicate the port's function.

Every effect with a matte input port can have the matte inverted, making the transparent areas of the matte drawings act as the matte instead. You can quickly invert the matte of a node by double-clicking on its matte icon . When a node's matte is inverted, the matte icon will also appear inverted .

Nodes that do not require a matte, but can use a matte, will have their matte input port hidden by default. If you drag a cable near the left edge of nodes with optional matte ports, the matte port will appear.


An Invert Matte parameter has been added to the following nodes:

  • Blur-Box
  • Blur-Directional
  • Blur-Gaussian
  • Blur-Radial
  • Blur-Radial-Zoom
  • Brightness-Contrast
  • Colour-Card
  • Element
  • Gradient
  • Grain
  • Hue-Saturation
  • Median
  • Turbulent Noise

Matte Port for Element Nodes

A matte port has been added to Element node, allowing you to cut out parts of the node’s output image without using a Cutter node—see Using the Matte Port of a Drawing Layer.

NOTEThe matte port is not visible by default. To make it appear, you must bring a cable near the left end of a node, at which point the matte port will appear. It will remain visible if a matte connection is made.
New blending options New options were added to the Blending and Composite-Generic nodes which allow to obtain results more similar to the blending modes in Adobe Photoshop. Those options are prefixed with the term “BETA”.


Feature Description
Support for animated Alembic files Animated Alembic files can be imported in a scene. The animation will be visible in Harmony, allowing animators to base their animation around it—see About Using Animated 3D Models.


Feature Description
OpenGL Caching

The new OpenGL-Cache-Lock node caches the OpenGL preview of the elements connected to it, and only regenerates this preview when one of its elements it manipulated or changed. When several OpenGL-Cache-Lock nodes are used on separate elements of a scene, such as characters, backgrounds or even parts of a rig, they are cached separately. Hence, Harmony will only need to regenerate the cache of elements that are being manipulated, and will be able to re-use the cache of unchanged elements to generate the preview. This can significantly enhance the performance of Harmony when working on a heavy scene—see OpenGL-Cache-Lock Node.

OpenGL Bypass

The new OpenGL Bypass node can be used to optimize the OpenGL preview by only displaying elements that are necessary for the animator in the OpenGL preview, all the while displaying all the elements and rendering all the effects in the final render. Nodes connected to the left input port of the OpenGL Bypass node are displayed in the OpenGL preview, and nodes connected to its right input port appear in the final render—see OpenGL Bypass Node.

OpenGL preview optimizations

The following improvements have been made on the way Harmony previews a scene in OpenGL:

  • Fixed performance issues when making large selections with the Transform tool.
  • Fixed performance issues when the Xsheet view is in the workspace and has shared functions.
Render preview optimization Frames rendered for render preview are temporarily cached so that they are not regenerated when switching between frames unless a change requires to generate a new render.
OpenGL debugging in Node view

When the Debug option of the Help top menu is enabled, the Node view now displays information about how many times each node is solicited for the OpenGL preview and how much time it takes to process the node and its parents. This can help identify problem areas in node systems that impact application performance—see Help Menu.

User Interface

Feature Description
Retina and High DPI support

Harmony supports Retina display on macOS workstation as well as High DPI monitors on Windows workstation with a scaling factor of up to 200%.


Feature Description
Export in Windows Media Video on Windows On Windows only, Harmony can now export in Windows Media Video format. This can be used as an alternative to exporting in QuickTime movie format, which requires Apple QuickTime to be installed—see Exporting a Movie File and Exporting Movie Files from the Node View.
Removed QuickTime dependency for audio on Windows

Audio support on Windows now relies on native Windows libraries instead of QuickTime.


Feature Description

The following security enhancements were implemented:

Asset Remapping

Asset remapping through the relink.xml configuration file now supports the following options and features:

  • The root attribute allows you to set a directory from which to apply a remapping rule and to remap assets while preserving their folder hierarchy.
  • The filter attribute allows you to apply a rule only if the path to an asset matches a regex pattern.
  • The allowRemapExisting attribute allows you to apply a rule on an asset even if the asset can be found in its original location.
  • The allowRemapInScene attribute allows you to apply a rule on assets within the scene's directory.
  • The variables %SCENE_FOLDER%, %JOB_FOLDER%, %ENV_FOLDER%, %SCENE%, %JOB% and %ENV% can be used in the value, root and filter attributes of a remapping rule. They contain, respectively, the path to the scene, the path to its job and the path to its environment, the name of the scene, the name of its job and the name of its environment.

For more information, see About Asset Remapping for Exported and Imported Scenes


Feature Description
Display Scriptable Node Attributes

When you enable Publish Attribute Mode in the Node view, the scriptable attribute names of each attribute for a node will display in the Layer Properties dialog for that node, allowing you to easily write scripts that read from or update the attributes of nodes in a scene.

For more information, see Exposing Node Attribute Names for Scripting.

Command Line Tools

Feature Description

The following features have been added to Pix2vec:

  • It is now possible to vectorize drawings with a transparent (rather than opaque white) background using the -vecotirze_alpha or -use_alpha parameter.
  • Very thin lines that get eroded during the vectorization of the line art can now be included in the colour art using the -support_thin_lines parameter.
  • When vectorizing a Photoshop Document (.psd), you can specify which layer in the document you want to vectorize with the -layer parameter.
  • When doing red/green/blue (RGB) keying, the -rgb_alpha_texture parameter will vectorize red, green and blue lines with their texture instead of in solid vector shapes.
  • The -rgb_separate parameter, when used with -2pass, will separate the red, green and blue colour zones from the black zones instead of making them overlap.

For more information, see Pix2vec Utility.


The following features have been added to utransform:

  • When processing a vector file, you can replace colours with a specific colour ID with a different colour ID using the -change_colour_ids parameter. This parameter works with a JSON file which allows you to list the ID of each colour to replace followed by the ID of the colour to replace them with.
  • Using the -bitmapartonly parameter, you can convert the bitmap art layer in a Toon Boom Vector Graphic (.tvg) drawing into a regular bitmap file.
  • The -premultiply parameter allows you to indicate the premultiplication mode of a regular bitmap used as the input image, or to set the premultiplication mode of the output image when converting a Toon Boom Bitmap to a regular bitmap.

For more information, see utransform Utility.


The dblock utility now has the following options to manage database locks:

  • The -t parameter will list all locked tables on the database server.
  • The -u parameter will list all opened tables on the database server.
  • The -x parameter, followed by the path to a database (.db) file, will release the locks on the specified table.
tbprocess The parameter -sleep was added to specify how often to check the queue for batch processing jobs. This parameter must be followed by an amount of seconds, and this is the amount of the seconds tbprocess will wait between each check. By default, tbprocess checks the queue every sixty (60) seconds. Using this parameter to check the queue more often can be useful if you are just launching tbprocess manually to test if it is processing your jobs.

The dbu utility has been made for flexible and smarter.

  • The -update and -delete options can now work with the -search option to work on records obtained by the search results. As a result, you no longer need to specify a record number, provided that your -search query returns records. If the search query returns multiple records, the -update or -delete operation will work on all matching records.

    To preserve backward compatibility, you must follow -update and -delete with record number 0 if you want dbu to work on search results instead of a specific record number, like so:

    > dbu -delete 0 -se 'UserName:jdoe' /USA_DB/users/user.db

    This will delete all records with the username jdoe.

  • The -f parameter has been added. When used in combination with -append or -update, you can specify each field followed by their value inline instead of specifying them through standard input. Each field must be separated from their value by a colon, and each field and value pair must be separated by a comma, like so:

    > dbu -update <record number> -f 'FirstName:john,LastName:doe' /USA_DB/users/user.db

  • dbu can now process multiple commands in the same run, allowing you to perform large batch operations without the overhead of running the utility once for each step.

    To do this, you must launch dbu with the -m parameter, followed by the path to the database to edit:

    > dbu -m /USA_DB/users/user.db

    Once launched, dbu can receive the commands add, update, delete or delete all. Each command must be preceded with ### and a space, and followed by its parameters, like so:

    ### add UserName:jdoe FirstName:john LastName:doe ID:50 ### update <record number> Type:9 ### delete <record number> ### delete all

    This mode is designed to take scripts piped to it. If you run it without piping a script to it, you will be prompted to enter the commands in the terminal. When you're done, in the Windows command prompt, you can terminate the prompt by pressing Ctrl + Z and pressing Enter. In Bash, you can press Ctrl + D.

GNU/Linux Installer

The GNU/Linux install script has been enhanced significantly. Among other things: 

  • It is possible to install Harmony interactively on machines that have the whiptail command line utility.
  • All component parameters can be used individually. The installer only installs daemon scripts and licensing utilities if the installation of Harmony binaries has been selected.
  • The installer attempts to stop running daemons before overwriting them, and launches enabled daemons after the installation is over.
  • Desktop shortcuts point to the full path to their respective executables, no longer relying on the $PATH environment variable to launch applications.
  • Shortcuts to Configuration Editor, License Wizard and Service Launcher are now added to the other desktop shotcuts.
  • An uninstall script has been added. It can be used with the same parameters as the install script, and will revert the effect of the install script for that parameter. It can also be launched interactively on machines that have the whiptail command line utility.
  • The -openh264 parameter will download and install the Cisco OpenH264 library in the Harmony installation directory during the installation.

For more information, see About GNU/Linux Installation.


The Reset Zoom keyboard shortcut can now be used in the Timeline view
The colour list will now automatically scroll when attempting to reorder colour swatches below or above visible colour swatches.
Moving the Timeline cursor now sets the frame selection to the current frame.

Bug Fixes

  • Fixed layout and size issues when launching side applications in Retina on macOS or High DPI in Windows:

    • Harmony will scale its own user interface for high resolution display.
    • All other applications will be scaled passively by the operating system.

  • Fixed issue where hiding a subnode in Harmony would cause all its children to be invisible when rendered with Autodesk Maya.

  • Fixed issue where linking to a multi-layer .psd file would prompt to import layers separately.

  • Fixed issue where Render Preview would not update when moving a camera peg.

  • Fixed "Copy palettes and update existing colours" option of Paste Special which require closing and reopening the scene to update colours.

  • Fixed "Copy palettes and merge colours. Add new colours only" option of Paste Special which did not add new colours.

  • Fixed the P shortcut to add a control point to the 3D path of a 3D subnode animation.

  • Fixed issue where palettes in Colour-Override layer properties were reported missing even if they were available.

  • Fixed issue where Harmony Server scenes would refresh the entire render of a Preview Render node every time the selection is changed.

  • Fixed issue where it was possible to overwrite an existing palette by creating a new palette with the same name and location in Advanced Palette List mode.

  • Fixed memory leak when rendering in video format on Windows.

  • Fixed crash when renaming linked drawing layers or timing layers in the Timeline view.

  • Fixed issue where importing Flash assets would cause a drawing cut by a mask to be merged with the following layer, even if that other layer was not linked to the mask.

  • Fixed missing file when attempting to export movie files that are bigger than 4 gigabytes, which was first found to occur when attempting to export in 4K resolution with the BlackMagic codec at 10 bit colour depth.

  • Fixed error message when adding a RenderMayaBatch node to the Node view.

  • Fixed issue with export layout where each dimension of exported layout images had one extra pixel.

  • Fixed crash when pasting artwork with grouped lines.

  • Fixed issue with the Select Tool pivot does not stay in position with zooming in or out.

  • Fixed crash when launching on macOS with the locale set to Korean.

  • Fixed issue where lines got flattened when using the Select by Colour option of the Select Tool on scanned drawings.

  • Fixed issue where edge of drawing would be cropped out when vectorizing a bitmap layer into a vector layer.

  • Fixed issue where desktop shortcuts on GNU/Linux would rely on the system PATH environment variable, making them launch the same version of Harmony when several versions were installed.

  • Fixed crash when importing and vectorizing images in Black and White in Spanish or Japanese.

  • Fixed issue where dragging and dropping exposure in the middle of another exposure in the Timeline would override subsequent exposure.

  • Fixed issue where dragging and dropping exposure in an empty area of the Timeline would cause loss of timing.

  • Fixed crash when using the tvg2xml command line utility.

  • Fixed issue where syncing layers would remove Transformation-Switch node.

  • Fixed issue where default QuickTime export settings on GNU/Linux would cause movie file to have no audio.

  • Fixed issue where using the D disable layers shortcut when making a selection in the Camera view would not work if layers were collapsed or not listed in the Timeline view.

  • Fixed issue where Cutter and Eraser tool options were not applied when using their temporary tool override keyboard shortcuts.

  • Fixed issue where pencil textures were not cloned along with the palette file when using the Palette Operations dialogue to clone a pencil texture palette.

  • Fixed issue where exporting OpenGL frames into a movie file on Linux would result in a corrupted file when there was no movement or drawing change.

  • Fixed issue where colour art was not automatically created when using the Line Building mode of the Pencil Tool with the Automatically Create Colour Art option enabled.

  • Fixed issue where the Use Current Frame as Drawing Name option did not work if the Hold value was set to anything but 1.

  • Fixed issue where line thickness of a pencil line with a thickness of 0 could not be adjusted.

  • Fixed issue where moving a selection of curve or envelope deformation points and their offset point would make the offset point move faster vertically than the other points.