Windows ストアで使用される .NET スクリプトバックエンドは、このプラットフォームのための特別な .NET バージョンで、Mono と完全に一致しているわけではありません。例えば、データタイプのいくつかがなかったり、あるクラスでは Mono にはあるメソッドがない、といった具合です。
すでにあるゲームを Windows ストアアプリとしての移植を簡単にするため、未対応のいくつかの .NET 型は Unity から提供されています。加えていくつかの拡張メソッドと代わりの型が追加されているためマイグレーションを容易にしています。
それらの型は PlaybackEngines\metrosupport\Managed\WinRTLegacy.dll に保管されており、各 Windows ストア SDK にそれぞれの WinRTLegacy.dll が必要です。
Unity によって提供されている型には次を含みます。
さらにこれら名前空間 WinRTLegacy が追加のクラスと拡張メソッドを提供します。次のものです。
代わりとなる WinRTLegacy のクラスを使用するシンプルな方法は次のようなプリプロセッサディレクティブを使用することです。
#if NETFX_CORE
using XmlReader = WinRTLegacy.Xml.XmlReader;
#else
using XmlReader = System.Xml.XmlReader;
#endif
この方法では Windows ストアアプリの場合 System.Xml 名前空間ではなく WinRTLegacy.Xml 名前空間から XmlReader クラスを利用します。
いくつかの型は、ユニバーサル Windows 10 アプリの .NET に戻ってきました。そのため、それらの型の実装は WinRTLegacy.dll から除かれました。