Dialogue System for Unity 1.1.9.1 Released!

The Dialogue System for Unity 1.1.9.1 is now available on the customer download page. It includes:

  • New: KGFMapSystem integration, KGFMapIcon() sequencer command.
  • New: Increment On Destroy script (useful for kill/gather quests).
  • Improved: Added Unity Dialogue UI Continue Button Fast Forward.
  • Improved: Bark triggers now record current bark index in Lua (for sequential barkers).
  • Improved: Added property to override position of NPC barks in Unity GUI & NGUI (DFGUI & TK2D already do this).
  • Changed: Bark index for sequential barks now wraps to zero at end of list of lines.
  • Fixed: DialogueManager > Allow Only One Instance now destroys duplicates immediately so they can’t affect the Lua environment.
  • Fixed: Custom sequencer cameras weren’t destroying themselves properly.
  • Fixed: Gamepad navigation bug.
  • (plyGame) Updated plyGame support package to handle changes in plyGame 2.0.9 beta.

Quests Tutorial Published

The Quests tutorial for the Dialogue System for Unity is now available on the Tutorials page. It covers:

  • Setting up quest log windows and tracking HUDs
  • Setting up simple and complex quests, including quests with counters, and multipart quests.

Multiple Dialogue Database Tutorial Published

The Multiple Dialogue Database tutorial for the Dialogue System for Unity is now available on the Tutorials page. It covers:

  • Using the Unique ID tool to avoid ID conflicts between dialogue databases.
  • How to add and remove dialogue databases.
  • Tips for what should be in shared databases versus isolated databases.
  • How to set up companion NPCs.
  • How to make data persist across scene changes.

Dialogue System Patch 1.1.9d Available

Dialogue System patch 1.1.9d is now available on the customer download site. It adds:

  • New: Continue Button Fast Forward (two-stage typewriter effect skipahead) for Unity GUI.
  • Improved: Bark triggers now record current bark index in Lua (for sequential barkers).
  • Fixed: Gamepad navigation of Unity Dialogue UIs.
  • Fixed: Dialogue Manager loads conversations with incorrect IDs more robustly.
  • Fixed: Dialogue Manager > Allow Only One Instance destroys duplicates immediately so they can’t affect Lua.
  • Fixed: Custom sequencer cameras weren’t destroying themselves properly.

Dialogue System 1.1.9 Released!

The Dialogue System for Unity version 1.1.9 has been released! It’s available for immediate download on the customer download site, and should be available on the Unity Asset Store in 5-7 days. If you need access to the customer site, please contact us with your invoice number.

Highlights include:

  • Unique ID tool for multiple databases: Makes sure dialogue databases have unique IDs to avoid conflicts when loading & unloading multiple databases.
  • SetPortrait() improved: Now sets an override in the Lua environment instead of modifying the database.
  • {{end}} tag: You can now use the {{end}} tag in any dialogue entry sequence, not just the default sequence.
  • Quest tracker HUD: Basic in-game quest tracking HUD, usable in conjunction with toggling Track in the quest log window.

The full list of changes is:

Version 1.1.9:

  • New: Unique ID Tool to guarantee unique IDs across dialogue databases.
  • New: Quest Tracker HUD component.
  • Improved: Added demonstrations of text input and quest tracking to the feature demo scene.
  • Improved: The {{end}} tag is now supported in any dialogue entry sequence.
  • Improved: Sequence subjects can use “/” to access child objects (e.g., Animation(Character/Model, Idle)). Note:
  • SetActive(parent/child) doesn’t find inactive children.
  • Improved: Added Dialogue Manager Display Setting “Inform Sequence Start And End”.
  • Improved: DialogueLua.IncRelationship()/DecRelationship() on an undefined relationship value initializes the value to zero first.
  • Changed: SetPortrait() now sets a Lua field rather than modifying the dialogue database.
  • Fixed: DialogueLua.SetVariable()/SetItemField() handled non-string values incorrectly.
  • Fixed: Bug in display of Dialogue Editor drop-down fields when there were gaps in IDs.
  • Fixed: Unity GUI & NGUI barks were showing even if camera was facing 180 degrees away.
  • (plyGame) Updated plyGame support package to handle changes to plyGame.
  • (2D Toolkit) Implemented ITextFieldUI.

Dialogue System 1.1.8 Released!

The Dialogue System for Unity 1.1.8 is now available!

This release features a GUI system-independent, language-localizable quest log window system, with built-in implementations for Unity GUI, NGUI, and DF-GUI. In the near future, I’ll be adding a 2D Toolkit UI implementation as well as more prefab quest log windows for all of the GUI systems. (The old UnityQuestLogWindow still exists, so projects using it will continue to work fine, just without the new features below.)

To support arbitrary GUI localization, a new type of custom asset, Localized Text Table, was also introduced. You can also use this for purposes other than quest log windows. Future enhancements will include CSV import/export (e.g., MS Excel).

Quests now have Track and Abandonable flags that are observed in the quest log window. You’re responsible for displaying tracking info in your gameplay HUD, though.

Version 1.1.8:

  • New: GUI system-independent quest log window system, with built-in implementations for Unity GUI, NGUI, and Daikon Forge GUI.
  • New: General-purpose Localization Tables.
  • New: Override Actor Name component. Also, if Usable or Persistent Data name overrides are blank, Override Actor Name will be used if defined.
  • New: Set Animator State On Dialogue Event and Set Animation On Dialogue Event components.
  • New: (QuestLog) Added IsQuestTrackingEnabled(), SetQuestTracking(), IsQuestAbandonable(). New options reflected in Dialogue Editor.
  • New: (Unity GUI): Can now change keyboard navigation click key from Unity’s default Space.
  • New: (Unity GUI): When keyboard/gamepad navigation is enabled, mouse wheel scrolls through choices.
  • New: (PlayMaker): SetQuestTracking, IsQuestTrackingEnabled, and IsQuestAbandonable actions.
  • New: (plyGame): SetQuestTracking, IsQuestTrackingEnabled, and IsQuestAbandonable blocks.
  • Improved: Sequence & Lua Trigger inspectors now have multiline text areas.
  • Improved: If a “Notes” field is defined in a dialogue entry, the editor shows it. Also added a foldout for All Fields.
  • Fixed: Unity GUI controls weren’t auto-fitting correctly in some cases.

Scene Loader – Free Continuous World Loader

Unity users frequently ask how to stream continuous worlds. I put together a free package, Scene Loader, to demonstrate one of the most common methods. It takes advantage of Unity Pro, but works with Unity Free or Pro. It automatically loads and unloads adjacent scenes around the player up to a certain specified distance.