docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Introduction to Graph Toolkit

    Warning

    This is an experimental package that's not meant for production use. The features and documentation in this package might change before it's verified for general release.

    This document provides an overview of the Unity Graph Toolkit. It covers the purpose, target audience, value proposition, scope, and limitations.

    Purpose

    Graph Toolkit provides a comprehensive framework for developing node-based tools within the Unity Editor. It enables you to create your own graph tool with custom nodes while providing all the UI components for adding, connecting, and manipulating these nodes on a canvas. This allows you to focus on implementing domain-specific functionality rather than handling UI concerns.

    A Graph Toolkit graph instance opened in the graph editor window

    Target audience

    Graph Toolkit targets Tools Programmers who:

    • Create tools that enable non-technical teammates to build game systems codelessly
    • Need to establish visualization and logic flow systems
    • Require standard approaches to creative problem-solving
    • Want to reduce bottlenecks in the development pipeline

    The framework best serves developers who need to create specialized graph-based tools that allow designers, artists, and other team members to work independently without constant programmer intervention.

    Value proposition

    Graph Toolkit delivers three core benefits:

    Development efficiency

    • Inherit ready-made features: node/wire manipulation, asset management, and standard editing operations
    • Focus on domain-specific functionality rather than graph infrastructure
    • Reduce development time by leveraging built-in UI components and interaction patterns

    Consistent user experience

    • Provide familiar interface patterns across different graph tools to reuse muscle memories and reduce user cognitive load
    • Implement Unity UI and UX guidelines automatically
    • Maintain coherent behaviors for common operations (selection, navigation, editing)

    Comprehensive editing features

    • Blackboard for variable management
    • Visual navigation through minimap
    • Graph inspector for property editing
    • Subgraph support for complex hierarchies
    • Undo/redo functionality for graph changes
    • Support for missing node types with graceful degradation

    You can find more about these features in the Features section.

    Scope and limitations

    What Graph Toolkit provides

    • Editor-time graph creation and manipulation
    • UI components based on Unity's UI Toolkit
    • Node and connection visualization system
    • Standard interaction patterns and manipulators
    • Customizable nodes

    What Graph Toolkit doesn't Provide

    • Runtime graph execution backend
    • Runtime rendering of graph UI (for example, in-game / in-application graphs that players can interact with in builds)
    • Application-specific node implementations

    Graph Toolkit is a frontend framework focused on the authoring experience. While it supports compilation to runtime models, it doesn't include runtime execution backends. You will need to implement domain-specific runtime solutions for your particular use case.

    Note

    To refer to a practical example of how a Graph Toolkit graph can drive runtime behavior, check out the Visual Novel Director sample.


    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Purpose
    • Target audience
    • Value proposition
      • Development efficiency
      • Consistent user experience
      • Comprehensive editing features
    • Scope and limitations
      • What Graph Toolkit provides
      • What Graph Toolkit doesn't Provide
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)