Description
DOCUMENTATION – see full description below
SUPPORT/FEEDBACK – https://discord.gg/TjxHxkwzRb
EXAMPLE PROJECT – https://github.com/klauth86/UE_Plugin_GameFlow
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
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 properties:
[Active State] – this property is displayed mostly to see flow current active state. Also it can help to reset active state if that will be needed while working in Unreal Editor. THIS PROPERTY SHOULD NOT BE USED FOR GAME LOGIC
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
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.
Technical Details
Code Modules:
Number of Blueprints: 0
Number of C++ Classes: 25
Network Replicated: (Yes/No)
Supported Development Platforms: Win64
Supported Target Build Platforms: Win64
Documentation: see full description above
Example Project: https://github.com/klauth86/UE_Plugin_GameFlow
Important/Additional Notes:
Supported Engine Versions
5.1 – 5.3