UFlow - Declarative UI Toolkit Framework
Criminal Makers
$27.49
$54.99
50%OFF
(no ratings)
Jump AssetStore
UFlow is an opinionated UI framework built on top of UI Toolkit, inspired by Angular.**Important:** An intermediate understanding of C# programming and UI Toolkit is required to use this package.**Important 2:** Unity +6 is required to use this package.What is this about?UFlow works with a Template Engine, it allows you to Read a Variable, Add Loops and Conditionals, React to a Click, Call your Methods, all from your UXML file.Combined with signals, your interface updates itself whenever the underlying data changes. No Q(), no manual wiring, no refresh code.Sounds good? Check how it works:A side-by-side with Unity's data bindingDocumentationBattle tested: Our published game Super Infection: Massive Pathology , and other projects that we are creating uses this very same framework to handle its UI.Requirements & ContentsUnity 6 (6000.x) or newer. Developed and tested on Unity 6000.3 and 6000.5.Unity UI Toolkit (UXML and USS)Optional, Unity 6.5 or newer: world space panels through Unity's PanelRenderer. On every supported Unity version, screen space UI through UIDocument works as normal.The package ships one precompiled DLL, a Roslyn source generator and analyzer that runs inside the C# compiler at compile time, in the Editor and during builds. This precompiled DLL is not a runtime dependency, source code can be requested via email with invoice number.Features- Single MonoBehaviour entry point: Your whole UI runs from one `MonoBehaviour` (`UIHost`) — it owns the frame loop, the component tree and the static API. No `MonoBehaviour` per screen.- Three files per component: Each component is made of three pieces. UXML for the layout, C# for the logic and state, and USS for the styling (USS is optional).- Declarative UXML: Call methods or read variables from C# land. Using signals ensures full reactivity.- Encapsulation: The USS you write for a component stays scoped to that component's subtree, instead of leaking out globally.- Budgeted Lifecycles: Each component gets Start, Show, Hide and Destroy lifecycles, plus an Update. You can define a desired budget for the UI (for example 5ms), and each frame it's ensured that refreshing the tree won't last longer than the budget.Views that don't finish in time throw a warning and are still processed next frame.- Commands: Sometimes you need to call the UI from game logic — to show a popup or perform other actions. Flag any method with the `[Cmd]` attribute and UFlow generates a static action you can call.Important: you must ensure there is a single instance of that component.- Zero runtime reflection: All binding code is generated at compile time.- Compile-time safety: Every UXML expression is compiled to C# at build time, your UXML is checked by the compiler — a typo or a wrong type fails the build with a clear error instead of silently breaking at runtime.- Partial IDE autocomplete: via an auto-generated XSD schema.- Parent ↔ child communication using `[Param]` inputs and `[Output]` events.- Completely extendable: Create your custom directives and events by simply writing static methods with the appropriate attribute (`[UxmlDirective]`, `[UxmlEvent]`).- Batteries included: All Unity events and attributes included to be reactive with {{ }} syntaxSource code. The C# runtime framework, the Roslyn source generator that compiles UXML into C#, and the Editor tooling were written with AI assistance. All of it was directed, reviewed, edited and tested by a human developer, and it is validated by an internal automated test suite of roughly 850 test cases (source generator unit tests plus Unity EditMode and PlayMode tests) that runs against every release.Documentation. The 25 Markdown documentation pages that ship inside the package, plus the README and the CHANGELOG, were drafted with AI assistanceExample content. The ten example scenes, their components, UXML, USS and per example READMEs were produced the same way, and every example was run and verified by hand in the Editor.




