Version: 2019.4
言語: 日本語
tvOS ビルド設定
WebGL

Apple TV Player settings

このページでは、tvOS に特化した Player 設定について説明します。一般的な Player 設定の説明については、Player 設定を参照してください。

tvOS プラットフォームのプレーヤー設定
tvOS プラットフォームのプレーヤー設定

以下のセクションのプロパティが説明されています。

Icon

Icon 設定を使用して、Apple TV アプリケーションのブランド設定をカスタマイズします。

Apple TV の画像は、2 - 5 つのレイヤーで構成されています。Unity では、Apple TV のアイコンとして 2 つのレイヤーを用意しています。

ノート: Apple TV 用に画像を重ねる方法については、Apple 開発者ドキュメント Layered Images を参照してください。

設定 機能
App icons AppleTV のホーム画面 に表示するカスタムアイコンを構築します。各解像度 (1280×768、800×480、400×240) に対応します。
Top Shelf icons AppleTV のトップシェルフ に表示するカスタムアイコンを構築します。各アスペクトと解像度 (4640x1440、2320x720、3840x1440、1920x72) に対応します。

Resolution and Presentation

iOS プラットフォームの Resolution Scaling 設定
iOS プラットフォームの Resolution Scaling 設定

Disable Depth and Stencil オプションを有効にすると、深度バッファとステンシルバッファが無効になります。

Splash Image

共通のスプラッシュスクリーン の設定に加えて、tvOS プラットフォーム用に 2 つの設定が追加されています。

iOS プラットフォームのスプラッシュ設定
iOS プラットフォームのスプラッシュ設定

AppleTV (1x)AppleTV (2x) のプロパティを使用して、Apple TV の静的スプラッシュスクリーン を設定します。

Debugging and crash reporting

tvOS プラットフォームのデバッグとクラッシュレポート
tvOS プラットフォームのデバッグとクラッシュレポート
設定 機能
Enable Internal Profiler (Deprecated) アプリケーションのパフォーマンスデータを収集し、コンソールにレポートを表示する内部プロファイラーを有効にします。レポートは毎フレーム動作する Unity のサブシステムを記録するためミリ秒単位で表示されます。データは 30 フレームの平均になります。
On .Net UnhandledException .NET で処理されない例外の場合に取られるアクションを選択します。オプションは Crash (アプリケーションがクラッシュすることはほとんどありません。アプリケーションのユーザーは tvOS に iTune に送信できるクラッシュレポートを生成させ、開発者が検査することができます) と Silent Exit (アプリケーションを正常終了します) です。
Log Obj-C Uncaught Exceptions カスタム製の Objective-C Uncaught Exception ハンドラーを有効にして、例外情報をコンソールに表示します。
Enable Crash Report API カスタム製のクラッシュレポーターを有効にして、クラッシュ情報を取得します。クラッシュログは CrashReport API 経由で利用可能です。

Other Settings

Other Settings のセクションでは、以下のグループに分類されたさまざまなオプションをカスタマイズできます。

Rendering

これらの設定を使用して、スタンドアロンプラットフォーム向けにゲームをレンダリングする方法をカスタマイズします。

tvOS プラットフォームの Rendering Player 設定
tvOS プラットフォームの Rendering Player 設定
設定 機能
Color Space レンダリングに GammaLinear どちらの色空間を使用するかを選択します。
2 つの色空間の違いの説明は リニアレンダリングの概要 を参照してください。
Auto Graphics API Disable this option to manually pick and reorder the graphics APIs. This option is enabled by default, and includes Metal. You can also add OpenGLES2 and OpenGLES3 as a fallback for devices that don’t support Metal; however, both of these options are deprecated and should no longer be used.
Color Gamut レンダリングに使用する iOS プラットフォーム用の 色域 を追加または削除することができます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニターや画面) で使用可能な色の範囲を定義します。sRGB 色域はデフォルトの (そして必須の) 色域です。
広色域ディスプレイを備えた最近の tvOS デバイスをターゲットにする場合は、DisplayP3 を使用してフルディスプレイ機能を利用します。古いデバイスのフォールバックとしては Metal Editor Support を使用してください。
Metal Editor Support これを有効にすると、Metal API を Unity エディターで使用し、Metal API をターゲットとしたよりシェーダーの速いイテレーションを自在に行えます。
Metal API Validation シェーダーの問題をデバッグする必要がある場合は、このオプションを有効にします。
ノート 検証は CPU 使用率を増加させます。そのため、デバッグにのみ使用してください。
Metal Write-Only Backbuffer デフォルトではないデバイスの向きでパフォーマンスを向上させます。これにより、バックバッファに frameBufferOnly フラグを設定します。これは、バックバッファからの読み直しを防ぎますが、ドライバ-の最適化が可能になることもあります。
Force hard shadows on Metal これを有効にすると、Metal のシャドウのポイントサンプリングを強制的に使用します。これによりシャドウ品質が低下し、よりよいパフォーマンスが得られます。
Memoryless Depth いつ メモリレスレンダーテクスチャ を使用するかを選択します。メモリレスレンダーテクスチャはレンダリング時に、CPU や GPU メモリではなく、タイル上のメモリに一時的に格納されます。これにより、アプリケーションのメモリ使用量が削減されますが、これらのレンダーテクスチャを読み書きすることはできません。
注意 メモリレスレンダーテクスチャは、tvOS、tvOS 10.0以降、Metal、Vulkan でのみサポートされます。レンダーテクスチャは読み取り/書き込み保護され、他のプラットフォームの CPU や GPU メモリに保存されます。
Unused メモリレスフレームバッファ深度を決して使用しません。
Forced 常にメモリレスフレームバッファ深度を使用します。
Automatic メモリレスフレームバッファ深度をいつ使用するかは Unity が決定します。
Multithreaded Rendering これを有効にして、マルチスレッドレンダリングを使用します。これは Metal でのみサポートされています。
Static Batching このオプションを有効にして、静的バッチ処理を行います。
Dynamic Batching これを有効にして、ダイナミックバッチング をビルドに使用します (デフォルトでは有効になっています)。
Compute Skinning これを有効にすると、DX11/ES3 GPU コンピュートスキニングを使用して、CPU リソースを解放できます。
Graphics Jobs (Experimental) これを有効にすると、Unity がグラフィックスタスク (レンダリングのループ) を他の CPU コア上で動作するワーカースレッドにオフロードします。これは、しばしばボトルネックとなるメインスレッドの Camera.Render で費やされる時間を短縮するためのものです。
ノート: この機能は実験的です。プロジェクトのパフォーマンスが向上しない場合があり、クラッシュの原因になる可能性があります。
Lightmap Encoding ライトマップのエンコードを設定するには、Low QualityNormal QualityHigh Quality のいずれかを選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。
Lightmap Streaming Enabled これを有効にすると、現在のゲームカメラをレンダリングするために、必要に応じてライトマップのミップマップのみを読み込みます。この値は、生成されるライトマップテクスチャに適用されます。
ノート この設定を使用するには、Texture Streaming Quality 設定を有効にする必要があります。
Streaming Priority ライトマップのミップマップストリーミングの優先順位を設定して、リソースの競合を解決します。Unity はこれらの値を生成すると、その値をライトマップテクスチャに適用します。
正の数値が優先されます。有効な値の範囲は –128 から 127 です。
Enable Frame Timing Stats これを有効にすると、CPU/GPUフレームタイミング統計を収集します。

Identification

tvOS プラットフォームの Identification 設定
tvOS プラットフォームの Identification 設定
設定 機能
Bundle Identifier ビルドするゲームやプロダクトのプロビジョニングプロファイルを入力します。識別子の基本的な構造は com.CompanyName.ProductName です。この構造は、住んでいる国によって異なる場合があります。そのため、常に、開発者アカウント用に Apple から提供された文字列をデフォルトにしてください。ProductName はプロビジョニング証明書に設定されます。
この値は関連する info.plist ファイルに CFBundleIdentifier として表示されます。詳しくは Apple 開発者のドキュメント CFBundleIdentifier を参照してください。
ノート: これは、iOS、tvOS、Android で共有されます。
Version バンドルの “リリース-バージョン-番号” の文字列を入力します (例えば、4.3.6)。関連する info.plist ファイルに CFBundleShortVersionString として表示されます。
詳しくは、Apple Developerドキュメントの CFBundleShortVersionString を参照してください。
Build アプリケーションのこのバージョンのビルド番号を入力します。関連する info.plist ファイルに CFBundleVersion として表示されます。

詳しくは、Apple Developer のドキュメントで CFBundleVersion を参照してください。 
Signing Team ID Apple Developer Team IDを入力します。詳しくは、Apple Developer ウェブサイトの Xcode ヘルプ を参照してください。これにより、生成された Xcode プロジェクトの Team ID が設定され、開発者は Build and Run 機能を使用できるようになります。ここでは、アプリケーションの自動署名のためには Apple Developer Team ID をここで設定する必要があります。詳細は、Creating Your Team Provisioning Profile を参照してください。
Automatically Sign Xcode がビルドに自動的に署名するようにするには、これを有効にします。

Configuration

tvOSプラットフォームの Configuration 設定
tvOSプラットフォームの Configuration 設定
設定 機能
Scripting Runtime Version プロジェクトで使用する .NET ランタイムを選択します。詳細は、Microsoft の .NET ドキュメント を参照してください。
.NET 3.5 Equivalent (Deprecated) .NET 3.5 API を実装する .NET ランタイム。この機能は非推奨なので、使用しないでください。.NET 4 を使用してください。 
.NET 4.x Equivalent .NET 4 API を実装する .NET ランタイム。この API は .NET 3.5 よりも新しい API で、より多くの API へのアクセスを提供し、より多くの外部ライブラリと互換性があり、C# 6 をサポートします。これはデフォルトのスクリプティングランタイムです。
Scripting Backend 使用するスクリプティングバックエンドを選択します。この設定は、tvOS では有効ではありません。
API Compatibility Level API の互換性レベルには、.NET 4.0.NET Standard 2.0 の 2 つのオプションがあります。
ヒント サードパーティ製アセンブリに問題がある場合は、その方法を試すことができます。下の API Compatibility Level セクションを参照してください。
C++ Compiler Configuration IL2CPP 生成コードをコンパイルするときに使用する C++ コンパイラーの設定を選択します。この設定は tvOS では使用できません。
Use on Demand Resource オンデマンドリソースを使用するには、このオプションを有効にしてください。
この設定は、tvOS には影響しません。
Ackelerometer Frequency 加速度センサーのサンプリング頻度を設定します。Disabled を選択すると、サンプルは取得されません。そうでない場合は、15Hz30Hz60Hz100Hz から選択できます。
Camera Usage Description tvOS デバイスでカメラにアクセスする理由を入力します。
Location Usage Description tvOS デバイスの場所にアクセスする理由を入力します。
Microphone Usage Description tvOS デバイスでマイクにアクセスする理由を入力します。
Mute Other Audio Sources これを有効にすると、Unity は、バックグラウンドで実行しているアプリケーションからのオーディオを止めます。これを無効にすると、バックグラウンドアプリケーションからのオーディオを Unity のアプリケーションと一緒に再生します。
Requires Persistent WiFi これを有効にすると Wi-Fi 接続が必須になります。アプリケーションが実行されている間、tvOS はアクティブな Wi-Fi 接続を維持します。
Allow downloads over HTTP (nonsecure) HTTP 経由でコンテンツをダウンロードできるようにするには、これを有効にします。デフォルトであり、推奨されるのは、HTTPS です。
Supported URL schemes supported URL schemes のリスト。
新しいスキームを追加するには、Size プロパティの値を増やし、表示される新しい Element ボックスにロードするアセットへの参照を設定します。
Target SDK ゲームがターゲットとする SDK を選択します。選択肢は Device SDKSimulator SDK です。
注意 正しい SDK を選択するよう注意してください。例えば、Device SDK を選択してから Xcode の Simulator をターゲットにすると、多くのエラーメッセージが表示されビルドに失敗します。
Target minimum tvOS Version ゲームが動作する tvOS の最低バージョンを定義します。
Architecture どのアーキテクチャをターゲットにするかを選択します。この設定は、 Target SDK プロパティに設定されている値によって自動的に変更されるため、tvOS では有効になっていません。
Require Extended Game Controller アプリケーションがゲームコントローラーを必要とする場合に有効にします。詳細については、Apple 開発者ドキュメント Game Controllers を参照してください。
Scripting Define Symbols カスタムコンパイルフラグを設定します。詳細は、プラットフォーム依存コンパイル を参照してください。
Allow ‘unsafe’ Code 事前に定義されたアセンブリで ‘unsafe’ C# コード をコンパイルするためのサポートを有効にします (例えば、Assembly -CSharp.dll)。
アセンブリ定義ファイル ( .asmdef) の .asmdef ファイルの 1 つをクリックし、表示された Inspector ウィンドウでオプションを有効にします。
Active Input Handling ユーザーからの入力をどのように処理するかを選択します。
Input Manager 従来の Input ウィンドウを使用します。
Input System (Preview) Input システムを使用します。入力システムはこのリリースのプレビューパッケージとして提供されています。Input System のプレビュー版を使用するには、InputSystem パッケージ をインストールしてください。
Both 両方のシステムを同時に使用できます。

API Compatibility Level

すべてのターゲットに対する Mono の API 互換性レベル を選択できます。時にはサードパーティ製の .NET ライブラリが、.NET 互換性レベル外の機能を使用することがあります。そのような場合に何が起きているか理解し、最良の修正処理を行うためには、以下を試みると良いでしょう。

  1. Windows の場合は Reflector をインストールします。
  2. API 互換性レベルに問題が疑われる .NET アセンブリを Reflector にドラッグします。これらは Frameworks/Mono/lib/mono/YOURSUBSET/にあります。
  3. サードパーティ製のアセンブリをドラッグします。
  4. サードパーティ製のアセンブリを右クリックし、Analyze を選択します。
  5. 分析レポートの中で、Depends on セクションを調べます。サードパーティ製品依存でありながら、選択した .NET 互換性レベルで対応しないものはすべてここで赤字でハイライトされます。

Optimization

tvOS プラットフォームの Optimization 設定
tvOS プラットフォームの Optimization 設定
設定 機能
Prebake Collision Meshes ビルド時に衝突データをメッシュに加えるには、このオプションを有効にします。
Keep Loaded Shaders Alive シェーダーがアンロードされないようにするには、このオプションを有効にします。
Preloaded Assets 起動時にプレイヤーが読み込むためのアセットの配列を設定します。
新しいアセットを加えるには、Size プロパティの値を増やし、表示される新しい Element ボックスに読み込むようにアセットへの参照を設定します。
AOT compilation options Ahead of Time (AOT) コンパイルの追加オプションです。これは ビルドした tvOS プレイヤーのサイズ最適化 に役立ちます。
Strip Engine Code コードのストリッピングを有効にします。この設定は IL2CPP Scripting Backend でのみ可能です。
たいていのゲームはすべての必要な dll を使用しているわけではありません。 Strip Engine Code を有効にすると、使用しない部分を取り除き、tvOS デバイスでビルドされたプレイヤーのサイズを削減します。現在選択しているオプションによって通常は削除されるはずのクラスをゲームで使用している場合は、ビルドするときにデバッグメッセージが表示されます。 
Managed Stripping Level 使用していないマネージ (C#) コードを Unity がどれだけ積極的に削除するかを選択します。
Normal ビルドサイズと .NET/IL2CPP のビルド時間を減らすために、アクセス不能なマネージコードを削除します。
Aggressive 通常よりも積極的なモードで UnityLinker を実行し、Normal よりもさらにコードサイズを削減します。ただし、この追加の削減には、それと引き換えの犠牲が伴います。詳細については、ManagedStrippingLevel を参照してください。
Script Call Optimization ランタイムの速度を上げるために任意で例外処理を無効にする方法を設定します。詳しくは iOS 固有の最適化 を参照してください。
Slow and Safe 完全な例外処理を行います (Mono スクリプティングバックエンドを使用する場合は、デバイスのパフォーマンスに影響を与えることがあります)。
Fast but no Exceptions デバイスの例外に対してデータを提供しません (Mono スクリプティングバックエンドを使用すると、ゲームはより高速で実行されます)。
ノート この機能を IL2CPP スクリプティングバックエンド と一緒に使用してもパフォーマンスに影響を与えません。ただし、リリース用ビルドで未定義の動作を避けることができます。
Vertex Compression チャンネルごとに頂点圧縮を設定します。例えば、位置とライトマップ UV 以外のすべてに対して圧縮を有効にすることができます。インポートされた各オブジェクトに設定されたメッシュ全体の圧縮は、オブジェクトに設定された頂点圧縮を上書きします。
Optimize Mesh Data これを有効にすると、メッシュに適用されるマテリアルに必要のないすべてのデータはメッシュから削除されます。

Logging

特定のコンテキストで許可するログのタイプを選択します。

tvOS プラットフォームの Logging 設定
tvOS プラットフォームの Logging 設定

各ログタイプ (ErrorAssertWarningLogException) に対して、以下のオプションから 1 つ選択します。スクリプト実行中にログを行う (ScriptOnly)、常に行なう (Full)、決して行なわない (None)。

Legacy

Clamp BlendShapes (Deprecated) オプションを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。

tvOS プラットフォームの Logging 設定
tvOS プラットフォームの Logging 設定


  • 2018–11–28 修正されたページ

  • Input System プレビューは Unity 2019.1 で追加

  • GPU Skinning の名称が Unity 2019.3 で Compute Skinning に変更されました

  • Unity 2019.3 で GPU Skinning は Compute Skinning に名称変更NewIn20193

  • OpenGLES2/3 は Unity 2019.3 で非推奨に

tvOS ビルド設定
WebGL