Version: 5.6
AppCallbacks クラス
WSA Player Settings

Windows ストアアプリ: C# スクリプトの WinRT API

Unity のスクリプトから直接 WinRT API を扱うことが可能です。しかしそれには次のような制限と要件があります:

  • スクリプトは C# で書かれている必要があり、UnityScript からは WinRT API は扱えません
  • スクリプトは Mono でなく Microsoft のコンパイラでコンパイルされていなければなりません。この要件を満たすには compilation overrides を Use .NET CoreUse .NET Core Partially に設定します。後の方のケースのスクリプトは PluginsStandard Assets フォルダーには 配置できません
  • 理由としては同じスクリプトのコードが Mono を使っている Unity エディターにも使用されるためで、すべての WinRT API を使用するコードは NETFX_CORE define 下になければなりません
  • Universal Windows 10 API を使用したい場合は、 WINDOWS_UWP define を使用してください。

注意: NETFX_COREWINDOWS_UWP は Visual Studio によって Windows ストアアプリのコンパイル時に define され、C# コードのために使用されるもので、Unity スクリプトに限定されたものではありません。

次の例では WinRT API を直接使用して広告を取得しています。

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

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

[注]現時点では、これは .NET Scripting Backend のみでの対応となっています。

AppCallbacks クラス
WSA Player Settings