Game Flow Plugin allows user to create state machines and configure them for various reasons
You can create all assets provided by this plugin via opening Content Browser context menu (with Right Mouse Button) and navigating to Gameplay category after plugin is installed. In the next sections all assets will be covered.
Game Flow - is main asset class which contains state machine. It is configured via Graph Editor by creating and editing nodes, links between them, setting properties on that nodes, links and asset itself. By default there is an Entry Node which defines state machine entry point.
Game Flow State
Game Flow State - is the only node class available for user to add while editing Game Flow.
Game Flow State properties:
Game Flow Transition
While editing Game Flow user can select links between states via their labels.
Game Flow Transition properties:
Transition Key - is asset class for all objects that are used as keys to control transitions between states of Game Flows.
Game Flow Step
Game Flow Step - is base blueprint class for all objects that can be executed by Game Flows when entering and exiting their states. States contains [Steps] property, that stores collection of Game Flow Step objects to execute. Execution order is different when entering (from first step to last) and when exiting (from last step to first). That is similar to stack execution model.
User can create own subclasses of this class both in C++ and Blueprints. See pictures to check sync and async templates.
Game Flow Context
Game Flow Context - is an interface which provide some common mechanism to get and set values by keys. It is possible that user will need some data to be stored in the sense of place (globally/locally) and time (permanent/temporary) when using Game Flows. For example, there can be some state that is creating SaveGame for active game session. In this case, it will be needed to store that information somewhere globally while this game session is active. Although, it can be done with internal logic of user created subclasses of Game Flow Step, it also can be done based on Game Flow Context, achieving the same in more abstract and formal way.
Plugin contains default implementation for this interface based on Map.
Number of Blueprints: 0
Number of C++ Classes: 25
Network Replicated: (Yes/No)
Supported Development Platforms: Win64, Linux, Mac
Supported Target Build Platforms: Win64, Linux, Mac
Documentation: see full description above
Example Project: https://github.com/klauth86/UE_Plugin_GameFlow