このページでは、Windows ストア アプリ(WSA)に関する Player Settings について詳述します。Player Settings 全般に関する説明は プレイヤー設定を参照してください。
これらの設定のほとんどは Visual Studio ソリューションの初作成時に Package.appxmanifest へ送られます。
注: 既存のプロジェクトの上にプロジェクトを構築した場合、既存の Package.appxmanifest ファイルがあっても Unity はその上書きは行いません。したがって、Player Settings で何かを変更した場合には必ず Package.appxmanifest を確認してください。Package.appxmanifest ファイルを再生成したい場合は、それを削除し、Unity からプロジェクトを再構築してください。
App package manifest についての詳細は、次のリンクをご参照ください。http://msdn.microsoft.com/en-us/library/windows/apps/br211474.aspx
Packaging、Application UI、Tile、Splash screen、Capabilities の設定は、そのまま Package.appxmanifest ファイルの設定に反映されます。
プレイヤー設定から サポートしている画面の向き もマニフェスト(Visual Studio ソリューションの Package.appxmanifest ファイル)へと書き込むことができます。Windows 8.1 (ストアと Phone の両方)では、この処置は実行されず、Unityは現在の向きを使ってアプリを起動します。ですので、Unityが初期化を行う前にコードによってアプリケーションの向きを変更しなければいけません。Windows 10 ユニバーサルアプリでは、マニフェストに設定された値に関係なくプレイヤー設定の値を使用して画面の向きを設定することができます。Windows 自体がデスクトップとタブレットの設定を無視してしまうためです。また、UnityのスクリプトAPIで画面の向きはいつでも変更することができます。
すべての Windows ストア アプリは、開発者を識別する証明書を必要とします。ご自身でこれを提供されない場合は、Unity がデフォルトの証明書を作成します。
Unity はスクリプトファイルのコンパイルに Mono を使用しており、.NET 3.5 にある API をお使いいただけます。Compilation Overrides を利用すれば Windows ストア アプリ用の .NET (.NET Core とも呼ばれます) を C# ファイル中で使用することができます。API はこちらで入手可能です。
注: JS スクリプトでは .NET Core API は使用できません。
以下は、スクリプトでの .NET Core API の簡単な使用例です。
string GetTemporaryFolder()
{
#if NETFX_CORE
return Windows.Storage.ApplicationData.Current.TemporaryFolder.Path;
#else
return "LocalFolder";
#endif
}
Unprocessed Plugins(未処理のプラグイン)には、Unity の前処理ツール(SerializationWeaver、AssemblyPreprocessor、rrw など)に無視されるプラグインのリストが含まれます。通常はこのリストに修正を加える必要はありませんが、Unity がプラグインの前処理に失敗したというエラーが出ている場合は修正が必要です。
このリストにプラグインを追加した場合:
Unity は、シリアライゼーションの為に使用されるアセンブリに対して 追加の IL コードを投入しません。ただしプラグインが UnityEngine.dll を参照していなくてもまったく問題ありません。なぜなら Unity はプラグインのデータを一切シリアライズしないからです。
独立した入力ソースのオプションが有効になります。詳しくはこちらを参照してください。簡単に言うと入力の反応がより良くなりますので通常は有効にしておくとよいでしょう。
Low Latency Presentation API Low Latency Presentation API(低遅延プレゼンテーション API)を有効にします。これは DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT フラッグのある D3D11 スワップチェーン を生成し(詳しくはこちら)、入力の反応性を向上させます。このオプションはデフォルトでは無効になっています。有効になっていると古い GPU ドライバのハードウェアでゲームのラグが多くなるためです。有効にする場合は、ゲームのパフォーマンスが許容範囲にあるかどうか必ずプロファイルを行うようにしてください。
これらのオプションは、そのまま Package.appxmanifest にコピーされます。
注: 以前のパッケージの上にゲームを構築した場合、Package.appxmanifest は上書きされません。