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:
| 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:
| 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. |