GameFlow v1.0 · What’s new?

This is a quick summary of what’s new and noteworthy in GameFlow v1.0. You have also the full release notes in case you need more information.

User Interface

All GameFlow blocks are now contained in a single component. Notice also that we have new + buttons and that additional information (like the type of Program or Variable) is shown on the right side of blocks titles:

Having all blocks contained brings several benefits, like the ability to collapse or expand all blocks within the component for a clearer view:

And like having a consistent way of adding new blocks using the + buttons. This is the new “Add Block” window:

Notice also that all the Id fields we used to have for blocks have been removed. Of course you can still rename any block (yes, even actions and conditions) just by selecting it and pressing F2:

GameFlow API

The documentation for the GameFlow API is finally disclosed, so time to create your own actions and conditions.

Need a little help with code? don’t worry, just use our wizards (Assets > Create > GameFlow > Action) to generate the base C# code:

Debug Decorators

Decorators are tiny icons on the left side of the executable blocks indicating execution entry points and whether a program or action is currently executing or has been already executed.

Breakpoints

You can now set breakpoints clicking on the left side of your actions. Once in Play mode, the Editor will pause when the program gets to each breakpoint, which is useful for debugging purposes.

This is an experimental feature yet to be improved in next updates.

Change Program type

Just use the Program context menu option, select the new type in the selector window and the program type will be changed automatically:

Easier Macros

As easy as selecting which shortcut key would you like assigned to your macro:

GameFlow Settings

New settings are available for any GameFlow component:

These settings allow for choosing the display mode and configuring the related properties:

Editor Utilities

You can now display any GameFlow component as an Utility window, that is, as a floating always-visible window in the Editor. This is a very powerful feature which allows you to create your own Editor tools without coding:

These are the GameFlow blocks used for the ‘Duplicate Randomly’ utility:

There are some of these utilities included as examples (/GameFlow/Prefabs/Utilities) for your study.

Custom Event Programs

You have now a new type of program (On Custom Event) to respond to custom events that you trigger using the new Trigger Custom Event action.

Custom menus

Source code for MenuItems.cs is now provided so users can customize (adding shortcuts, removing items, etc.) all GameFlow menu items.

New Actions

Add Torque, Add Torque 2D, Add To String, Clamp Local Position, Clamp Local Rotation, Clamp Position, Control Particles, Control VideoPlayer, Disable StateMachine, Disable Timer, Display Dialog, Enable StateMachine, Enable Timer, Find GameObject, Find GameObjects, Get Animation Property, Get Animator Parameter, Get Animator Property, Get Farthest, Get GameObject, Get Input Button State, Get Instance Id, Get Nearest, Get Selected GameObject, Get Selection, Get SO Property, Get VideoPlayer Property, Get X, Get Y, Get Z, Ignore Collision, Loop In Current Frame, Loop In Next Frame, Reset Variable Value, Restore Collision, Set Animation Property, Set Animator Parameter, Set Animator Property, Set Local Position, Set Local Position Component, Set Local Rotation, Set Local Rotation Component, Set Mouse Lock, Set Parameter Indirection, Set Random Local Position, Set Random Local Rotation, Set SO Property, Set Variable Indirection, Set World Up, Show In Window, Stop Animation, Trigger Custom Event

New Conditions

Bounds, Input Button, Item Count, Magnitude, Program, State Machine, Velocity

Documentation

As you can see we have a brand new website. During the next months, as promised, the focus will be in documentation and tutorials which will be added progressively. Please bear in mind that writing all the docs in two languages is a huge task and will take some time.