モバイル プラットフォームのサポートの目標
モバイルのハードウェアには制約があり、ばらつきもあるため、これまで、デスクトップ、Android、iOS の間でレンダリング パイプラインを別々のものにする必要がありました。特定のレンダリング機能は特定の機能レベルにのみ公開されています。ただし、長期的な目標としては、忠実度、パフォーマンス、利用できる機能について、プラットフォーム間で一貫性を持たせることを目指しています。そのために、デスクトップのレンダリングと同等の機能をリリースごとにこれまでよりずっと早くモバイル デバイス向けに提供できるよう、開発に取り組んでいます。たとえば、メッシュの自動インスタンス化をモバイル デバイスで利用できるようにしました。また、仮想テクスチャリングとデスクトップ フォワード レンダラをモバイル向けにまもなく提供する予定です。
新しいデフォルトの機能レベル
この取り組みを支援するために、過去数年でのモバイル ハードウェアの改善を活用しています。モバイル デバイスの機能レベルのベースを徐々に引き上げ、各デバイスが同様の標準に従うようにしています。Unreal Engine 4.23 より前のバージョンでは、Android プロジェクトでの Unreal Engine のデフォルトの機能レベルは OpenGL ES2 でした。4.23 からは、Android の新しいデフォルトが ES3.1 になりました。Unreal Engine 4.25 では、ES2 をまったくサポートしなくなります。
同様に、Unreal Engine 4.25 では、iOS の最小バージョンが iOS 11 となるので、Metal の最小バージョンが 2.0 になり、Metal 1.2 はサポートしなくなります。
ES3.1 と Metal 2.0 の機能はよく似ています。前述の変更により、今後は iOS と Android での並行した機能開発のプロセスが簡素化されるでしょう。そして、今後のリリースではモバイル ゲーム向けに Unreal Engine のテクノロジーを進歩させやすくなります。この変更には別のメリットもあります。Unreal Engine でモバイル ゲーム向けにアセットを作成するアーティストは、より一貫性のあるツールと機能を利用できるようになります。
Unreal Engine 4.24 での ES2 と Metal 1.2 の使用
Unreal Engine 4.24 にアップグレードするユーザーの皆様はご注意ください。このバージョンでは、ES2 と Metal 1.2 をまだご利用いただけますが、どちらもすでに非推奨となっています。プロジェクトが ES2 と Metal 1.2 の機能レベルに依存している場合、ES2 と Metal 1.2 を使い続けるために特別な操作が必要です。ES2 がデフォルトだったバージョンから 4.24 に Unreal Engine をアップグレードする場合、[Project Settings (プロジェクト設定)] で機能レベルを変更しないかぎり、プロジェクトでは、新しいデフォルトの設定として ES3.1 が自動的に使用されます。ES2 を使い続ける必要がある場合、[Project Settings (プロジェクト設定)] を開いて、ES2 を手動で再度有効にする必要があります。[Platforms (プラットフォーム)] の [Android] セクションの [Build] カテゴリから設定できます。

同様に、プロジェクトがデフォルトで Metal 1.2 を使っている場合、4.24 にアップグレードすると、機能レベルは新しいデフォルトである Metal 2.0 に自動的に変更されます。Metal 1.2 を使い続けるには、設定を手動でオーバーライドする必要があります。ES2 の場合とは異なり、Metal 1.2 は [Project Settings (プロジェクト設定)] の UI から有効にすることはできません。代わりに、プロジェクトの適切な *Engine.ini ファイルを次のように変更する必要があります。
[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
MaxShaderLanguageVersion=2
前述の設定を行うと、レガシー デバイスのサポートを維持したまま 4.24 に移行できます。ただし、このオプションは 4.25 以降では利用できないことに注意してください。