CLI tool
unoplatform/uno avatar
unoplatform/uno

Uno Platform: One C# and XAML Codebase for Mobile, Web, Desktop, and Embedded Targets

Open-source platform for building cross-platform native Mobile, Web, Desktop, and Embedded apps from a single C#/XAML codebase. Work from any IDE/CLI with Hot Reload, Visual Designer, MCPs, and Skills built for modern .NET workflows. 200M+ NuGet downloads. Desktop (Windows, macOS & Linux): Uno Platform uses Skia for rendering across all desktop platforms, ensuring high-performance, hardware-accelerated graphics and a

10,053 stars882 forksC#Apache-2.0

At a glance

What is it?
Uno Platform maps the WinUI 3 API to iOS, Android, WebAssembly, and desktop shells, with Skia rendering for non-Windows targets. It is a serious option for teams already invested in C# and XAML, but the breadth of targets comes with trade-offs in tooling maturity and platform-specific behavior.
Who is it for?
Adopt Uno Platform if your team already knows C# and XAML and must ship to multiple mobile, desktop, and WebAssembly targets from a single codebase. Do not adopt it if you need pixel-perfect native look and feel on every platform, because the unified Skia renderer trades native fidelity for consistency.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Uno Platform Actually Solves

Uno Platform addresses a specific pain: teams that want to reuse C# and XAML skills across platforms without learning Swift, Kotlin, or JavaScript. The project implements the WinUI 3 API surface on top of each target platform. That means a XAML layout written once can run as a native iOS app, an Android app, a WebAssembly page, and a desktop app on Windows, macOS, and Linux. The README states that the UI is rendered either through a unified Skia engine or through native controls on iOS and Android. This is not a wrapper that embeds a web view. It is a real UI framework with its own rendering pipeline. The intended audience is clearly existing .NET developers, especially those who have already built Windows apps with XAML and want to broaden their reach without a full rewrite.

The Rendering Architecture: Skia vs Native Controls

Uno Platform gives you two rendering strategies, and choosing between them is the first architectural decision you will make. The unified Skia engine draws your UI on a canvas. This gives consistent visuals across desktop platforms and WebAssembly, because the same code paths run everywhere. On Windows, Skia runs inside a Win32 shell. On macOS it uses an AppKit shell with Metal when available. On Linux it uses X11 or a framebuffer. The advantage is that you do not have to worry about platform-specific layout quirks. The trade-off is that your UI will not look or feel native on any platform. It will look like an Uno app, not a macOS app or a Linux app.

Getting Started: Commands and Project Creation

The quick start in the README is minimal, but it gives the essential steps. First, you run the Uno.Check command-line tool. This checks your environment, installs required workloads, and configures dependencies. The README does not give the exact command, but the tool is named Uno.Check and is part of the standard setup. After that, you create a new project using the Template Wizard in your IDE or via the command line. The README does not list the dotnet new template names, but you can find them in the official documentation. The supported IDEs are Visual Studio, JetBrains Rider, and Visual Studio Code, on Windows, macOS, or Linux.

The AI Studio Layer: MCPs, Hot Design, and Skills

Uno Platform is not just a UI framework. The README describes an entire ecosystem called Uno Platform Studio. This includes a browser-based app that can generate a working app from a prompt, an AI agent that understands Uno, and a runtime visual designer called Hot Design. There is also design-to-code export from Figma. The agent ships 70-plus Uno-specific skills through a plugin for Claude Code, GitHub Copilot, and OpenAI Codex. It also provides two MCPs: Uno MCP for accessing docs and APIs, and App MCP for interacting with a live running app.

Where Uno Platform Falls Short

The biggest limitation is that Uno Platform is not a drop-in replacement for WinUI. The README says it uses the WinUI 3 API surface, but it does not implement every single control or behavior. Some WinUI controls may not exist or may behave differently on non-Windows targets. The README mentions 'hundreds of UI components from WinUI' and third-party vendors, but it does not claim 100% parity. You will likely encounter edge cases where a control renders fine on Windows but looks wrong on Linux or WebAssembly.

Comparing with .NET MAUI and Avalonia

Uno Platform is not the only cross-platform .NET UI framework. The most direct comparison is .NET MAUI, which is Microsoft's official cross-platform framework. MAUI uses native controls on each platform, so your app looks native on iOS and Android out of the box. But MAUI does not support WebAssembly, and it has no embedded Linux target. If you need WebAssembly, Uno is a stronger choice. MAUI also has a different API surface, closer to Xamarin.Forms than WinUI. If you are coming from WPF or UWP, WinUI-style XAML in Uno will feel more familiar.

Licensing, Maintenance, and Upgrade Costs

The core Uno Platform framework is licensed under Apache-2.0, which is permissive and business-friendly. You can use it in commercial products without paying royalties. The README notes that the project has over 300 contributors and is used by enterprises like Toyota and Microsoft, but you should not rely on star counts or contributor numbers as a quality signal. What matters is the release cadence: the latest release is 6.6.184, with several releases in the same month, indicating active maintenance.

Editorial conclusion

Adopt Uno Platform if your team already knows C# and XAML and must ship to multiple mobile, desktop, and WebAssembly targets from a single codebase. Do not adopt it if you need pixel-perfect native look and feel on every platform, because the unified Skia renderer trades native fidelity for consistency. Before committing, verify that the specific WinUI controls and third-party libraries your app depends on have Uno-compatible implementations, and test the Skia rendering path on your least common target (especially Linux or embedded) early in the cycle. The project is actively maintained with regular releases, but the AI-driven Studio tools are separate products with their own licensing, so check those costs separately.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes