Version: 2023.2
Language : English
Debug generated C++ code
AppCallbacks class reference

WinRT API in C# scripts for UWP

You can use the WinRT API directly in Unity scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary
when you have Windows Runtime support enabled. For information on how to use the WinRT API and enable Windows Runtime support, refer to Windows Runtime support.

You need to meet the following requirements to use WinRT API in your Unity scripts:

  • Your scripts must be written in C#.
  • Your API compatibility level must be set to .NET 4.6 or .NET Standard 2.0 in the Player settingsSettings that let you set various player-specific options for the final game built by Unity. More info
    See in Glossary
    .
  • All the code that uses WinRT API must be under the ENABLE_WINMD_SUPPORT directive. This is necessary because the Editor uses Mono, which doesn’t support WinRT APIs.

This code example demonstrates how to get advertising using WinRT API directly:

using UnityEngine;
public class WinRTAPI : MonoBehaviour
{
    void Update()
    {
        auto adId = GetAdvertisingId();
        // ...
    }

    string GetAdvertisingId()
    {
        #if ENABLE_WINMD_SUPPORT
            return Windows.System.UserProfile.AdvertisingManager.AdvertisingId;
        #else
            return "";
        #endif
    }
}

Additional resources

Debug generated C++ code
AppCallbacks class reference