[Now available on Unreal Marketplace]

----------

Hello guys! I've got something for you
Due to the fact Unreal Engine 4's programming environment doesn't implement a FSM for us to use in code, like in previous versions, for some projects I felt compelled to kick in and implement it by myself then...
I've developed a Plugin module which adds to the UE4 environment a bunch of functionality regarding FSMs, so then I could stop trying to address a bazillion 'If Then Elses' everywhere.

I haven't published this yet, but as always, I believe this may be useful for many other Unreal developers so I'm posting to share. Would anybody be interested in this, a FSM Component which allows you to use AnimGraph's State Machines as visual editors?!
I like to use the AnimGraph because it feels like I'm using Unity PlayMaker inside Unreal

Btw, it can be used not just within Animation Graphs, it's very integrated with C++ API, Blueprint nodes, Behaviour Tree nodes, giving us many 'ins and outs' to access the same FSM Component.
Here a few features already implemented and working well:



* Blueprintable Finite State Machine System.
* Blueprint Actor Component Based.
* Event-Based Tasks/Actions can be Broadcasted.
* Supports Enumerators as State ID.
* Supports Runtime State-Machine Creation/Deletion.
* Supports Runtime State-Machine Event Bindings.
* State Machines can Tick and Track Update Time.
* FSM Properties can be Replicated.
* Get/Set States from C++, Blueprints, Animation Graphs, Behavior Trees.




Here's some screenies:


[Create a new FSM Component, right click Asset Browser]:





[We simply add to the Actor the FSM Component]:



[As of 1.3+ version: "Auto Activate" must be checked to activate FSM Component]



[Then we can edit the FSM's States from an Animation Blueprint's State Machine, like this simple one]:






[Or manipulate States from a Behavior Tree too]:






[Or we can Read/Write FSM States from Blueprint Graphs]:






[Or we can build a Finite State Machine in C++ Constructor, from scratch ]:



[As of 1.3+ version: StateMachine->SetActive(true,false); is also required to activate FSM Component]



------------------------------


[We can now spawn a custom Editor Graph which automatically generates a visual tree representation of your UComponent's States, for both HFSM and FSM types]:







------------------------------

You can read some more details about it HERE ( https://brunoxavierleite.com/2016/07...state-machine/ )
If you guys have interest, I submit this to Epic to have this little guy in Launcher's Plugin section (~$10 Obamas)

------------------------------

TUTORIAL AND DEMO PROJECT