About Harmony and Unity

Updated on



This document is designed to be a resource for information and articles relating to using Harmony and Unity.

About the Unity SDK

Toon Boom provides a Unity package in the Unity Assets store that contains all the scripts necessary to import the data exported from Harmony. Once unpacked to a new Unity project, the following structure will be available inside the Toon Boom Unity SDK folder:

Folder: Description:
Documentation Developer-focused information about the Unity integration.
Plugins SDK libraries.
Samples Demo scenes, exporter scripts, SDK source, and a previewer.
Runtime Harmony scripts that execute during gameplay.
Editor Harmony scripts that only run in the Editor and don’t appear in builds.
Shaders Provides shaders that properly render Harmony-specific features.
Materials Prebuilt materials that utilize Harmony shaders.

These packages can be managed manually through the Package Manager interface in Unity. Developers can upgrade and downgrade packages in the event that newer Unity versions have certain package incompatibilities with the Harmony scripts.

See Harmony Gaming SDK Release Notes for more information.

About the Sample Unity Project

Toon Boom includes a sample Unity project that contains all the scripts necessary to import the data exported from Harmony. Inside this project is an Assets folder which contains the following folders:

Folder: Description:
Plugins Available plugins.
Scenes Demo scenes and a previewer.
Scripts All Harmony scripts.
StreamingAssets  This is where all the Harmony scene files should be exported to.

By configuring the Harmony script, you can automatically export animations into the StreamingAssets folder. This way, Unity will dynamically load the most up-to-date assets as soon as they appear in the folder. You can also manually place exported Harmony data into this location.

About Unity’s and Harmony’s interface similarities

Here are the main components of the Unity interface and their equivalents in Harmony:

harmony-premium--color.png Description
Scene view Perspective view This is where you set the scene, selecting and positioning environments, the player, the camera, enemies, and all other GameObjects.
Game view Camera view The rendered view from the camera(s) in your game. It is representative of the final, published game.
Inspector Layer Properties Displays detailed information about the selected GameObject, including all attached Components and their properties.
Hierarchy Layers in the Timeline view Displays the hierarchy of elements in the scene, and lets you set up parent-child relationships for different game objects.
Animation Cells in the Timeline View Shows keyframes of an animation per transform being animated.
Animator - Displays a graph of states and transitions that lets you set up how your characters will respond to game events and player actions
Project Browser - Lets you access and manage a project's assets.


Here are some data types that Unity interacts with, and their equivalents in Harmony:

harmony-premium--color.png Description
Sprite Drawing A single image that can be shown on a SpriteRenderer.
SpriteRenderer Layer Displays one sprite at a time. Sprites can be swapped during an animation to construe motion of a character’s body part.
Transform Peg Used to form the hierarchy of a character’s body. It can be scaled, rotated or translated to construe motion of a character’s body part. Skew has to be derived from a hierarchy of scales and rotations.
GameObject - Always paired with a Transform. GameObjects host Components that can display and simulate gameplay. The SDK provides custom Behaviors that run on GameObjects to display Harmony-specific visuals.
Asset - The core data in a Unity project that is used for visuals, physics, gameplay and sound-effects. Generally these are files, but can be hosted as sub-assets inside of larger files. Textures, AnimationClips, Sprites, AnimatorControllers, AudioClips and Prefabs are all Assets.

Was this article helpful?

1 out of 1 found this helpful

Can't find what you are looking for?

Contact Us

Submit a request and we will get back to you as soon as possible.

Open a Support Ticket

Ask Our Discord Community

Get answers from our worldwide community of artists and animators.

Join Our Discord Server

Join the Conversations

Connect with us on social media for inspiration, updates, feedback and more.