Flow Core — Strongly-Typed, Production-Ready Visual Scripting + Flow/FSM/BT Graph FrameworkTwo Cats Code | Online Documentation | Demo | Discord | Unity Asset-Store | Feature Request | Bug Report | Discussions🕹️ Demo Provided.Flow Core is a production-grade, strongly-typed visual scripting system and universal graph framework for Unity. Build serious Flow / FSM / Behavior Tree logic with Stack-based mode management, built-in searchable knowledge system, one-click node generation, deep call-chain debugging, and predictable low-GC runtime.✅ Stack System: production-grade mode/state layering (Push/Pop/Pause/Resume) — no more state spaghetti✅ Flow Knowledge: built-in searchable wiki for 7000+ entries — find the right node in seconds✅ Predictable Performance: Pooling + Runtime Cost visibility — low-GC graphs that actually shipVisual scripting isn’t hard to make. It’s hard to ship.Most node tools build prototypes fast—but real projects die from maintenance debt, debugging blind spots, runtime unpredictability, and performance surprises.Flow Core is built for shipping. It brings code-level discipline into graphs: strongly-typed dataflow, inspectable execution paths, engineering-grade debugging, and a performance-first runtime design.Now with Stack-based mode management and Flow Knowledge, Flow Core scales better as your project grows—without turning your graphs into archaeology.Features✅ Stack System: Mode/State Layering Done RightA production-grade stack mechanism for layered gameplay/app modes:Push/Pop/Pause/Resume/Update lifecycle designed for predictable behaviorOnly the top layer updates (others pause) — perfect for overlays and modal contextsConfigurable policies: Busy handling, interrupt behavior, overflow mode, guard rulesIdeal for Pause/Menu/Dialogue/Tutorial overlays, input context overrides, VR training phases, and “temporary sub-modes”✅ Pooling: Low-GC Execution for High-Frequency Graph LogicIn visual scripting, the most common performance killer isn’t computation—it’s allocations and GC spikes. Flow Core includes/supports a Pooling mechanism to reuse high-frequency temporary objects and data, reducing runtime jitter and making behavior more predictable in production.Reuse temporary objects/data structures to minimize per-frame allocationsReduce GC spikes so graphs remain stable under high tick rates and heavy concurrencyComplements Runtime Cost visibility: measure bottlenecks → pinpoint hotspots → reduce jitter with poolingIdeal for high-frequency event flows, BT ticking, real-time input, sensing/perception pipelines, and VR training flows✅ Flow Knowledge: Built-in Searchable Wiki for Your Node EcosystemWhen you have thousands of nodes, “more nodes” isn’t the solution. Findability is.Built-in searchable knowledge system (nodes / instructions / conditions / types)See signatures, categories, IDs, sources, and assembly info instantlyWorks great for onboarding teams and scaling large projectsTurns “node overload” into a productivity advantage✅ Strong Typing: Graphs that behave like real codeStrongly-typed ports and connections reduce silent type mistakesVariables and Blackboards follow clear type contractsStable Scene Targeting in Blackboard — survives renames, moves, Save/LoadLess time chasing “it’s connected but wrong” bugs✅ One-Click Node Generation: Turn your C# API into node commandsAutomatically generate node commands from your custom data and methodsRemedial Codegen — Fix Missing Types Automatically. Keep Shipping.Scale without writing endless glue codeAdd it late in development—without rewriting your project✅ Serious Debugging: Stop guessing the dataflow and call orderVisual call-chain / execution-path tracingLive (or semi-live) value inspection with debug contextClear diagnostics for missing keys, type mismatches, invalid links, and moreA workflow closer to “breakpoints + call stack + watch” than typical node tools✅ Multi-Blackboard Support: Real-world data managementReference multiple blackboards for layered contexts (global/local/module)Great for modular systems and team workflowsKeep data structured instead of turning everything into globals✅ Performance Philosophy: Predictable, low-GC, scalableRuntime design prioritizes minimizing (near to zero) reflection and allocationsZero boxing/unboxing where it mattersRuntime cost visibility (e.g., execution cost trends) to guide optimization✅ Universal Graph Framework: Not just FlowSupport Flow / FSM / BT / (GOAP soon) and your own custom graph typesExtensible graph + node architecture (you’re not locked into one style of logic)Build “your graphs” with one consistent editor philosophyUse CasesGameplay logic & event orchestration: skills, interactions, quests, combat flowsAI systems: FSM, behavior trees, branching logic, perception/decision pipelinesTooling & content pipelines: procedural setups, UGC editors, workflow automationVR/AR logic: input, gestures, mode switching, training flows, device statesSimulation & research: traceability and reproducibility that teams can trustWhy Flow Core (and not “just another node editor”)In real projects, teams don’t fail because they can’t connect nodes. They fail because:Graphs get big and maintenance becomes archaeologyBugs appear and there’s no call stack—debugging becomes guessworkReflection/allocations pile up and shipping becomes a gambleCollaboration turns variables into spaghetti and changes ripple unpredictablyFlow Core flips the priorities:Maintainability, debuggability, and runtime predictability are first-class features—not afterthoughts.Quick Start WorkflowCreate a Graph asset (Flow / FSM / custom graph type)Bind one or more Blackboards (global/local/module contexts)Use the Node Generator to convert your C# API into nodesConnect logic, run, and open debug views to trace call chains and inspect valuesScale with your project: add nodes, add graph types, refine data layers, extend UIQuick TipsTo run the example:Make sure the Addressable is up-to date.Enable the old input system or use both.Api Compatibility Level is .Net Framework.Go to the folder “Assets/Plugins/TwoCatsCode/FlowCore/Examples/Commons”, and check the “Addressable” in the Cuba A and B.CompatibilityUnity: Designed for modern Unity versions (Unity 6+, )Builds: Intended for production builds including IL2CPPPlatforms: Works across all common Unity targets (project/SDK dependencies may vary)What’s IncludedFlow Core RuntimeFlow Core EditorNode GeneratorDocumentation (quick start, extension guide, debugging guide, best practices)Source code + asmdefGenerative AI was used as an assistive tool during the development of this project. AI support contributed primarily to low-level implementation tasks, including drafting and refining certain low-level methods, code review and performance/optimization suggestions, debugging assistance, and the writing/editing of user documentation and manuals. All high-level design and core engineering decisions were led and made by humans, including the project concept and direction, overall architecture and framework design, key data structures, dataflow, scheduling mechanisms, execution strategy, and call-chain/runtime behavior design. AI outputs were treated as suggestions only; all integrated code and final materials were reviewed, validated, and approved by human developers who retain full responsibility for the final deliverables.




