Goo 0.27.3
See the version list below for details.
dotnet add package Goo --version 0.27.3
NuGet\Install-Package Goo -Version 0.27.3
<PackageReference Include="Goo" Version="0.27.3" />
<PackageVersion Include="Goo" Version="0.27.3" />
<PackageReference Include="Goo" />
paket add Goo --version 0.27.3
#r "nuget: Goo, 0.27.3"
#:package Goo@0.27.3
#addin nuget:?package=Goo&version=0.27.3
#tool nuget:?package=Goo&version=0.27.3
Goo
A retained UI framework for G#, rendered directly with Vulkan.
Goo applications describe UI as ordinary G# objects. Goo retains mounted state, rebuilds only dirty Cell boundaries, lays out with Yoga, and renders through Vulkan 1.3.
Quick start
Install the .NET 10 SDK and meet the platform requirements, then:
dotnet new install Goo.Templates@0.27.3
dotnet tool install --global Goo.DevTools
dotnet new goo -n HelloGoo
cd HelloGoo
goo dev
The template restores the G# compiler from NuGet automatically. The generated counter runs with hot reload. A separate SDL or HarfBuzz installation is not required.
Custom <GooShaderEffect> source needs the
shader tools.
Example
package CounterApp
import Goo
class Counter : Cell {
private var count int32
override func Build() Blob -> Container{
Width: Percent(100),
Height: Percent(100),
Padding: 24,
Gap: 12,
BackgroundColor: Color.Rgb(24, 31, 43),
Text{Content: "Count: $count", FontSize: 24, Color: Color.White},
Button{
Padding: 10,
BorderRadius: 10,
BackgroundColor: Color.Rgb(74, 125, 255),
OnClick: () -> {
count++
},
Text{Content: "Add one", Color: Color.White},
},
}
}
func Main() {
Window.ConfigureApplication("Goo starter", "1.0.0", "com.example.goostarter")
Window{Title: "Goo starter", Width: 360, Height: 220, Root: Counter{}}.Run()
}
Cell owns local state. Event handlers invalidate their owning Cell automatically, so changing count rebuilds only this component.
Platforms
Goo ships runtime assets for Windows x64, Linux x64, macOS arm64, Android ARM64, and Android x64. The renderer requires the Vulkan 1.3 feature set used by Goo.
- Windows x64 is tested on Windows 11 with current vendor Vulkan drivers. The minimum supported Windows version is not yet established.
- Linux x64 requires Linux 6.6 or newer, glibc 2.27 or newer, a native Wayland 1.18 or newer session, and a TrueType or OpenType sans-serif font. X11 and XWayland are not supported.
- macOS arm64 requires macOS 14 or newer on Apple silicon. Goo bundles MoltenVK 1.4.2 and selects installed Apple system fonts without requiring a Vulkan SDK.
- Android requires Android 13 (API 33) or newer and a Vulkan 1.3 device with
identity presentation support. Add the
Goo.Androidadapter to host the same Window and Cell application in an Android activity or native view.
Further reading
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Hexa.NET.SDL3 (>= 1.2.17)
- Tmds.DBus.Protocol (>= 0.95.1)
- Unicode.Bidi (>= 0.3.18)
NuGet packages (15)
Showing the top 5 NuGet packages that depend on Goo:
| Package | Downloads |
|---|---|
|
Goo.Widgets
Composable, customizable widgets for Goo desktop applications, grouped by category. |
|
|
Goo.Android
Android presentation and input adapter for Goo's shared Vulkan UI runtime. |
|
|
Goo.Svg
Optional runtime SVG loading for Goo. |
|
|
Goo.Audio
Optional UI cues and bounded audio primitives for Goo. |
|
|
Goo.Animations
Reusable animation factories and patterns for Goo Motion. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.31.0 | 0 | 11/14/2026 |
| 0.30.0 | 88 | 11/11/2026 |
| 0.29.1 | 112 | 11/8/2026 |
| 0.29.0 | 252 | 11/8/2026 |
| 0.28.7 | 129 | 11/7/2026 |
| 0.28.6 | 182 | 11/7/2026 |
| 0.28.5 | 81 | 11/7/2026 |
| 0.28.4 | 111 | 11/7/2026 |
| 0.28.3 | 163 | 11/6/2026 |
| 0.28.2 | 153 | 11/6/2026 |
| 0.28.1 | 134 | 11/5/2026 |
| 0.27.11 | 154 | 11/5/2026 |
| 0.27.10 | 82 | 11/4/2026 |
| 0.27.9 | 82 | 11/4/2026 |
| 0.27.8 | 96 | 11/4/2026 |
| 0.27.7 | 81 | 11/3/2026 |
| 0.27.6 | 79 | 11/3/2026 |
| 0.27.5 | 235 | 11/3/2026 |
| 0.27.4 | 86 | 11/3/2026 |
| 0.27.3 | 74 | 11/3/2026 |
See the packaged CHANGELOG.md for the changes, supported surface, and limitations of this release.