⌚
Timeflow
  • ⌚Introduction
  • 📗User Guide
    • â–ļī¸Getting Started
      • ✅Requirements
      • âŦ‡ī¸Installation
      • 🚀Quick Start
      • âœī¸Workflow
      • đŸŽŦRender Pipeline
      • â¯ī¸Editor vs Runtime
      • đŸĻŋHow it Works
      • â›‘ī¸Potential Issues
      • ⚡Optimization
      • 🔨3rd Party Tools
      • đŸ”ĸUpgrading Guide
    • â„šī¸Timeflow Editor
      • đŸŽ›ī¸Menu Bar
      • â˛ī¸Time
      • Local Time Scope
      • 🧰Work Area
      • âš™ī¸Settings
      • âŗUpdate Settings
      • đŸ“ēDisplay Lists
      • đŸ”ģMarkers
      • đŸ”ĩObject
      • 🏭Managed Objects
      • ⚡Quick Select Objects
      • âš’ī¸Tools
    • đŸŽŦTimeflow View
      • 🔩Toolbar
        • 🔑Auto Keyframing
        • â¯ī¸Play Controls
        • đŸĨ…Work Area
        • â¯ī¸Current Time
        • đŸŽŧMusical Timing
        • 🌐Grid and Snap
        • 🔸Keyframe Values
        • đŸ”ģMarkers
      • â˛ī¸Timeline
      • 📐Time Navigation
      • Local Time Scope
      • 🎏Track View
      • â†˜ī¸Selection
      • 📰Object Panel
      • đŸ“ēDisplay Lists
      • 🍱Channels
      • đŸŖProperties
      • 🔗Channel Link
      • đŸšĨSwitches
      • 📅Values Column
      • đŸ›¤ī¸Tracks
      • 🔸Keyframes
      • đŸ“ļAlignment Tools
      • ⌛Time Offset
      • đŸ”ĸInfo Panel
      • 📉Graph View
      • âœ‚ī¸Keyframe Tools
    • 🍰Menus & Shortcuts
      • 📃Context Menus
        • â†–ī¸Select Menu
        • 📰Object Menu
        • 🍱Channel Menu
        • đŸ›¤ī¸Tracks Menu
        • 🔸Keyframes Menu
        • đŸ”ģMarkers Menu
        • 📰View Menu
        • 📰Events Menu
        • đŸĨ…Work Area Menu
      • đŸ—ƒī¸File Menu
      • âš’ī¸Timeflow Menu
        • đŸ•ēAdd Behavior
        • đŸ”ļAnimation
        • 🍱Composition
        • đŸ“ēDisplay
        • ⏊Jump To
        • 👨‍đŸ‘Ļ‍đŸ‘ĻHierarchy
        • 🌐Mesh
        • 👉Select
        • 📚Tracks
        • 🌈Track Colors
        • â†”ī¸Transform
        • đŸ‘ī¸Visibility
        • đŸ› ī¸Editor
      • đŸ”ĩGame Objects Menu
      • đŸŽ›ī¸Presets
      • âš™ī¸Preferences
        • Assets
        • ⌛Time
        • đŸŗī¸â€đŸŒˆTracks
        • âšĒObjects
        • 🧮Channels
        • đŸ”ļKeyframes
        • 🔠Input
        • đŸ“ĨImport
        • đŸ–ŧī¸Rendering
        • đŸŽ›ī¸Overrides
        • 🍱Extras
      • *ī¸âƒŖKeyboard Shortcuts
        • Managing Shortcuts
      • âœ´ī¸Quick Menu
  • Reference
    • đŸ”ĩTimeflow Object
      • đŸĸTracks
      • 🏭Behaviors
      • ⏰Events
      • đŸ—ƒī¸Channels
    • 💃Timeflow Controller
      • đŸŽžī¸Timeflow Playback
    • đŸĒ„Behaviors
      • đŸŽžī¸Animation
        • 🔸Keyframer
        • â†”ī¸Tween
        • 🔀Blend
        • đŸŽĸMotion Path
        • đŸ‘¯Animation Clips
        • 🌴Animator Blend Trees
        • 😁Blend Shapes
      • 🤖Automation
        • 🛸Auto Bank
        • 🧭Auto Rotate
        • 📐Distance
        • ⏰Event
        • đŸ›Šī¸Flyby
        • 🏃Follow
        • 👀Look At
        • đŸŽ¯Look At Target
        • 🎲Noise
        • 🚊Place On Path
        • đŸī¸Place On Surface
      • 🔊Audio
        • 🔊Audio Track
        • đŸŽŧAudio Spectrum
        • đŸŽĩAudio Sample
        • đŸŽ™ī¸Audio Reactive
      • 🎹MIDI
        • 🎹Midi File
        • đŸĨMidi Tween
        • 📡Midi Receiver
          • đŸŽ›ī¸Minis Setup (New Input System)
          • đŸšĨMidiJack Setup (Legacy Input)
      • 🏁Rendering
        • đŸŽžī¸Render To Disk
        • 📋Render Queue
        • đŸ“Ŋī¸Video Encoding
        • 💡Tips & Optimizations
        • âēī¸Unity Recorder
      • 🔧Tools
        • â„šī¸Animator Info
        • 🧮Align Children
        • đŸ’ŦComment
        • #ī¸âƒŖFPS Counter
        • 📈Graph
        • 🔗Property Link
        • 🔄Rotator
        • ✨Particle System Update
        • 🌈Trail Renderer Update
        • đŸ“ēVideo Player Update
    • đŸ—ƒī¸Precomposing
    • 🏭Prefabs
    • 🎨Advanced Presets
    • đŸŽ›ī¸Editor Overrides
      • 🏹Transform Editor Override
    • 🔌Integrations
      • đŸ§™â€â™‚ī¸Adventure Creator
      • đŸŽ›ī¸MIDI Jack | Minis
      • đŸ¤ēSpine Animation
      • đŸ“Ŋī¸Unity Timeline
      • ➰Unity Splines
    • đŸĒSamples
      • đŸ•šī¸Demo App
      • đŸŽžī¸Cutscenes
      • 🏓Physics
      • 🍧Shader Properties
      • ⚡Visual Effect Graph (VFX)
    • 📖Glossary
    • 📗Scripting
    • đŸ“ŖPublished Works
    • âš ī¸Known Issues
    • 🆘Support
    • đŸ§ĒBeta
    • Roadmap
    • đŸ”ĸVersion History
    • ÂŠī¸Terms & Privacy
Powered by GitBook
On this page
  • Key Binding Conflicts in Unity 2021
  • Timeflow scripts not supported in asset bundles or Udon
  • Editor windows may slow down runtime performance
  • Assertion failed on expression: 'ShouldRunBehaviour()'
  • Stuttering, Jittering, or Shaking Movement
  • Skipping Playback (on some Android devices)
  • Post Processing Volume Parameters Not Listed
  • Subscenes and ECS not supported
  • The type or namespace name 'MidiJack' could not be found (are you missing a using directive or an assembly reference?)
  • The type or namespace name 'InputSystem' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?)
  • CaptureScreenshotAsTexture() cannot be called outside of playmode.
  • Measures inaccurately displayed in the timeline
  • The frame rate in a build is much lower than in the editor
  • Setting the parent of a transform which resides in a Prefab instance is not possible
  • 'Timeflow' is a descendant of 'GameObject'...
  1. Reference

Known Issues

Potential problems and how to solve them

PreviousPublished WorksNextSupport

Last updated 3 months ago

Key Binding Conflicts in Unity 2021

There's a bug in Unity 2021's shortcut system that calls into conflict commands pertaining to different contexts. Therefore, it is a known issue that many of the Timeflow shortcuts will raise conflict warnings.

Solutions

  • When these occur, you may either select which command to perform or rebind it.

  • If you are able to update to Unity 2022 or later, the problem is fixed and the same command can be used in separate windows without conflicts.

Timeflow scripts not supported in asset bundles or Udon

Timeflow cannot be used with 3rd party SDKs or systems which rely on asset bundles or only support a subset of C#, such as VRChat. This is a known and long-standing limitation. Scripts are not considered assets and cannot be distributed in downloadable app content for a number of reasons.

There is no work-around for 3rd party SDKs and you will have to adhere to their guidelines as to which features in Unity and C# are supported.

Solution: If you are building your own app or game with downloadable content, then Timeflow can be used if (and only if) the base application is built with support for Timeflow.

This means that the host application is built with the Timeflow package included. You can then create scenes and prefabs that include Timeflow animations and deliver them in asset bundles.

Editor windows may slow down runtime performance

When working in the Unity editor, the current display of the Timeflow view and the Inspector can cause degraded performance affecting the frame rate during playback if there are a lot of objects displayed or complex graphs. This is due to the overhead of UI drawing.

Solution: Clear the Timeflow view or deselect all objects and collapse the Timeflow view (using the minimize button in the upper right corner of the window). Any other windows you can collapse, hide, or simplify may also improve playback. Use the Stats overlay in the game view to get an idea of how each window affects performance.

Note also that objects selected and displayed in the Inspector view can also sometimes affect playback performance, so deselect all objects to minimize overhead.

Assertion failed on expression: 'ShouldRunBehaviour()'

If this error occurs it typically means that a function is invoked on a script object that is not currently running. This only happens in the Unity Editor.

Stuttering, Jittering, or Shaking Movement

If you notice that animation isn't playing smoothly, this may be caused by a few things.

Skipping Playback (on some Android devices)

Android devices can vary greatly in their hardware and features. It has been discovered on some older devices that the audio system does not accurately report timing information used for synchronizing animation. This can result in choppy stuttering playback of animation, even though the audio may playback smoothly.

Solution: Disable audio sync, or disallow affected devices. Since there is no way to solve this problem directly, you must either disable the audio synchronization in the Timeflow settings (uncheck the Sync box next to the audio), or discontinue support for the devices that can't playback smoothly. If you choose to disable sync, note that this may cause the animation to drift off time from the audio.

Post Processing Volume Parameters Not Listed

Whether using HDRP or URP, Volume component parameters for post processing effects may be animated using any behavior. When the project is properly configured, the properties for each effect are listed in the property selection menu. However, if the configuration is missing then only the basic Volume parameters are displayed.

Subscenes and ECS not supported

Since ECS is only operational at runtime, implementing it into Timeflow would provide no creative advantages during editing and would likely introduce differences in behavior at runtime since the ECS implementation is entirely separate and has different operating rules to abide by. The ECS workflow is also geared for high volume output often using procedural generation, whereas Timeflow is designed to animate a specific set of objects created by the user in edit mode.

Solution: Depending on your needs it may be possible to use Unity animation systems or 3rd party tools with a hybridized workflow to implement ECS animation. A subset of Timeflow animation tools for ECS may be considered in the future if there is a strong use case for it.

The type or namespace name 'MidiJack' could not be found (are you missing a using directive or an assembly reference?)

If you encounter this compile error, it means one of the following things:

  • MidiJack has not been installed properly.

Solution #1: Remove any previous installations of MidiJack (ie. remove it from Assets/MidiJack) and instead import the included package in Assets/AxonGenesis/Timeflow/AddOns/MidiJack.unitypackage

Note that if MidiJack is located outside of the Assets/AxonGenesis directory it will not be visible to the AxonGenesis assembly and will result in compile errors. Therefor, MidiJack must be moved inside the AxonGenesis directory, with the suggested path of Assets/AxonGenesis/Timeflow/AddOns/MidiJack

  • The MIDIJACK scripting define symbol is set but MidiJack is not installed.

Solution #2: Use the above solution to use MidiJack, otherwise if you are not using this in your project, go to Project Settings > Player > Scripting Define Symbols and remove the MIDIJACK symbol then press Apply.

The type or namespace name 'InputSystem' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?)

If you encounter this error, it means that the new Input System is enabled but has not been properly installed.

Solution #1: Open the Package Manager and select 'Packages: Unity Registry'. Then search for 'Input System' and install the package.

CaptureScreenshotAsTexture() cannot be called outside of playmode.

Measures inaccurately displayed in the timeline

When using musical timing, under some conditions it can occur that the measures increments displayed don't accurately match the timing. As shown in the example below, it would be expected to show measure 4.1.1 and not 3.5.8.

The frame rate in a build is much lower than in the editor

This is most often caused by VSync, which matches the framerate to the refresh rate of the display device. This is a helpful feature to render only what is needed, otherwise the GPU will work overtime and consume more power than needed.

Setting the parent of a transform which resides in a Prefab instance is not possible

If any component performs reparenting as part of its animation or behavior, this will result in the error above if it is in prefab. This is because Unity does not allow prefabs to have hierarchy changes.

Solution: The prefab must be unpacked, or an alternate approach is needed that does not require reparenting. For virtual parenting without affecting the hierarchy use a script or behavior such as Follow

'Timeflow' is a descendant of 'GameObject'...

'Timeflow' is a descendant of 'GameObject' and cannot be set as its parented. Please check your object hierarchy to ensure that each TimeflowObject has a Timeflow parent that is not a child or descendant of this game object.

This warning may occur with prefabs and indicates that your object hierarchy is invalid for Timeflow to function properly.

Solution: Add at the top of the script causing the error. Additional scripting may be needed to properly function in edit mode, depending on what the script does. For a basic example, see the EventTriggerTest example. As a general rule, all scripts used with Timeflow should have some implementation of ExecuteInEditMode to perform in edit mode the same as play mode as much as possible. There are of course limitations such as when working with physics or simulations where this may not be possible.

Solution #1: Check the to make sure that the behavior in question is updating after any other behaviors it depends on. Try using or to see if that resolves the issue.

Solution #2: If using physics, makes sure updates are using Fixed Update. Solution #3: Check the . Using large coordinates in Unity can result in shakiness in some cases.

Solution: Make sure your render pipeline assets are correctly assigned in the Project Settings. Please see the documentation for further information.

Timeflow does not implement the Data-Oriented Technology Stack () and is not compatible with the Entity Component System (). Therefore, Timeflow nor any of its behaviors may be used in . However, you may still use Timeflow normally and incorporate subscenes into your project as needed for other elements. The primary reasons ECS is not supported and may never be is due to the complexity of dependencies and managed shared objects in Timeflow, which cannot be streamlined into ECS structures in an efficient way.

Solution #2: If you are not using the new Input System, you may disable it and return to using the legacy Input Manager. This is configured in .

This error may occur when interrupting a render using by exiting play mode. If this error occurs, it is harmless and may be ignored. Note also that the subsequent related error may appear and may also be ignored: RenderToDisk.RenderFrame: Failed encoding texture to JPG.

Solution: This is caused by the setting in the . When using a time signature which results in time increments that do not align with the time tolerance, the values are rounded to the nearest frame. To fix this, the Time Tolerance value may be lowered or changed to an interval that is equally divisible into the time signature.

For further information, see the Unity documentation regarding VSync:

âš ī¸
[ExecuteInEditMode()]
DOTS
ECS
Subscenes
Player Settings
https://docs.unity3d.com/2021.3/Documentation/Manual/class-QualitySettings.html
Update Settings
Preferences
Render Pipeline
world space and coordinates in use
Update After
Late Update
Time Tolerance
Render to Disk
Project is missing configuration setting and therefore not displaying all post processing parameters.
After adding the scripting define symbol, the additional parameters are now listed.
An incorrect setup where Timeflow is a child of a TimeflowObject
To fix this issue, make Timeflow the root of the prefab
It's also acceptable if the prefab root object is a regular game object without a TimeflowObject component.