# ceres | AkiKurisu | Knowledge Base | Instagit

Powerful visual scripting toolkit for Unity inspired from Unreal Blueprint.

GitHub Stars: 120

Repository: https://github.com/akikurisu/ceres

---

## Articles

### [FlowGraphObject vs FlowGraphInstanceObject: Understanding Container Differences in Ceres](/akikurisu/ceres/what-is-the-difference-between-flowgraphobject-and-flowgraphinstanceobject-containers)

Understand the difference between FlowGraphObject and FlowGraphInstanceObject in Ceres. Learn how FlowGraphObject embeds graph data and FlowGraphInstanceObject references an external asset.

- Tags: deep-dive
- Published: 2026-02-24

### [APIUpdateConfig: How Ceres Handles Breaking Changes in Serialized Graphs](/akikurisu/ceres/how-does-apiupdateconfig-handle-breaking-changes-between-ceres-versions)

Learn how Ceres APIUpdateConfig manages breaking changes in serialized graphs with its redirection tables for seamless node variable and assembly updates during deserialization.

- Tags: internals
- Published: 2026-02-24

### [How to Use the ResolveReturn Attribute for Generic Type Resolution in Ceres Flow](/akikurisu/ceres/how-do-i-use-the-resolvereturn-attribute-for-generic-type-resolution)

Dynamically resolve generic return types at runtime using Ceres Flows ResolveReturn attribute. Learn how to use this feature for accurate output port display in the graph editor.

- Tags: how-to-guide
- Published: 2026-02-24

### [How the Topological Sort Algorithm Calculates Node Dependency Paths in Ceres](/akikurisu/ceres/how-does-the-topological-sort-algorithm-calculate-node-dependency-paths)

Discover how Ceres uses topological sort to calculate node dependency paths. Learn about dependency matrices, cycle detection, and O(1) lookups for efficient computation.

- Tags: internals
- Published: 2026-02-24

### [How to Configure Flow Settings and Always Included Assemblies in Ceres Project Settings](/akikurisu/ceres/how-do-i-configure-flow-settings-and-always-included-assemblies-in-project-settings)

Learn to configure Flow Settings and Always Included Assemblies in Ceres Project Settings Unity. Enable reflection logging and define assembly patterns for efficient scanning.

- Tags: how-to-guide
- Published: 2026-02-24

### [How Relay Nodes Get Flattened During Serialization in Ceres for Optimization](/akikurisu/ceres/how-do-relay-nodes-get-flattened-during-serialization-for-optimization)

Learn how Ceres optimizes relay nodes through serialization flattening, replacing indirect connections with direct edges for accurate graph reconstruction.

- Tags: internals
- Published: 2026-02-24

### [Understanding the Relationship Between CeresNode, CeresPort, and CeresGraph in Unity Workflows](/akikurisu/ceres/what-is-the-relationship-between-ceresnode-ceresport-and-ceresgraph)

Uncover the connection between CeresNode, CeresPort, and CeresGraph in Unity workflows. Learn how CeresGraph orchestrates nodes and ports for efficient data-flow execution.

- Tags: deep-dive
- Published: 2026-02-24

### [How to Use FlowGraphFunctionAsset to Create Reusable Local Functions in Ceres](/akikurisu/ceres/how-do-i-use-flowgraphfunctionasset-to-define-reusable-local-functions)

Learn to use FlowGraphFunctionAsset in Ceres to create reusable local functions by storing subgraphs as ScriptableObjects for modular visual scripting in Unity.

- Tags: how-to-guide
- Published: 2026-02-24

### [How Type Preservation Prevents Code Stripping in Unity IL2CPP Builds](/akikurisu/ceres/how-does-type-preservation-work-to-prevent-code-stripping-in-il2cpp-builds)

Discover how type preservation stops IL2CPP code stripping in Unity builds. Learn how link.xml ensures vital code isn't removed, keeping your project functional and stable.

- Tags: internals
- Published: 2026-02-24

### [How to Create Custom Function Libraries Using ExecutableFunctionLibrary in Ceres](/akikurisu/ceres/how-do-i-create-custom-function-libraries-using-executablefunctionlibrary)

Learn to create custom function libraries in Ceres using ExecutableFunctionLibrary. Annotate static methods with ExecutableFunction for automatic runtime registration via source generators.

- Tags: how-to-guide
- Published: 2026-02-24

### [IL Post Process (ILPP) in Unity: How Ceres Eliminates Runtime Reflection for Maximum Performance](/akikurisu/ceres/what-is-the-il-post-process-ilpp-and-how-does-it-enhance-runtime-performance)

Learn how IL Post Process in Unity eliminates runtime reflection for peak performance. Ceres uses this compilation hook for faster initialization and optimized code.

- Tags: performance
- Published: 2026-02-24

### [How FlowGraphTracker Enables Advanced Debugging and Execution Tracking in Ceres](/akikurisu/ceres/how-does-flowgraphtracker-enable-advanced-debugging-and-execution-tracking)

Learn how FlowGraphTracker in Ceres enables advanced debugging and execution tracking via a pluggable hook system. Monitor and profile Ceres Flow Graphs easily.

- Tags: deep-dive
- Published: 2026-02-24

### [How to Create Port Arrays Using IPortArrayNode for Dynamic Connections in Ceres](/akikurisu/ceres/how-do-i-create-port-arrays-using-iportarraynode-for-dynamic-connections)

Learn to create port arrays in Ceres using IPortArrayNode for dynamic connections. Expose array fields and manage length for flexible node graph editing.

- Tags: how-to-guide
- Published: 2026-02-24

### [Understanding the Ceres Port System and NodePort References in Ceres Graphs](/akikurisu/ceres/what-is-the-ceresport-system-and-how-do-nodereference-ports-work)

Explore the Ceres Port system for typed data containers and learn how NodePort references enable runtime node resolution without garbage collection issues.

- Tags: deep-dive
- Published: 2026-02-24

### [How the Ceres Source Generator Uses Partial Classes and GenerateFlowAttribute](/akikurisu/ceres/how-does-the-source-generator-work-with-partial-classes-and-generateflowattribute)

Discover how the Ceres source generator uses partial classes and GenerateFlowAttribute to automatically implement IFlowGraphContainer and IFlowGraphRuntime interfaces, merging code seamlessly at compile time.

- Tags: internals
- Published: 2026-02-24

### [How Ceres Achieves Near-Native Performance with IL2CPP Optimization for Function Calls](/akikurisu/ceres/how-does-the-il2cpp-optimization-achieve-near-native-performance-for-function-calls)

Discover how Ceres uses IL2CPP optimization to achieve near-native performance for function calls in Unity. Learn about native method pointer resolution and unmanaged function pointers for C++ level performance.

- Tags: performance
- Published: 2026-02-24

### [How to Create and Use Generic Nodes in Ceres Flow Visual Scripting](/akikurisu/ceres/how-do-i-create-and-use-generic-nodes-in-flow-visual-scripting)

Learn how to create and use generic nodes in Ceres Flow visual scripting. Define generic classes and implement templates to effectively manage type arguments and build complex workflows.

- Tags: how-to-guide
- Published: 2026-02-24

### [Understanding the Blackboard System and SharedVariables in Ceres](/akikurisu/ceres/what-is-the-blackboard-system-and-how-do-sharedvariables-interact-with-it)

Learn about the Blackboard system in Ceres, a global storage for SharedVariables that facilitates data exchange between any nodes and graphs. Understand its core functionality.

- Tags: deep-dive
- Published: 2026-02-24

### [How Hot Reload Works with FlowGraphObject in Play Mode](/akikurisu/ceres/how-does-hot-reload-work-with-flowgraphobject-in-play-mode)

Discover how hot reload functions with FlowGraphObject in play mode. Learn about its runtime instance tracking, asset monitoring, and atomic instance swapping without GameObject destruction.

- Tags: internals
- Published: 2026-02-24

### [How to Debug Flow Graphs with Breakpoints and Step-by-Step Execution in Ceres](/akikurisu/ceres/how-do-i-debug-flow-graphs-with-breakpoints-and-step-by-step-execution)

Debug Ceres Flow Graphs visually with breakpoints or programmatically using FlowGraphTracker for step-by-step execution control, logging, and profiling.

- Tags: how-to-guide
- Published: 2026-02-24

### [How to Implement Custom Events Using ImplementableEventAttribute in Ceres](/akikurisu/ceres/how-do-i-implement-custom-events-using-the-implementableeventattribute)

Learn to implement custom events with ImplementableEventAttribute in Ceres. Generate graph-editable nodes for visual scripting and runtime event integration.

- Tags: how-to-guide
- Published: 2026-02-24

### [Forward vs Dependency Execution Paths in Ceres Flow: A Complete Guide](/akikurisu/ceres/what-is-the-difference-between-forward-and-dependency-execution-paths-in-flow)

Understand Ceres Flow execution paths. Learn the difference between Forward and Dependency execution in this complete guide to optimize your data flow processing.

- Tags: deep-dive
- Published: 2026-02-24

### [How to Create Custom Executable Nodes with ExecutableFunctionAttribute in Ceres Flow](/akikurisu/ceres/how-do-i-create-custom-executable-nodes-with-the-executablefunctionattribute)

Learn how to create custom executable nodes using ExecutableFunctionAttribute in Ceres Flow. Transform C# methods into discoverable visual scripting nodes easily.

- Tags: how-to-guide
- Published: 2026-02-24

### [How CeresGraph Compilation and Runtime Initialization Works: A Deep Dive into the JIT Pipeline](/akikurisu/ceres/how-does-ceresgraph-compilation-and-runtime-initialization-work)

Explore the CeresGraph JIT pipeline for efficient compilation and runtime initialization. Understand how serialized graphs become executable objects using pooled compilers and lazy evaluation.

- Tags: deep-dive
- Published: 2026-02-24

