dotnet new templates for Uno Platform

The Uno Platform provides a set of command-line templates to create cross-platform applications.

To install the templates, type the following:

dotnet new install Uno.Templates

To determine all parameters available for a template use dotnet new [templatename] -h.

Important

Installing the templates is done per dotnet CLI version. Meaning that the templates are installed for the version shown by dotnet --version. If you tried to use the templates with a version different than the one you used for installing, you'll get "No templates found matching: ''." error.

This is common when using global.json that alters the .NET CLI/SDK version. Specifically, it's common for the UI Test template.

Check your developer environment

  1. Open a command-line prompt, Windows Terminal if you have it installed, or else Command Prompt or Windows Powershell from the Start menu.

  2. Setup uno.check by installing or updating the tool with:

    dotnet tool update -g uno.check
    
  3. Run the tool from the command prompt with the following command:

    uno-check
    

    You can optionally add the --target desktop --target web (or ios, android, windows) parameters based on your intended development platforms.

  4. Follow the instructions indicated by the tool.

You can find additional information about uno-check here.

Uno Platform Application

This template can be used to create a multi-platform application for iOS, Android, WebAssembly, Linux, and Win32 Desktop, which uses the new WinUI 3 APIs.

Tip

To create a new Uno Platform app and browse all the capabilities of the template, head to our Live Wizard to create a dotnet new command line. For a detailed overview of the Uno Platform project wizard and all its options, see the Wizard guide.

It comes with the Blank and Recommended presets.

To create a blank template, using minimal dependencies:

dotnet new unoapp -preset=blank -o test

To create from a recommended template using Uno.Extensions:

dotnet new unoapp -preset=recommended -o test
Note

Starting with Uno.Sdk 6.0, Skia rendering is now the default rendering engine in Uno Platform templates for iOS/Android/WebAssembly. If you prefer native rendering instead, you can use the -renderer native parameter.

More articles on WinUI 3:

Uno Platform Blank library

This template can be used to create a blank library. With this type of library, Skia and WebAssembly do not need to be built separately, but cannot be differentiated.

A basic example:

dotnet new unolib -o MyUnoLib

Uno Platform MAUI Embedding Class Library

This template can be used to create a .NET MAUI Controls library to embed within your Uno Platform app.

A basic example:

dotnet new unomauilib -o MyMauiEmbeddingLibrary

Uno Platform Uno.UITest library

This template creates a project for creating and running UI Tests based on Uno.UITest.

Considering you've created an application with dotnet new unoapp -o MyApp, you can then create a UI Tests library with these steps:

  • Create a folder name MyApp\MyApp.UITests
  • In that folder, run dotnet new unoapp-uitest

This will automatically add the new project to the existing solution.

For additional information about UI Tests creation, visit the Uno.UITest documentation.

Uninstalling the templates

Using a command line or terminal, run the following command:

dotnet new uninstall Uno.Templates
Tip

If you’re running into issues, start by checking our common issues list and the Uno Platform health status.

You can also verify whether there is an ongoing outage affecting Uno Platform online services at: https://status.platform.uno/

If you still need help, reach out via our GitHub Discussions or join our Discord server, where both the engineering team and the community are available to assist you.