đŸ•šī¸Demo App

An interactive example showcasing all Timeflow animation features

This is an all-in-one example demonstrating how Timeflow can be used for both choreographed and interactive animations. The full source is included with the Timeflow examples and can be run in the editor or built to any platform for testing.

Live Demo

Click the link below to view a WebGL build of this demo. However, please note that audio reactive behaviors do not work in the web player due to API limitations.

https://axongenesis.com/timeflowdemo/

Unity Configuration

The app is structured using scenes loaded and unloaded asynchronously at runtime by the DemoAppMain.cs controller script. Before the app can be played in Unity, the required scenes must first be added to the Build Settings scenes list in the order shown below.

Select File > Build Settings to open this window in Unity. Drag and drop the scenes from the Project view.

URP / HDRP Configuration

Previous versions of Timeflow required adding the scripting define symbols USING_URP or USING_HDRP, however these are no longer needed in Timeflow v1.1 or later and may be removed since the pipeline in use is automatically detected by the assembly definition.

The examples are provided in both URP and HDRP. To select one, please locate and import the package included in Assets/AxonGenesis/Timeflow/Examples.

If you wish to use the pipeline settings provided in the examples, locate the Examples/Settings directory and assign the pipeline assets in Project Settings > Quality, and Graphics.

For HDRP you may use the standard template HDRenderPipeline assets, though assign the examples HDRP_VolumeProfile and HDRP_PostProcessing volume profile.
In URP, assign the render pipeline asset in Project Settings > Grraphics.

AppMain

Once the scenes have been added above, the app can be played in the Unity Editor by opening the scene DemoAppMain and pressing play. Once the intro animation finishes, or you skip the intro, it loads the next scene App01_Home, which displays the main interface.

At runtime, the AppMain controller is set to DontDestroyOnLoad so that it remains persistent throughout the app and is accessed by the scene controllers as a singleton instance.

Each of the additional scenes demonstrates examples of specific Timeflow features and are only loaded when the 'LOAD DEMO' button is pressed while the app is playing. In the Unity editor you may also open and play each of the scenes individually. The animation in each can also be previewed by playing Timeflow without having to enter into play mode in the editor.

In some scenes, markers are used to split the scene into separate sections to highlight additional features. This also demonstrates one way in which markers and the work area may be used for interactively controlling Timeflow playback.

Quality and Performance

The demo has 3 quality settings (Low, Medium, and High) which the app sets dynamically in the editor and during runtime by tapping the quality display in the upper right of the home screen (next to ABOUT). Performance and frame rate depends on the graphics capabilities of the device run on.

The AppMain controller includes logic to set the default quality on first run, and then stores that value for subsequent runs using PlayerPrefs, which the player may change. The default setting can be set in the inspector on the AppMain object by selecting the Quality Mode.

The default Quality Mode only takes effect on the first run, and then subsequently loads the last setting from PlayerPrefs.

Download Builds (version 1.2.0)

The app is designed to run on any platform in landscape mode, ideally 16:9. It has been built and tested on Android, iOS, WebGL, and standalone Mac and Windows. You may build the demo in Unity, or alternatively download one of the following example binaries.

Windows x86_64

Android Mobile

Mac

Please note that an iOS build is not provided presently due to complexities with provisioning profiles, however the live web demo can be viewed on an iOS device and provides a similar experience and demonstrates performance on the device.

Project Settings

It is beyond the scope of this documentation to explain all the steps and settings required to build and deploy on each platform, however the Player Settings can be downloaded here or you may create your own.

The sample code for the app is provided as a demo only and is not intended to be used for production. This is merely an example to show what's possible using Timeflow and to provide a quick start to test the features on various platforms. For any developers interested, all source code has been included.

Additional Comments

Control Input

All input is based on Unity's built-in UI system. This demo does not provide any custom scripts for handling input from game controllers other than the mouse and keyboard and touch screens. If you wish to run this demo on a platform that uses game controllers, additional setup may be required and is not included in this example.

Last updated