Toon Boom Harmony 20.0.0 Release Notes

Here is the list of changes in Harmony 20.0.0, build 15996 (2020-06-11):


Important enhancements have been done to the Harmony Server database. As such, in order for Harmony 20 clients to function properly, the database server must be updated to Harmony 20.

Furthermore, the dictionary files (.dict) in the database must be updated with the ones included in the Harmony 20 packaging. To do this, copy the files from the following location:

  • Windows: C:\Program Files (x86)\Toon Boom Animation\Toon Boom Harmony 20 Premium\etc\USADB_templates\dicts
  • macOS: /Applications/Toon Boom Harmony 20 Premium/Harmony
  • GNU/Linux: /usr/local/ToonBoomAnimation/harmonyPremium_20/etc/USADB_templates/dicts

And paste them in the following location in your database, replacing the existing files:


Note that a database server running Harmony 20 is backward compatible with clients running older versions of Harmony.

New Features

Drawing Tools

Feature Description

Centerline Editor Tool improvements

Improvements have been added for editing brush lines with the Centerline Editor tool:

  • Points can now be deleted from the center line curve on brush strokes by selecting them and pressing the Delete key.
  • New Centerline Smoothness option to control the fitting of the center line is now available in the Tool Properties view.

Convert Textured Pencil to Brush

It is now possible to convert textured pencil lines into textured brush strokes when using the Convert Pencil to Brush option in the Select tool properties.

Options to curve Line tool

New options in the Line tool properties to curve the line on mouse up:

  • Curve Line Mode allows to draw a curved line by moving the mouse after drawing a straight line. Click or press Enter to commit the curved line.
  • S Curve Line Mode allows to draw a S-shaped curved line. Moving the mouse after creating a straight line will curve the line from both ends until the mouse is clicked. The tail end of the line will then curve until the mouse is clicked again or Enter is pressed.

Select tool improvements

  • Preserve the position of the Select tool pivot when using Undo and Redo commands.
  • The Select tool pivot now follows the selection when scaling, rotating and skewing.

Auto Fill with Brush

New Auto Fill option in the Brush tool. When active, drawing a closed shape with the brush tool will automatically fill it with the colour assigned as the current paint colour.

Button for the Repaint Brush tool

A button for the Repaint Brush tool is now available in the Tools toolbar.

Alignment Guides with drawing tools

The Alignment Guides can now be used with the drawing tools.

Pencil Texture Eyedropper tool

A new Pencil Texture Eyedropper tool is now available. Clicking a pencil line drawn with a texture using this tool will select the texture in the Pencil Texture Palette list.

Select Strokes with Current Pencil Texture

A new command has been added to select strokes that use the currently selected pencil texture. The command is called Select Strokes with Current Pencil Texture and is available in the Edit menu of the Camera and Drawing views.

Line Building Mode improvements

The Pencil tool’s Line Building mode does not trim lines anymore when drawing perpendicular lines away from the tips.

Preserve selection when undoing or redoing

The Contour Editor, Perspective and Envelope tools now preserve the selection when using Undo and Redo commands.

Snap only to selected layers

A new option called Allow Snapping on all Drawings Layers is now available in the snapping options for drawing tools. When enabled, snapping will work as it did in previous versions and the selection will snap to all visible drawing layers when working in the Camera view. When disabled, snapping will only occur with drawings that are on the selected layers.

Independent quality for Perspective tool

The quality of the transformation when using the Perspective tool Lattice mode is not affected by the smooth value set in the Envelope tool anymore.

Independent smoothness for Smooth Editor tool

The smooth values for the Envelope tool and the Smooth Editor are now independent.

Adjust Eraser size with hotkey

You can now adjust the eraser size with the “O” keyboard shortcut while using the eraser end of the tablet pen.


Feature Description

Undoable selections

New preference called Undoable Selection. When this preference is enabled, selection changes such as selecting drawings with the transform tool or changing the selection in the Node view adds entries in the undo list. You will find this preference on the General tab of the preferences and is enabled by default.

Transform tool drags from anywhere

New Easy Drag option in the Transform tool properties. When enabled, the selected objects can be moved by clicking anywhere in the transform tool selection box.

Quick Ease In/Out for keyframes

New commands and buttons to quickly set ease in and ease out of keyframes selected in the Timeline. The commands are:

  • Quick Ease: Sets the ease on both sides of the selected keyframe to 33%.
  • Quick Ease In: Sets the ease on the left side of the selected keyframe to 33%.
  • Quick Ease Out: Sets the ease on the right side of the selected keyframe to 33%.
  • Set Ease on Selected Keyframes: Opens a dialog box where different values of ease can be set on either side of the selected keyframes.

Scene Markers improvements

  • Scene markers can now be created without a duration.
  • The Mark Current Frame command creates markers without opening a dialog box. This allows creating markers during playback by setting a shortcut to this command.
  • Scene markers can be selected and moved by clicking on them with the mouse.
  • Double-clicking a scene maker opens the Marker editor.
  • The Create Scene Marker command does not require to select frames in the Timeline ruler anymore. A marker with no duration can be added without making a selection. A marker with duration can be added by making a selection in the frames section of the Timeline before using the command. In both cases, the Marker Creation dialog box opens to allow setting all the attributes of the maker as it is created.
  • New option to ripple scene markers when inserting or removing frames in a scene.

Drawing Substitution view improvements

  • It is now possible to rename and delete drawings in the Drawing Substitution view when in Edit Mode.
  • A search filter has been added.

Node Caching improvement

When doing a lasso selection over multiple characters in Node Caching mode, only the currently off cache parts will be selectable. In previous versions any other character touched by the lasso would go off cache. You can Shift select multiple characters if you want to put more than one characters off cache.

Effects and Compositing

Feature Description

New Surface Shading effects

New Surface Shading nodes provide the ability to perform more advanced lighting effects on 2D objects or characters. The nodes are:

  • Ambient Occlusion
  • Cast Shadow
  • Shape Curve
  • Shape Line
  • Shape Render
  • Surface Map
  • Surface Render
  • Surface Normal

See About Surface Shading for more details.


New Weighted Deformation effect

A new deformation effect, the Weighted Deform node, provides a way to deform with high quality blending, multiple deformation regions. It is especially good with textures. Different deformation sources can be used: Envelope, Pegs, Curves, Bones and Constraints.

See About Weighted Deformations for more details.

New Point Kinematic Output effect

A new deformation effect, the Point Kinematic Output node, provides a way to attach a drawing anywhere on a deformer instead of just at the end of it like the existing Kinematic Output node does. Multiple sampling options are available:

  • One-Point Sampling: Tracks position only.

  • Two-Point Sampling: Tracks position and rotation.
  • Two-Point Sampling with Scaling: Tracks position, rotation and scaling.
  • Three-Point Sampling: Tracks position, rotation, scaling and skewing.

See About Rigging Drawings to Deformations with the Point Kinematic Output Node for more details.

New Pre-Render caching

A new optimization node, the Pre-render Cache  node, provides a way to lighten and speed-up the rendering of complex scenes. You can think of it as a simplified Composite node used to store a cache of rendered frames for selected nodes—see Pre-Render Cache Node.

New Colour-Fade effect

The new colour correction effect, Colour-Fade node, allows the colour values to fade over time from the input colours to new colours—see About Fading Colours. It can:

  • Fade from the input palette to a clone of this palette.
  • Fade the colour values of a single pot to other values.
  • Fade according to different colour models, RGB, HSV or HSL.
  • Be set to render only a selection of colours pots.

New Colour Curves effect

The new colour correction effect, Colour Curves node, provides a quick way to adjust colours and contrast of RGBA channels—see Adjusting Colour Curves and Modifying Colour Curves.

  • The node uses a graph editor to shape curves of these channels.
  • Allows to control each channel independently.
  • Allows to control the input and output range of values.

New Colour Levels effect

The new colour correction effect, Colour Levels node, provides a quick way to adjust the colour balance and contrast of an image by allowing to manipulate the white point, black point and midpoint of the RGBA channels. It offers an easy way to adjust those parameters over time in the Timeline—see Adjusting Colour LevelsAdjusting Colour Levels.

New Gamma effect

The new colour correction effect, Gamma node, provides controls for the gamma value for each channel independently or globally—see Gamma Node.

Particles can extend past 12 field area

A new Vector Drawing option has been added to the Shape Type list in the Planar-Region particle node, allowing particles to extend past the 12 field chart area.

Database / Control Center

Feature Description

Copy scenes improvements

Improvements have been added for copying scenes in Control Center:

  • You do not have to create an empty scene beforehand as before.
  • Copy multiple scenes at the same time
  • Options to add prefix and suffix or replace parts of the names of copied scenes.

Save As command in when using a database

A new Save As command in the Harmony application allows you to save a scene to a new location without having to use the Control Center application.

Execute scripts on multiple scenes

A new command in the Control Center called Run Script can be used to execute a script on a selection of scenes.

Import multiple offline scenes

New command called Import Multiple Scenes in the Admin menu can be used to import multiple offline scenes.

Create scenes in any location

You can now create a scene in any location. When using a Harmony database in previous versions, scenes could only be created in filesystems that were part of the database. You can now customize the path used as the scene folder or create multiple scenes in a commun parent folder.

Release unused tables

The Harmony database server (tbdbserver) now monitors open tables and closes tables that have been left open by clients. This prevents issues where the database server becomes unresponsive after a long period of use.

Better handling of dropped TCP connections

Better handling of dropped TCP connections caused by network infrastructure. When a TCP connection is dropped, the database server will now be able to recover the connection and its associated lock.

Queue viewer optimization

The render queue refresh has been optimized to refresh faster. This requires copying the new comp_log.dict file to the dicts folder of the database when upgrading to Harmony 20.

Workflow Improvements

Feature Description

Snapshot buttons

New buttons in the Camera status bar to take and review a snapshot. You can use the Take Snapshot command to store a temporary copy of the content of the Camera view and later press the View Snapshot button to compare it to the new modified state.

Find and Insert Node

The Node view now has a new menu to find and insert a node. You just have to press Enter to open the menu and type to search for the node to insert.

Eyedropper in Colour Overrides

The Colour-Override node now has eyedroppers to select a colour or a pencil texture from the Camera or Drawing view.

Quick connections of nodes

In the Node view, connections can be created between nodes by selecting a node then clicking the target node while holding the ALT key. This will create a connection from the bottom of the first node to the top of the target node. Connections can be created from the top to the bottom of a target node by holding  ALT+SHIFT before clicking the target node

Cable Cutter mode

A new mode is now available in the Node view to cut cables by dragging the mouse over them. The Cable Cutter mode can be enabled using a button in the Node view toolbar or by setting an override in the Shortcuts.

Displays in alphabetical order

Displays are now listed in alphabetical order in the display list.

Type to filter lists

You can now type to filter different lists to make it faster to find something. Available in the:

  • Font list that appears in the Text Tool properties
  • Destination Layer list in Lip-Sync Mapping
  • Synched drawing layer list
  • Buttons and scripts lists when customizing a toolbar
  • Displays list of the Display toolbars

Shortcuts in tooltips

Shortcuts assigned to commands and tools are now displayed in the tooltips that appear when the mouse hovers on icons.

Master Controllers

Feature Description

Deformer on deformer wizard

The new master controller creation wizard can be used to create a curved deformer over an envelope deformer. This wizard is available in the Master Controller toolbar and is called Create Deformer on Deformer.

Function Wizard

The new master controller creation wizard can be used to create a control that manipulates any attribute from the selected nodes. This wizard is available in the Master Controller toolbar and is called Function Wizard.

Slider Wizard

The master controller Slider Wizard now remembers that settings used to create the previous master controller.

Grid Wizard

The Master Controller Grid controls can now be moved by clicking and dragging the box that appears around the 2D widget control in the camera view.


Feature Description

Support for Python

We now support the creation of Python objects in our JavaScript environment using a module named PythonManager. This module is used to manage the Python interpreter and to create a Python object. Using that newly created python object, it's possible to call some python functions.

The documentation for the Python object as well as some other advanced scripting modules can be found using the Help > Extended Scripting Interface Documentation command.

Method to list the name of views

Added the new view.viewList() function which returns all of the current views in Harmony. It can alternatively be called with a parameter, a type of view, to only return the views of that type.

Rendering and Pipeline Integration

Feature Description

Render QuickTime movies in 16-bit on macOS

Rendering to QuickTime on macOS now supports bit depth up to 16-bit.

Write node can process movie with scripts

The Write node can now be configured to run a script when rendering. This can be used to compress movies using external tools such as ffmpeg. To set a script in the Write node, select Scripted Movie in the movie drop list. See the WriteNode class in the scripting documentation for examples of scripts.

Importing media through Media Foundation

Importing audio and movie files on Windows is now done through Microsoft Media Foundation. Only audio and video files that are in a format supported by Microsoft’s Media Foundation can be imported in Harmony.

Colour space management

Harmony now supports colour management for imported images, internal processing, displaying in the camera view and for final output.

  • A scenes colour space can be defined in the Scene > Scene Settings dialog box.
  • The colour space used to read an image can be defined in the Element node properties at the bottom of the Drawing tab.
  • Exported movies and images can be tagged in the write node or from their export dialog box.

Support for additional QuickTime codecs on macOS

The list of codecs available depends on the version of macOS that is used but the following are now available on Catalina:

  • Apple ProRes 422 HQ
  • Apple ProRes 422 LT
  • Apple ProRes 422 Proxy
  • H.265. Alpha channel support is available with Catalina.

Fixed Issues

The following issues have been fixed in this release:

Drawing and Drawing Tools

  • In the Camera view, the application hangs while drawing if very small scaling values are set in the layer's parameters.
  • In some situations when you have multiple layers selected the Cutter tool bounding box can be infinite.
  • When using the Line, Rectangle or Ellipse tools with Snap to Contour or Snap and Align, the snap cursor circle is offset if you zoom in or out.
  • The Smooth Editor tool uses the Brush tool size properties instead of its own.
  • The TB_RecolorDrawings script does not work with color palettes if the palettes were created while importing an image with the color_vectorize option.
  • The Create Breaking Triangles command on lines thinner than 4.5 doesn't work properly.
  • The Lattice mode in the Perspective tool is using the smoothing value from the Envelope tool.
  • The start of a straight line becomes curved when using Line Building mode.
  • The Line Building mode trims lines when connecting far from existing tips.
  • Centerline Editor tool generates too many points on its centerline.


  • Clicking the last frame of a scene in the Timeline ruler cuts the scene duration by 1 frame.
  • Cannot drag multiple point keyframes from Free Form Deformation and Subnode Animation in the Timeline.
  • Extending an exposure with the red arrow in the Xsheet view removes the exposure for the next drawing instead of just changing the section that you overlap.


  • Particles emit outside the area of the image when the image is used as the source in the Planar-Region node.
  • Particles appear behind the source image instead of over it when Planar-Region node is set to Shape Type: Image or Vector Drawing.
  • When editing a Free Form Deformation trajectory, the preview of the trajectory is wrong when manipulating a point.
  • On macOS we can't customize the Deformation toolbar after drawing/painting or other actions.
  • The compositing order changes when drawing with semi transparent colour and there is a 3D model in the scene.

Nodes and Node View

  • Alt key doesn't work when connecting or disconnecting some nodes in Node View.
  • The Ignore Parents and Parent's Name options in Transformation Limit nodes are ignored if there is a Transformation Switch node between the deformation system and the Drawing node.

Master Controller

  • Master Controller controls don't show the correct position when first displayed.
  • The Slider Wizard window opens even if there is no node/layer selected.
  • Rearranging and adding spaces between poses with the Unroll Wizard doesn't work if poses aren't sorted by destination frame.
  • Different grid layer configurations can break the MC Stack Wizard.

Import PSD

  • Cannot import PSD image as Toon Boom Bitmap or Toon Boom Vector Drawing using the Individual Layers option.
  • Importing PSD layers as Individual Layers isn't working correctly when layers are using special characters like #, / or -.


  • Harmony does not allow importing TIFF images with the .tiff extension.
  • QuickTime import doesn't work in batch mode through scripting.
  • No error is printed when running a script on the command line in batch mode fails.
  • Crash exporting movie through JavaScript in scene with a ScriptModule node.
  • The -renderThread option is not taken into account when doing command line render.
  • Harmony offline sometimes does not open the 7z files created by WebCC.
  • Cannot import offline scenes to the database with Control Center on command line where the number of element ID in the scene exceeds 9999. The error code given is also wrong.


  • WebCC doesn't work with new versions of Firefox, Microsoft Edge and Chrome.
  • The timestamp on the temp folder created when exporting uses minutes as the smallest unit.
  • Cannot export an empty scene from WebCC. This happens when creating a scene in WebCC and then trying to export it right away.
  • When using the Update Database Scene command, a “ping successful” message wrongly appears when the server takes too long to respond.


  • Performance is very slow when doing a lasso selection of multiple elements with the Transform tool and then moving those parts in the OpenGL view.
  • Performance issue when rotating a specific peg made with function curves shared with other nodes.


  • Specifying a port when borrowing a license using the License Wizard does not work.
  • On macOS, the "More Tools" in the Harmony application menu leads to the tba folder instead of Applications folder.
  • On macOS 10.14 and 10.15, Harmony freezes when editing the element name from the layer properties and then immediately after pressing the Close button. HAR-5901
  • Two users can make changes to the same drawings when opening a scene using local cache.
  • Crash when importing a bitmap image into an existing layer that contains a 3D object.
  • Batch render crashes when a scene contains Transformation Limit and Transformation Gate nodes.
  • Can not download the OpenH264 codec with the Configuration Assistant on macOS 10.14 and 10.15.