Skip to content

Releases: snozbot/fungus

Fungus v2.2.0

02 Sep 22:03
Compare
Choose a tag to compare

Added

  • Write command for writing text to any text object
  • Writer, Writer Audio components for writing text to any text object with lots of new configuration options.
  • Say Dialog class has been split into Say Dialog, Dialog Input components
  • Dialog Input supports multiple input types; clicks & key presses
  • Can hold down shift while pressing a key to fast forward through dialog text
  • Say Dialog now adjusts Story Text rect when character image is visible.
  • Added Stop() method to Say Dialog and Writer to cancel writing immediately
  • Fullscreen command. https://trello.com/c/aA5GQlua
  • InputText example in FungusExamples
  • Localization support for the Set Text and Write commands.
  • Custom commands can integrate with the localisation system by implementing the ILocalizable interface.
  • Invoke Event command for calling script methods with a parameter using Unity's EventSystem.
  • Invoke Method command for calling script methods with multiple parameters using reflection.
  • Can now use UnityEvent variables in custom commands
  • Flowchart versioning and initialization
  • Menu command now has an Interactable property to add disabled menu options. https://trello.com/c/bFjmGfBc
  • Set Sprite Order command. https://trello.com/c/5yZ88Rh0
  • Added Set Sorting Layer command to set renderer sorting layer
  • Set Mouse Cursor command and drag and drop support
  • Constructors and implicit operators for all Fungus variable types
  • Quit command to quit application - https://trello.com/c/qIVLgrDx
  • New Fungus/UI command category
  • Added ComboBox to Thirdparty folder
  • Added Tools > Fungus > Create > Fungus Logo menu option

Changed

  • Simplifed Say Dialog hierarchy structure to be easier to customise
  • Say Dialog continue image is now a UI button
  • Say Dialog automatically fades in / out when writing
  • Updated The Facility example to work with new Say Dialog design
  • Updated Drag And Drop example to use new Set Mouse Cursor command
  • Improved rendering efficiency of Block inspector window.
  • Improved shift-selecting commands in Block inspector.
  • Portrait command now moves portraits using world position instead of anchored position
  • Portrait cross fading is now done using image alpha instead of a custom shader
  • Stage Show / Hide is now done by tweening the CanvasGroup alpha.
  • Portrait MoveSpeed is now MoveDuration
  • Portrait WaitUntilFinished option now works robustly
  • Additional flowcharts added to the scene no longer have their initial block start with the default 'Game Started' event.
  • Command array properties can now be flagged to use the reorderable list control
  • Custom commands can override IsPropertyVisible() to hide specific properties as needed.
  • SetActive command shows state in summary
  • Block Event Handler for additional Flowcharts now defaults to none.
  • Can assign default values to public Fungus variable properties
  • Can access Fungus variable values directly without using .Value accessor.
  • Say Command fade in / out replaced with automatic fading and Fade When Done property
  • Get Text and Set Text command now work on any text object (UI text, UI input fields & 3D text mesh)

Fixed

  • Shake Camera command timing issue #137
  • CSV parser doesn't handle Windows-style line endings #131
  • Intermittent init order issue with caching localizeable objects
  • Control Audio stopping all untagged audiosources #132
  • Intermittent null reference error from command editors
  • Draggable objects don't return to start pos if drag completes #130
  • Moving and fading portraits at the same time
  • Character portrait images have display artefacts #92
  • Duplicate Block option does not do a deep copy #129
  • Event System not created after Load Scene #121
  • Voice over audio only works every second time #126
  • Editing multiline command properties in block inspector.
  • Compile error when Fungus is used with "Draw On Screen" asset #120
  • Null reference exception when spawning Fungus objects in Unity 5.1
  • Story text box width is restored when using a character with no portrait #141
  • Block inspector window resizes when using cut, copy, paste shortcuts #145
  • Objects spawned from Tools > Fungus > Create menu center correctly in Unity 5.1.3f

Process Changes

We are now using the Unity Test Tools framework for unit and integration testing.
All new features and bug fixes now have automated tests where possible.

Upgrade Notes

We made a LOT of improvements to the Say Dialogs in this release. Unfortunately these changes are likely to break existing customised Say Dialogs. If you upgrade an existing Fungus project and find the Say Dialog are no longer working you will need to delete your Say Dialogs and create new ones.

Fungus v2.2-beta.0

28 Aug 15:47
Compare
Choose a tag to compare
Fungus v2.2-beta.0 Pre-release
Pre-release

Added

  • Write command for writing text to any text object
  • Writer, Writer Audio components for writing text to any text object with lots of new configuration options.
  • Say Dialog class has been split into Say Dialog, Dialog Input components
  • Dialog Input supports multiple input types; clicks & key presses
  • Can hold down shift while pressing a key to fast forward through dialog text
  • Say Dialog now adjusts Story Text rect when character image is visible.
  • Added Stop() method to Say Dialog and Writer to cancel writing immediately
  • Fullscreen command. https://trello.com/c/aA5GQlua
  • InputText example in FungusExamples
  • Localization support for the Set Text and Write commands.
  • Custom commands can integrate with the localisation system by implementing the ILocalizable interface.
  • Invoke Event command for calling script methods with a parameter using Unity's EventSystem.
  • Invoke Method command for calling script methods with multiple parameters using reflection.
  • Can now use UnityEvent variables in custom commands
  • Flowchart versioning and initialization
  • Menu command now has an Interactable property to add disabled menu options. https://trello.com/c/bFjmGfBc
  • Set Sprite Order command. https://trello.com/c/5yZ88Rh0
  • Set Mouse Cursor command and drag and drop support
  • Constructors and implicit operators for all Fungus variable types
  • Quit command to quit application - https://trello.com/c/qIVLgrDx
  • New Fungus/UI command category
  • Added ComboBox to Thirdparty folder

Changed

  • Simplifed Say Dialog hierarchy structure to be easier to customise
  • Say Dialog continue image is now a UI button
  • Say Dialog automatically fades in / out when writing
  • Updated The Facility example to work with new Say Dialog design
  • Updated Drag And Drop example to use new Set Mouse Cursor command
  • Improved rendering efficiency of Block inspector window.
  • Improved shift-selecting commands in Block inspector.
  • Portrait command now moves portraits using world position instead of anchored position
  • Portrait cross fading is now done using image alpha instead of a custom shader
  • Stage Show / Hide is now done by tweening the CanvasGroup alpha.
  • Portrait MoveSpeed is now MoveDuration
  • Portrait WaitUntilFinished option now works robustly
  • Additional flowcharts added to the scene no longer have their initial block start with the default 'Game Started' event.
  • Command array properties can now be flagged to use the reorderable list control
  • Custom commands can override IsPropertyVisible() to hide specific properties as needed.
  • SetActive command shows state in summary
  • Block Event Handler for additional Flowcharts now defaults to none.
  • Can assign default values to public Fungus variable properties
  • Can access Fungus variable values directly without using .Value accessor.
  • Say Command fade in / out replaced with automatic fading and Fade When Done property
  • Get Text and Set Text command now work on any text object (UI text, UI input fields & 3D text mesh)

Fixed

  • Shake Camera command timing issue #137
  • CSV parser doesn't handle Windows-style line endings #131
  • Intermittent init order issue with caching localizeable objects
  • Control Audio stopping all untagged audiosources #132
  • Intermittent null reference error from command editors
  • Draggable objects don't return to start pos if drag completes #130
  • Moving and fading portraits at the same time
  • Character portrait images have display artefacts #92
  • Duplicate Block option does not do a deep copy #129
  • Event System not created after Load Scene #121
  • Voice over audio only works every second time #126
  • Editing multiline command properties in block inspector.
  • Compile error when Fungus is used with "Draw On Screen" asset #120
  • Null reference exception when spawning Fungus objects in Unity 5.1

Process Changes:

We are now using the Unity Test Tools framework for unit and integration testing.
All new features and bug fixes now have automated tests where possible.

Upgrade Notes:

We made a LOT of improvements to the Say Dialogs in this release. Unfortunately these changes are likely to break existing customised Say Dialogs. If you upgrade an existing Fungus project and find the Say Dialog are no longer working you will need to delete your Say Dialogs and create new ones.

Fungus v2.1.2

16 Jun 12:51
Compare
Choose a tag to compare

Bug fix release to address a critical issue where Webplayer builds fail to build.

Fixed

Removed hide flags from line drawing material and shader #119
Fixed null exception error when spawing objects in Unity 5.1

Fungus v2.1.1

12 Jun 21:26
Compare
Choose a tag to compare

This is a bug fix release that addresses some issues that occur when using Fungus with Unity 5.1

Fixed

  • Fix for DrawGizmo compile error on Unity 5_0
  • Fixed title text warning in Usfxr editor window
  • Fixed line drawing class using an obsolete material constructor #119
  • Added small + button texture used in Flowchart a a resource
  • Editor button textures are now loaded in OnEnable() instead of loaded on every draw (yeah, whoops!)
  • Fixed Flowchart window graphics glitches on Unity 5.1 #118
  • Fixed compile errors on Unity 5.0.1 #117

Fungus v2.1.0

09 Jun 14:21
Compare
Choose a tag to compare

This is the first update for the Unity Asset Store release of Fungus. This release includes all the improvements from V2.0-Beta.9 and earlier.

Added

  • Added Flowchart.FindBlock so you can check if a Block is executing before you try to execute it.
  • Cleanup any unreferenced components in Flowchart when scene loads

Changed

Removed

  • Removed obsolete commands and other dead code

Fixed

  • Fixed using iTween and Portrait commands in same Flowchart causes null exception #116
  • Fixed whitespace and newlines not being trimmed after {wc} & {c} tags in story text #115
  • Fixed Standard Text import strips out newline characters #114
  • Fixed {x} text tag causing a null reference error #113
  • Fixed Flowchart.ExecuteBlock() not being usable with UI events (e.g. a UI button event) #112
  • Fixed Set Draggable command causing null exception error #111
  • Fixed conflicting Block & command item ids (was breaking localization text export) #110

Fungus v2.0-beta.9

27 May 16:03
Compare
Choose a tag to compare
Fungus v2.0-beta.9 Pre-release
Pre-release

This is minor bug fix release (plus some small new features).

Changes

  • Call Method can now execute after a delay
    https://trello.com/c/a333r2QA
  • Can now control swipe pan speed in Start Swipe command
    https://trello.com/c/TmG9SiIa
  • Improved layout of Flowchart name and description
    https://trello.com/c/vwnzaOh2
  • Added Flowchart.FindBlock so you can check if a Block is executing before you try to execute it.
  • Cleanup any unreferenced components in Flowchart when scene loads
  • Removed obsolete commands and other dead code

Fixes

  • Fixed whitespace and newlines not being trimmed after {wc} & {c} tags in story text #115
  • Fixed Standard Text import strips out newline characters #114
  • Fixed {x} text tag causing a null reference error #113
  • Fixed Flowchart.ExecuteBlock() not being usable with UI events (e.g. a UI button event) #112
  • Fixed Set Draggable command causing null exception error #111
  • Fixed conflicting Block & command item ids (was breaking localization text export) #110

Fungus v2.0-beta.8

22 May 21:36
Compare
Choose a tag to compare
Fungus v2.0-beta.8 Pre-release
Pre-release

This is a release candidate build for the Fungus v2.0 release on the Unity Asset Store.

Changes

Scripting

  • Added Spawn Object command to instantiate a scene object or prefab
  • Added Call Method command to call a named method on a MonoBehaviour

Narrative

  • Added Set Text and Get Text commands to read / write text from UI objects (e.g. Input Field)
  • Stage objects now spawn at 0,0,0 by default #106

Examples

  • Added Fungus Town example scene to demonstrate parallax scrolling effect

Camera

  • Added control of fade out effect in Fade To View command #109

Drag and Drop

  • Added Set Collider command for controlling groups of clickable / draggable objects #105

Audio

  • Add writing sound volume property on Dialogs #108

Editor UI

  • Improved readability of Event Handler block info
  • Add disclosure rectangle on Variables panel #104
  • Added help box to tell user that all character portraits should be same dimensions #102
  • Views only render outer box when not selected

Localization

  • Localization id defaults to use Flowchart object name #101
  • Updated localisation example scene #100

Misc

  • Updated Reorderable List control to latest version
  • Updated project to Unity 5.0.2
  • Added missing tooltips for Commands and Event Handlers
  • Improved reference doc exporter format (works with Github wiki now)

Fixes

  • Fixed variable substitution to also check public variables in other Flowcharts
  • Fixed bug in SendMessage command if no command specified
  • Fixed bug where only the first variable token in the string was being substituted.
  • Fixed incorrect description of Call command #103
  • Fixed iTween target property not upgrading from beta 6 #99
  • Fixed iTween overriding position when dragging an object #107
  • Fixed choose English option in localisation example #100

Fungus v2.0-beta.7

05 May 15:40
Compare
Choose a tag to compare
Fungus v2.0-beta.7 Pre-release
Pre-release

This major update adds many new visually scripting and narrative features. This will be the last major beta release before we release Fungus on the Unity Asset Store as a free asset.

Changes

General

  • Updated Fungus to support Unity 5.0.1
  • Renamed Sequences to Blocks, and renamed FungusScript to Flowchart to be more descriptive
  • Blocks and Commands are assigned a unique item id on creation (used for localisation) #86
  • Reorganised scripting commands under Flow, Variables and Scripting categories
  • Can now pan and zoom the scene using same shortcuts as Scene window #97
  • Run Slow In Editor option has been replaced with Pause After Command property on Flowchart
  • Can now Call a block in another Flowchart, and specify if the current block should Stop, Continue or Wait Until Finished.
  • Blocks are now selected automatically when executed
  • The executing command icon now fades out over time to make it easier to follow the command execution flow
  • The Object Enabled event handler has been renamed to Flowchart Enabled
  • Improve efficiency of command list execution (now using coroutines) #96
  • Improve readability of Event Handler blocks in flowchart window #95
  • Moved all Fungus menu items to Tools > Fungus sub menu
  • Command properties are now displayed in a resizable panel in the inspector #84
  • Added SetClickable2D command to enable/disable clickable objects
  • Fixed setting Draggable2D drag enabled to false not stopping all mouse up events #87
  • Added icons and keyboard shortcuts for copy, paste, etc. in SequenceEditor #84
  • Can now shift-select a range of commands in the block inspector #84
  • Added commenter name property to Comment command #84
  • Added While loops and Break command #81
  • Added Label & Jump commands to move execution to a different position in the Block #78
  • Added Else If command #77
  • Improve efficiency of executing next command in a Sequence (using command indices instead of scanning) #76
  • Optimised Fungus Script window repainting (only happens when moving an item) #75
  • Replaced Save/Load Globals command with Save/Load Variable, Set Save Profile & Delete Save Key for better control #68
  • Replace End If command with End command #72
  • Hide Fungus commands, event handlers, etc. in Unity’s Component menu #71
  • Added variable types for common Unity types. Can now add your own variable types. #66
  • Replaced global variables with public / private variables #67
  • Can now set default variable values in Variable window #67
  • Can now substitute variables in Debug Log command using {$VarName} #65
  • Added a key input Event Handler #62
  • Removed character limit on command summaries in inspector
  • The Run Script command has been deleted. Use Call command instead.
  • Added FormatEnumNames() & SplitCamelCase() to StringFormatter class #84
  • Added third party LeanTween library for new dialog fade / move effects #84
  • Added FungusScript.GetVariable() method #70
  • Added info box if no commands currently in command list
  • Export command and event handler reference documentation to markdown files

Narrative

  • Renamed Dialogue module folder to Narrative
  • Say and Menu commands will automatically create dialogue UI objects if none exist
  • Added a Localisation system, Set Language command and localisation example #8
  • Variable substitution now also works with localization string ids #8
  • Export & import standard text to a text file for easy text editing #8 #89
  • Replaced AddOption / Choose commands with a new single Menu command
  • Added Portrait and Stage system for visual novel character style gameplay #88 #84
  • Fixed Say story text field tooltip obscuring text #85
  • Deprecated AddOption and Choose commands #84
  • Added Exo2 font to Narrative module #84
  • Say dialog can now display and immediately continue (handy for showing say dialog and menu concurrently).
  • Menu dialogs are now a simple list of buttons, with now story text
  • New MenuTimer command displays a timeout bar and calls a Block if the timer expires
  • Character portrait array now uses a reorderable list control #79

Audio

  • Added waitDuration property to Play Usfxr Sound command
  • Added waitUntilFinished property to Play Sound command
  • Added Control Audio command for detailed control of audiosource components #84
  • Added AudioTags to support playing a sound effect mid-sentence in a Say command

Examples

  • Added Sherlock demo (thanks to Improbable Studios and Sara Mena!) #84
  • Updated Variable scene to demo new variables & flow commands
  • Updated The Facility and The Hunter demos to use the new Menu command
  • Added Localization example scene #8

Spine Addon

  • Select Spine animation from drop-down list instead of entering name

Fixes

  • Fixed Event Handlers sometimes executing incorrect Block.
  • Fixed compile errors on Windows Store builds #61
  • Fixed Switching dialogs on click causes text to skip #73
  • Fixed null camera bug in CameraController #64
  • Fixed clicking on Variables pane deselecting the active Sequence / selecting nodes #58
  • Fixed GUI console errors when deleting all commands in a block
  • Fixed Fade Sprite null reference error if no sprite selected
  • Fixed Usfxr sounds not playing in editor in Unity 5 #98

Fungus v2.0-beta.6

11 Dec 16:59
Compare
Choose a tag to compare
Fungus v2.0-beta.6 Pre-release
Pre-release

Changes:

  • Major redesign of Fungus Script window and inspector UI
  • Updated UI to use flowchart style nodes
  • Sequences may now be executed in parallel (via Event Handlers)
  • Spine animation library support (via new Fungus_Spine addon package)
  • Added {m} tag to broadcast a message to all FungusScripts
  • Force Sequence names to be unique within a Fungus Script
  • Added a gizmo to View objects to select in scene view
  • Added Reset Anim Trigger command
  • Say command: 'Show Once' property is now 'Show Always' & 'Show Count'
  • Variable count is shown when Variables pane is collapsed
  • Pauses on .?!,:;() punctuation characters
  • #51 Added RandomInt and RandomFloat commands
  • Updated the music in The Hunter example (50% more pan pipes!)
  • Added Fungus Script comments for all example scenes
  • #48 Can now substitute variables in Say, Choose and character name text using {$VarName}
  • Removed legacy support for Sequences as child game objects
  • Display FungusScript name and description in script window
  • Added SendFungusMessage() and BroadcastFungusMessage() commands
  • Duplicate sequence now copies the event handler
  • Renamed Examples to FungusExamples
  • #25 Added Clickable and Draggable prefabs and Game Object menu items
  • Reorganized Commands and EventHandlers under Scripts folders
  • Added drag and drop and clickable sprite support
  • Moved Run Slow in Editor option to Sequence properties
  • Updated ObjectEnabled event handler description
  • Added virtual method to provide custom Event Handler summary
  • Added Destroy command
  • Changed None to for consistency with other properties
  • Add dependency on Sequence and Fungus Script components
  • Added Send Message command and Receive Message event handler
  • Added Debug Log command
  • Display event handlers with a category after ones that don't have a category
  • Variables window is always expanded if variable count is 0
  • Updated all examples to use 'Start Game' event handler.
  • Added Event Handler system.
  • Removed custom icon on Fungus Script object
  • Sequence inspector now shows mushroom icon
  • Moved variables list over to the Fungus Script window
  • Tidied up attribution file

Fixes:

  • Context menu Copy copies commands in execution order, not selection order
  • Changed the DragTargetSprite prefab sprite to alpha = 1
  • Game Object > Fungus instantiated prefabs now spawn in centre of scene view
  • Dragged objects do not return to start position if drag action completes.
  • Multiple DragCompleted handlers now fire incorrectly.
  • Changed negation operator in SetVariable command to =!
  • LoadGlobals and SaveGlobals commands now continue after executing
  • Blank string bug in new SendMessage commands.
  • #49 Voice over is now cancelled when story progresses to next line
  • Fix #50: Text wraps around smoothly on dialogs
  • Fixed duplicated Event Handlers not working correctly
  • ScaleTo command defaults to 1,1,1 scale instead of 0,0,0
  • Fixed null exception when Sequence description string is empty
  • for SceneLoader trying to destroy nested sprites twice
  • Fixed grid lines drawing over title bar
  • Fixed null reference when adding new iTween commands
  • Hide Components option now unhides all components when not selected
  • Command summary can now tolerate null strings.
  • Fixed null reference error when no Fungus Script in scene.
  • Fixed missing component warnings in all example scenes
  • Fixed up node graphs for all example scenes using new flowchart UI

Fungus v2.0-beta.5

24 Oct 15:35
Compare
Choose a tag to compare
Fungus v2.0-beta.5 Pre-release
Pre-release

New Features

  • Completely redesigned sequence node UI & connection lines in Fungus Script window
  • Zoom in / out on Fungus Script window using slider or mouse wheel
  • Added background grid in Fungus Script view to indicate zoom level
  • Right mouse drag pans the Fungus Script window
  • Removed scroll bars on Fungus Script window
  • Commands are now added by clicking a + button at the bottom of the selected sequence and selecting from a popup menu
  • Command help info is now displayed in the Fungus Script inspector window
  • Replaced split panel Fungus Script window with single unified view
  • Added support for a large subset of iTween operations (MoveAdd, RotateTo, etc.)
  • Added iTween example scene
  • Added Cut, Copy, Paste, Select All, Select None, Duplicate Sequence and Delete Sequence operations on context menu
  • Removed Background dialogs and the SetBackground command. (Redundant functionality - use Views and FadeToView or uGUI instead).
  • Added 'Click Anywhere' property to Dialog component. If disabled then player must tap on dialog to continue.
  • Added Sfxr procedural sound effect library.
  • Can multi-select & deselect commands by holding down cmd key when clicking
  • Removed SetSayDialog and SetChooseDialog. You now set the dialog in every Say & Choose command.
  • New Say commands will default to using the last dialog used in previous Say command.
  • Commands must now be deleted via context menu (not showing delete buttons)
  • Changed LoadScene command to auto destroy all SpriteRenderer objects instead of using a special object tag
  • Sequence and command components are now always added to the Fungus Script game object instead of creating sub objects
  • Added Hide Components setting to toggle visibility of sequence and command components in inspector
  • Renamed Node command to Comment
  • Dragging sequence nodes can now be undone
  • Added custom textures for buttons, etc. in Fungus Script window (via an editor resources class)
  • Added + button to create a new sequence
  • Null command entries are automatically deleted from sequence command list (e.g. when deleting a command class)
  • Typing audio can now be set per character as well as per dialog.
  • Added StartSwipe and StopSwipe camera commands to enable camera panning with gestures.
  • An error icon is now displayed on right hand side of incorrectly configured commands
  • Can now click outside sequence node to deselect
  • FungusScripts can now be made into prefabs. Note: Any references to scene objects will be lost when making the prefab.
  • Can now set PlayMusic start time
  • Can now edit Sequence node width in inspector
  • Improved click to continue behaviour with {wi} and {wc} tags. Added cooldown timer to reduce accidental clicks.
  • Added Reset command which resets all variables and command states in the containing Fungus Script.
  • The AddOption command can now specify a variable to set when option is selected
  • Refactored The Facility example to use AddOption variable setting to dramatically simplify node structure.
  • Changed property names for variables to avoid confusion. (You will need to fix any Set Variable commands if upgrading from an earlier version).
  • Boolean variables are now displayed as True / False rather than a toggle.
  • Comments are now a top level menu item in add command menu
  • Added Tooltips to all command properties

Bug Fixes

  • Fixed Fungus Script window appearance in Unity Pro skin
  • Fixed positioning of new sequence nodes
  • Fixed issues with dragging sequence nodes
  • Fixed a number of undo / redo issues
  • Fixed editor memory leaks by deleting custom Editors after use
  • Fixed pausing the typing audio when typing pauses.
  • Fixed View Size property not serializing correctly
  • Fixed #45: Added ability to set command class priority to allow overriding if command types in command menu
  • Fixed #46: commands now store a reference to their parent sequence
  • Fixed critical bug with changing script property for a command. The script property is no longer exposed in the inspector.

Issues fixed in earlier beta releases: #5, #10, #12, #13, #14, #17, #30, #31, #32, #33, #36, #39