Version: 2020.3
Getting Started
Getting started with Universal Windows Platform

Integrating Unity into UWP applications

You can use the Unity as a Library feature to integrate the Unity Runtime Library in Universal Windows PlatformAn IAP feature that supports Microsoft’s In App Purchase simulator, which allows you to test IAP purchase flows on devices before publishing your application. More info
See in Glossary
(UWP) applications.

This integration enables you to include Unity-powered features in your UWP application, such as:

  • 3D/2D real-time rendering
  • ARAugmented Reality (AR) uses computer graphics or video composited on top of a live video feed to augment the view and create interaction with real and virtual objects.
    See in Glossary
    experience
  • 3D model interaction
  • 2D mini-games

See Using Unity as a Library in other applications.

The Unity Runtime Library exposes API controls to manage when and how to load, activate, and unload content within another UWP application.

To integrate the Unity Runtime Library into a UWP application, complete these steps:

  1. Open File > Build Settings.
  2. In the Universal Windows Platform tab, select Build Type > XAML.
  3. Build your project.

Unity creates a Visual Studio project, which you can use to embed the Unity Runtime Library into another UWP application. The project is a general XAML UWP project in the form of MainPage.xaml file which contains a SwapChainPanel setup to load the Unity project. You can extend or replace this project with any other non-Unity application business logic. Note: The MainPage.xaml file is only present if you’re building a UWP app using the XAML build type from the Unity editor.

When using a SwapchainPanel, Unity renders over other elements. This enables you to render a small object with a transparent background on top of other non-Unity application content. To do this, enable the PlayerSettings.WSA-transparentSwapchain option. You can unload the Unity engine to reclaim resources when Unity loads up with Application.Unload.

Limitations

If you use another application to host your Unity build, Unity won’t control the runtime lifecycle, in which case your build might not work. You must also be aware of the following known limitations:

  • You can’t load more than one instance of the Unity runtime, or integrate more than one Unity runtime.
  • You might need to adapt your native and managed plug-insA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
    See in Glossary
    to work properly.
Getting Started
Getting started with Universal Windows Platform