Fungus Interactive Narrative Middleware for Unity

I've been using Fungus for a few days.  So far I have really enjoyed using it and it has sped up my production.    Written by Chris Gregan It's an open source Interactive Story Telling library for Unity.  It has a simple visual scripting language, very similar my own Helios Scripting Language and provides a graphical and data-driven way to author interactive narratives. 

What I am trying to do, is create stock dialog for various prefabbed enemy types.  Enemies will say certain things depending on the status of the battle.  I have many prefabbed enemies: BlightDragon, UndeadKnight, ShadyRogue, etc.  Naturally, I would add a Fungus.FlowChart to each of these prefabs.  

There is a particular challenge that limits the viability of the scripting Language in that you cannot make prefabs from GameObjects that have a Flowchart child.  What happens is that the FlowChart object will loose all of its references to UI Text Game Objects that the flow charts point to.  For Unity, this is how prefabs have to work -- they cannot contain references to objects instantiated in the scene. 

I am not sure if this is a limitation of Fungus with Unity 4+ UI's only as I am not looking at the other features of Fungus.  When I was onboarding to the tech, it felt like Fungus was specific to its own UI framework so it was nice to see Fungus support the new Unity UI so elegantly. Hopefully, the Fungus team can fix this design limitation.  

For now, I worked around the issue by duplicating the Write Command with my own CustomWrite Command that resolves the UI.Text object target.  Oh yeah, Fungus is extensible making it even more useful. 

 

You can learn more about Fungus for  Unity here: http://fungusgames.com