How it Works
A brief overview of how Timeflow operates
Last updated
A brief overview of how Timeflow operates
Last updated
Timeflow defines its own independent timing system which works hierarchically and performs a specific order of updating. Each channel and object in Timeflow has its own local time and can inherit time offsets from parent objects.
Timeflow is designed to work with any scene setup, whether it be for a game, app, or creative project. Timeflow manages object structure hierarchically with timing updates flowing from the top down through the branches of the tree to each of the channels in order.
Animation channels update in specific order as listed in the Timeflow view or as displayed in the channel list of the containing TimeflowObject.
For those interested in scripting Timeflow, the full source code is included. Timeflow uses base classes to abstract Unity's MonoBehaviour with customized updating methods that take advantage of class inheritance. All code design has been carefully considered to balance optimal functionality and performance and operates well within Unity's scripting guidelines.
Timeflow implements most features through component behaviors, which serializes data to game objects directly, saved in the scene file. Therefore, no additional assets are used with Timeflow. This allows greater creative control making it easier to do things such as duplicating an object and modifying its animation to rapidly create variations without additional asset management.
The data structure of Timeflow behaviors is designed for greater creative flexibility and not specifically optimized for high volumes of data, such as motion capture or other baked animation. Those types of data are best suited for Unity’s built-in animation system, which is more optimally designed for it.
The order may be reversed to display channels top-to-bottom rather than first-to-last in the , according to your own personal preference.
Timeflow objects and behaviors also have additional update settings to fully customize the order and timing of updates. This allows channels to operate as layers, dependent on a specific order of execution, with other special use cases such as forcing frame rates and creating dependency chains. This is discussed in more detail in
Please see the section for a quick start into custom coding with Timeflow.
Timeflow employs a unique strategy to animation specifically designed for the challenges of Unity, which may be similar but also differ in key ways from other animation systems. Please refer to the section for definitions of common terms and features.