Reactive Unity UI.
Built in C#.
A reactive UI library for Unity. Compose native uGUI components, bind them to typed state, and let Pine handle updates and cleanup.
One source.
A living interface.
Read state inside a binding. Change it from a callback. Pine tracks the relationship.
Build the counter →Counter.cs
using Pine;
using UI = Pine.Pine;
var count = UI.Source(0);
using var mount = UI.Mount(() => UI.Column(
UI.Label(() => $"Count: {count.Value}"),
UI.Button("Increment", () => count.Value++)
));
Typed reactivity
Sources, derived values, effects, batching, and contexts. Explicit typed state and scoped bindings.
Native Unity UI
Compose uGUI and TextMeshPro components. Create the Canvas and input host from code.
Owned lifetimes
Scopes own bindings, callbacks, branches, and animations. Dispose a mount to release its UI.