Lightweight node-based dialogue system for Unity. Author branching graphs, ship a polished UGUI/TMP runtime (typewriter, skip, autoplay, history), and trigger gameplay with action nodes and handlers.Compatibility• Unity 2021.3 LTS or 2022.3 LTS+ or (tested on Windows)• Editor UI: UI Toolkit / GraphView (Editor only)• Runtime UI: UGUI (Canvas)• Scripting: .NET 4.x; C# 9+ compatibleDialog Graph System is a production-friendly pipeline for authoring and playing dialogue in Unity.Design conversations with an intuitive graph editor (typed nodes: Start, Dialog, Choice, Action, End), style editor nodes through USS, and ship a polished UGUI + TextMeshPro runtime with typewriter, skip, and autoplay functions, per-line audio and display time, and a history or backlog overlay.Use the Action Runner with UnityEvents or coroutine-based IActionHandlers to trigger gameplay and optionally block dialogue until actions complete.Graphs can be imported or exported as JSON for backups, version control, or AI workflows.Sample conversations are provided as ScriptableObject graphs.This version adds full compatibility with both the Old Input Manager and the New Unity Input System (keyboard, mouse, touch, gamepad, VR), ensuring cross-platform support out of the box.Highlights• Graph Editor (Editor-only): Typed nodes (Start, Dialog, Choice, Action, End), entry enforcement, choice and auto-next ports, fixed node width, minimap, character sidebar, save-graph prompt, and JSON import or export.• Polished Runtime (UGUI and TMP): Typewriter, skip line or all, autoplay with play and pause icons, per-line audio and display time, and a history overlay that pauses dialogue flow.• Actions System: Action Nodes with actionId, payloadJson, waitForCompletion, and waitSeconds. DialogActionRunner supports global or per-conversation sets, UnityEvent bindings (fire-and-forget), and async IActionHandlers (blocking).• Two Demo Scenes: DialogDemo (dialog only) and ActionDialogDemo (action chains and blocking handlers).Included Content• Scripts: Runtime (manager, action runner, UI bridge, history, models, utilities), Editor (graph window, JSON import and export, node views), interfaces (IActionHandler), and demo handlers.• Prefabs: DialogUI_Panel, Choice_Btn, and history views.• Resources: Conversation graphs (ScriptableObjects), UI sprites, USS editor styling, and demo audio.• Documentation: README, CHANGELOG, and font license (OFL).Requirements• Unity: Version 2021.3 LTS or newer (Editor uses UnityEditor.Experimental.GraphView).• Packages: TextMesh Pro, UGUI, and the Input System (recommended for modern Unity versions).Quick Start1. Open Tools → Dialog Graph Editor and create a graph (Start → Dialog → Choice or Action → End).2. Add DialogManager and DialogUI_Panel to your scene and assign the references.3. (Optional) Add DialogActionRunner and configure global or per-conversation sets.4. Add your graph to the manager list and call:DialogManager.Instance.PlayDialogByID("YourDialogID");5. Open DialogDemo or ActionDialogDemo to see the system in action.Runtime EventsOnLineShown(string nodeGuid, string speaker, string text)OnChoicePicked(string nodeGuid, string choiceText)OnConversationReset()Technical details (Key Features)Typed node model: Start, Dialog, Choice, Action, End (clean traversal & rendering).Graph Editor (GraphView): minimap, pan/zoom, undo/redo, entry enforcement, choice/auto-next ports, character sidebar, USS-styled nodes, safe save prompt.JSON Import/Export: round-trip conversations; great for backups, VCS, and AI workflows.Runtime UI (UGUI/TMP): typewriter, autoplay (icon toggle), skip line/all, choices, per-line audio & display time, history/backlog overlay.Action system: DialogActionRunner with Global/Per-Conversation action sets; UnityEvent bindings (instant) and coroutine **IActionHandler**s (blocking); supports actionId, payloadJson, waitForCompletion, waitSeconds.IActionHandler interface: bool CanHandle(string actionId) + IEnumerator Handle(string actionId, string payloadJson); plug-in gameplay actions that can pause dialogue until done.PayloadHelper utilities: merge JSON into typed payloads; getters for int/float/bool/string; color/vector parsers; token interpolation.Samples: DialogDemo (dialog-only) and ActionDialogDemo (action chains & waits).Clean assemblies: Runtime/Editor asmdefs, namespaces; works with any render pipeline; no third-party deps.Input compatibility: Supports both Old Input Manager and New Unity Input System (keyboard, mouse, touch, gamepad, VR) for cross-platform flexibility.I used AI as an assistive tool during development. Specifically, I used ChatGPT to brainstorm APIs, refactor and comment C# editor code, draft documentation/changelogs, and generate/example JSON snippets. I also used AI-assisted design to create some marketing media (icon/cover/overlay templates), which I then edited and finalized. All AI outputs were manually reviewed, rewritten where needed, and fully tested by me.The package itself does not include or require AI/ML at runtime—no model weights, no data collection, and no calls to external AI services. All in-package code and assets are original or properly licensed, and a ThirdPartyNotices/License file is included where applicable. (A future Pro edition may add optional LLM-based JSON generation, but that is not part of this submission.)