FAQs & Common Problems

v1.0

My actions aren't running, even though they are correctly set up.

Check the "Time" settings in the top right of the Action Executor window in the Inspector. If your TimeScale is 0, and you need an Action Executor to run, you have two options.

First, you can change this value to Unscaled. This will use the default Time.UnscaledDeltaTime which is not affected by any time scaling.

Or, enable "Execute When Paused". If TimeScale is 0, this will still execute, though the actions will be based on the Time settings you have selected. Actions which are not time based will execute.

Note the JuicyActionsSettings object may have the default time scale set to 0.

This is useful for UI actions, and is used in the "Start" buttons in the demo scenes.

Multiple ActionExecutors are affecting the same component/value. How do I handle conflicts?

An example of this could be setting the vignette color during a game β€” red when a player is harmed, and another color when they are casting a spell. Both set the value, so only one will ultimately win when the frame is drawn on the screen.

In these cases, it is better to have a central manager class, perhaps "Post Processing Controller", which takes in the requests for changes, prioritizes them, and executes them.

Instead of using Set Vignette Color action, you could use Send Blackboard Event action to request the color change in the PostProcessingController class, which listens for events, and then handles them as you see fit.

My Group with a very fast "timed" loop seems to have issues

When the total timeline of a group of actions under an action group is much longer than the "timed" group loop count, you may find that some actions do not execute properly.

If you need very fast execution of a set of actions on multiple objects, and the set of actions total duration is higher than the loop delay, it will be better to start ActionExecutor objects on each target object, rather than applying each target object via the loop.

Last updated