Node-based dialogue editor and runtime for Unity. Build branching conversations with GraphView, UGUI/TMP playback, themes, history, action nodes, JSON import/export, and optional AI workflow.Dialogue Graph System is render-pipeline independent for normal use. Editor tools run only in the Unity Editor. Runtime UI uses UGUI + TextMesh Pro, so it works with Built-in, URP, and HDRP. Clean projects also need Unity Vector Graphics (com.unity.vectorgraphics) for the editor icon system. Tested on 2022.3 LTS and Unity 6; supports 2021.3 LTS+.Optional AI ExtensionAn optional AI Extension is planned as a separate add-on and is currently pending Asset Store approval. The core Dialogue Graph System package works fully without AI services, API keys, or the extension.When installed, the AI Extension adds assistant-based authoring tools such as line rewrites, command presets, draft node generation, choice suggestions, validation helpers, and preview-first AI workflows.Dialogue Graph System — Visual Dialogue Editor for UnityCreate clean branching conversations with a node-based graph editor and ship them with a polished UGUI + TextMesh Pro runtime.Dialogue Graph System is built for Unity developers who need a practical dialogue workflow without building a full narrative toolchain from scratch. It includes visual graph authoring, runtime playback, choices, action nodes, runtime variables, condition branches, Set Variable nodes, history/backlog support, themes, JSON import/export, validation tools, and production-friendly editor utilities.New in 2.4.1• Runtime variables with DialogueVariableStore and DialogVariableSO• Condition / If nodes for variable-driven branching• Set Variable nodes for changing runtime state during dialogue• Variable text injection in dialogue and choices, such as {playerName}, {gold}, and {hasKey}• Stronger validation for graph flow, variables, conditions, links, and layout• Safer migration and import/export handling for existing graph assets• More focused internal services for long-term maintainability• Floating AI Assistant panel and command presets when the optional AI Extension is installed• More editor tooltips, visible Undo / Redo buttons, and refreshed welcome guidanceCore WorkflowDesign conversations using typed nodes:• Start• Dialog• Choice• Action• Condition• Set Variable• EndConnect nodes visually, organize dialogue branches, trigger gameplay events, update runtime variables, branch from game state, and run conversations through a ready-to-use runtime UI.Editor Features• GraphView-based visual editor• Split-view sidebar• Four sidebar tabs: Characters, Actions, Context, AI• Character and portrait management• Action management and action registration helpers• Variable definition support• Scene context fields for authoring support• Format Layout tool for cleaner graph organization• Per-graph pan/zoom view-state persistence• Graph validation window with click-to-select issue navigation• Safe save, auto-save on close, and cleaner graph switching• Styled node views for Start, Dialog, Choice, Action, Condition, Set Variable, and End nodes• JSON import/export for backups, version control, and external workflowsRuntime Features• UGUI + TextMesh Pro dialogue panel• Speaker names and portraits• Typewriter, fade-in, and word-by-word reveal• Skip line / fast-forward• Autoplay• Per-line audio support• Display time per line• Choice selection• Runtime variables• Variable text injection• Conditional branching• Dialogue-driven variable mutation• History/backlog overlay• Keyboard, mouse, touch, gamepad, and XR-aware choice navigation• Runtime EventSystem bootstrap• Theme support through DialogThemeSOAction SystemAction Nodes allow dialogue to trigger gameplay logic during a conversation.Supported action workflows:• UnityEvent-based actions• Fire-and-forget actions• Coroutine-based blocking actions• Payload JSON for custom data• Wait-for-completion support• Delay/wait seconds per action nodeExample use cases:• Camera cuts• Door opening events• UI prompts• Tutorial steps• Cutscene triggers• Audio or VFX events• Quest state changesVariables and ConditionsUse DialogueVariableStore and DialogVariableSO to connect dialogue flow to game state.Supported workflows:• Store bool, int, float, and string values• Inject variable values into dialogue and choice text• Branch with Condition / If nodes• Change state with Set Variable nodes• Validate missing variables and type mismatches before playtestingThemesDialogue Graph System includes a runtime theming subsystem through DialogThemeSO. Define visual tokens and swap dialogue themes without rewriting runtime UI logic.JSON WorkflowGraphs can be exported and imported as JSON for backups, source control, review workflows, external tooling, and AI-assisted pipelines.Optional AI ExtensionAn optional AI Extension is planned as a separate add-on and is currently pending Asset Store approval. The core Dialogue Graph System package works fully without AI services, API keys, or the extension.When installed, the AI Extension adds assistant-based authoring tools such as line rewrites, command presets, draft node generation, choice suggestions, validation helpers, and preview-first AI workflows.Included• Full runtime source• Full editor source• Graph editor• Runtime dialogue UI prefabs• Choice button prefab• History/backlog UI• Sample graphs• Demo scene• Character, action, variable, environment, and theme definitions• JSON import/export tools• README and changelog• Documentation siteQuick Start1. Import the package.2. Open Tools → Dialogue Graph System → Welcome.3. Open Tools → Dialogue Graph System → Dialogue Graph.4. Create or open a graph.5. Add Start, Dialog, Choice, Action, Condition, Set Variable, and End nodes.6. Add DialogManager and the dialogue UI prefab to your scene.7. Add DialogueVariableStore if your graph uses variables.8. Assign your graph.9. Start the dialogue from code:DialogManager.Instance.StartDialog(myGraph);Or by mapped ID:DialogManager.Instance.PlayDialogByID("YourDialogID");Best For• RPG dialogue• Quest conversations• Tutorial dialogue• Visual novels• NPC conversations• Narrative prototypes• Branching mobile game dialogue• Story-driven UI flows• Cutscene/event dialogue• Tools-heavy Unity projectsDialogue Graph System is simple enough for fast projects, but structured enough to extend in production.Technical DetailsCore Architecture• ScriptableObject-based graph assets• Typed node model: Start, Dialog, Choice, Action, Condition, Set Variable, End• Runtime/editor assembly separation• Editor code isolated from runtime code• GraphView-based editor window• UGUI + TextMesh Pro runtime UI• Runtime variable system• Condition and variable-mutation flow nodes• JSON import/export bridge• Validation system for graph structure, variables, conditions, and links• Migration and schema-safety helpers• Optional AI-extension bridgeGraph Editor• Visual node editor built with UnityEditor.Experimental.GraphView• Pan, zoom, drag, connect, save, and load graph assets• Split-view layout with collapsible sidebar• Characters tab for speaker and portrait workflows• Actions tab for registered and in-graph action management• Context tab for scene/environment authoring data• AI tab integration when the optional AI Extension is installed• Condition node editing• Set Variable node editing• Registered character, action, and variable reference fields• Format Layout tool for linked subgraphs• Reroute-friendly graph organization• Per-graph editor view-state persistence• Undo/redo-safe editing with toolbar buttons and shortcuts• Safe graph switching and auto-save on close• Validation panel with click-to-select issue navigationRuntime System• DialogManager runtime entry point• DialogUIController for UI presentation• Runtime text reveal effects through ITextRevealEffect• TypingRevealEffect• FadeInRevealEffect• WordRevealEffect• DialogueVariableStore for runtime state• DialogVariableSO reusable variable definitions• Variable text injection in dialogue and choices• Condition node branching from runtime variables• Set Variable node support for runtime state changes• Dialogue history/backlog support• Choice selection subsystem• EventSystem bootstrap• DialogSettingsRuntime loaded from Resources• DialogThemeSO runtime theming supportAction System• DialogActionSO definitions• DialogActionRunner• UnityEvent action support• Coroutine-based IActionHandler support• actionId• payloadJson• waitForCompletion• waitSeconds• Registered action lookup and editor helpersVariables and Conditions• Bool, int, float, and string runtime variables• DialogueVariableStore scene component• DialogVariableSO definition assets• Text tokens such as {playerName}, {gold}, and {hasKey}• Condition operators for Boolean, Integer, Float, and String values• Set, Add, Subtract, Toggle, and Clear String variable operations• Validation for unknown variables, type mismatches, invalid condition ports, and missing branchesJSON Workflow• Graph export• Graph import• GUID policy support• Safer import bridge• Structure validation before applying imports• Upgrade checks before applying imported data• Useful for backups, version control, and external workflowsInput Support• Keyboard• Mouse• Touch• Gamepad• XR-aware choice navigation• Compatible with Old Input Manager and New Input System project setupsOptional AI Extension Support• Core package works without AI services or API keys• Optional AI Extension support through bridge interfaces• Floating AI Assistant panel when the extension is installed• AI command presets when the extension is installed• Preview-first AI workflows handled by the extensionIncluded Sample Content• Sample graph assets• Demo scene with playable dialogue examples• Runtime UI prefabs• Choice button prefab• History/backlog panel• Character definitions• Action definitions• Variable definitions• Environment definitions• Theme definitions• Variable and condition showcase supportRequirements• Unity 2021.3 LTS or newer• Tested with Unity 2022.3 LTS• Verified with Unity 6 (6000.0.x)• TextMesh Pro• UGUI• Vector Graphics for editor icons• No third-party Asset Store package dependenciesRender Pipeline SupportThe system is UI/tooling focused and does not depend on render-pipeline-specific features. It works with Built-in, URP, and HDRP.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.)



