●シーンテンプレート
New Scene Menu
Default types
AnimationClip
Animations.AnimatorController
AnimatorOverrideController
Audio.AudioMixerController
Cubemap
GameObject
LightingSettings
Material
PhysicMaterial
PhysicsMaterial2D
Rendering.PostProcessing.PostProcessProfile
Rendering.PostProcessing.PostProcessResources
Rendering.VolumeProfile
SceneAsset
Texture
Texture2D
Timeline.TimelineAsset
All Other Types
Unity 2021.3.45f1のビルド設定にあるスクリプト実行順序 (Script Execution Order)**は、電力と通信費の削減に直接的な影響はありません。
これらの設定は、ゲームオブジェクト上のスクリプトがどの順序で実行されるかを制御するためのものです。
スクリプト実行順序の各項目
スクリプトの実行順序は、ゲームロジックの依存関係を管理するために重要です。
例えば、TextMeshProがEventSystemよりも前に実行されると、UIの更新に不具合が生じる可能性があります。
UnityEngine.EventSystems.EventSystemとは イベント処理を管理します。
TMPro.TextContainerとは TextMeshProのテキスト領域を管理します。
TMPro.TextMeshPro / TextMeshProUGUIとは テキスト描画を管理します。
UnityEngine.U2D.CinemachinePixelPerfectとは ピクセルパーフェクトなカメラ設定を管理します。
UnityEngine.UI.ToggleGroupとは トグルのグループ化を管理します。
これらのコンポーネントは、実行順序を変更してもパフォーマンスやリソース消費に大きな影響を与えるものではありません。
電力と通信費を削減する設定方法
もし、電力や通信費を削減したいのであれば、以下の項目に注力すべきです。
レンダリング設定とは 解像度、フレームレート、テクスチャ品質などを下げることで、GPUの負荷を減らし、大幅な電力削減につながります。
物理設定とは 自動シミュレーションを無効にし、物理演算の反復回数を減らすことで、CPUの負荷を下げ、電力消費を抑えられます。
ネットワーク通信の最適化とは 通信頻度を減らす、送信するデータ量を圧縮するなど、ゲーム内の通信処理を最適化することが、通信費の削減に最も効果的です。
●スクリプト実行順序
UnityEngine.EventSystems.EventSystem
TMPro.TextContainer
TMPro.TextMeshPro
TMPro.TextMeshProUGUI
UnityEngine.U2D.CinemachinePixelPerfect
UnityEngine.UI.ToggleGroup
Unity 2021.3.45f1のビルド設定におけるサービス項目は、通信費と電力の削減に直接的な影響を与えるものはありません。
これらの設定は、Unityの各種オンラインサービスとの接続が失敗した場合の挙動を制御するためのものです。
サービス設定の各項目
Ads (広告)、Build Automation (ビルド自動化)、Cloud Diagnostics (クラウド診断)、アプリ内課金 (InApp Purchases)とは
それぞれの項目にあるRetry connection (接続の再試行) の設定は、サービスへの接続が失敗した際に、Unityが自動的に再接続を試みるかどうかを決定します。
これらの設定は、通信の失敗時にのみ関係するものです。例えば、インターネット接続が不安定な場合などに、再試行を行うことでサービスへの接続を維持しやすくするための設定です。
電力・通信費への影響とは
通信が失敗しない限り、これらの設定は通信量や電力消費に影響しません。
通信が失敗した場合、再試行を無効にする(オフにする)ことで、不要な再接続の試みを防ぎ、わずかな通信量と電力消費の増加を抑えることができます。
しかし、これによりサービスの機能(広告の表示、診断データの送信など)が失われる可能性があります。
電力と通信費を削減するための設定方法
サービスの「Retry connection」をオフにすることで、接続失敗時の通信量をわずかに抑えることができますが、これは根本的な解決策ではありません。
電力や通信費を削減するためには、以下の設定に焦点を当てるべきです。
レンダリング設定とは
ゲームの解像度やフレームレートを低く設定する。
テクスチャの品質やMSAAなどのグラフィック設定を調整する。
物理設定とは
自動シミュレーションを無効にし、必要な時だけ手動で物理演算を実行する。
物理演算の反復回数を減らす。
ネットワーク通信の最適化とは
通信を必要としないときに、ネットワーク接続を切断する。
サーバーとの通信頻度を減らす、送信するデータ量を圧縮するなど、ゲーム内の通信処理を最適化する。
サービスの「Retry connection」は、通信の安定性を高めるための機能です。
これを無効にすると、ゲームプレイに影響が出る可能性があるため、電力や通信費の削減を目的として安易に変更することは推奨されません。
●サービス
●Ads
Retry connection
●Build Automation
Retry connection
●Cloud Diagnostics
Retry connection
●アプリ内課金
Retry connection
●タグとレイヤー
タグとレイヤー (Tags and Layers)
Unityの「タグとレイヤー」設定は、プロジェクト内のゲームオブジェクトを分類・識別するために使われます。
これらは主に、スクリプトからのオブジェクト検索や、物理演算(衝突判定)の制御に利用されます。
電力や通信費に直接的な影響を与える設定ではありませんが、効率的なゲーム設計を通じて間接的にパフォーマンスを向上させることができます。
各設定項目の詳細
タグ (Tags)
意味は ゲームオブジェクトに名前付きのラベルを付ける機能です。
用途とは GameObject.FindGameObjectsWithTag() のようなメソッドを使って、特定のタグを持つオブジェクトを素早く検索できます。
例えば、「Player」、「Enemy」、「Collectable」といったタグを割り当てることで、スクリプトから簡単に目的のオブジェクトを見つけ出すことができます。
レイヤー (Layers)
意味は ゲームオブジェクトをグループ化するための機能です。
最大32個のレイヤーを設定できます。レイヤー0から7はUnityが予約しているため、レイヤー8以降をカスタムで使います。
用途とは
衝突判定の制御とは 物理エンジンでは、レイヤー同士の衝突判定を有効/無効にできます。
例えば、PlayerレイヤーとEnemyレイヤーは衝突するが、Ignore Raycastレイヤーとは衝突しない、といった設定が可能です。
描画の制御とは カメラの「Culling Mask」を使って、特定のレイヤーにあるオブジェクトだけを描画したり、描画しなかったりする設定ができます。
Raycastのフィルタリングとは Physics.Raycast のようなメソッドで、特定のレイヤーにあるオブジェクトだけを対象にすることができます。
電力と通信費を削減する設定
「タグとレイヤー」の設定自体に、電力や通信費を削減する直接的な設定項目はありません。
しかし、これらの機能はゲームのパフォーマンスを最適化し、結果として電力消費を抑えるのに役立ちます。
電力削減とは
衝突判定の最適化とは 「レイヤーの衝突表」 を使って、不要な衝突判定を無効化します。
例えば、Player と Player の衝突を無効にすることで、物理エンジンの計算負荷が減り、CPUの使用率が低下します。
これにより、電力消費を抑えることができます。
Raycastの効率化とは Physics.Raycast を使用する際、対象となるレイヤーを限定することで、不要なオブジェクトとの判定を避け、CPUの処理を効率化できます。
通信費削減とは
「タグとレイヤー」の設定は、ビルドサイズやアセットの通信量に影響しません。
通信費を削減するには、テクスチャの圧縮、ビルドの圧縮形式の最適化、未使用アセットの削除など、他のビルド設定項目を調整する必要があります。
●TextMesh Pro
TMP Essentials
Import TMP Essentialsとは TextMesh Proを使用するために必要な基本アセット(シェーダー、マテリアル、フォントなど)をインポートします。
TMP Examples & Extras
Import TMP Essentials & Extrasとは サンプルシーンや追加のスクリプトなど、学習やデバッグに役立つアセットをインポートします。
●設定
Default Font Assetとは 新しいテキストコンポーネントに自動的に割り当てられるデフォルトのフォントアセットです。
Pathとは Resources/
Fallback Font Assetsとは メインフォントアセットに存在しない文字が表示された場合に、代替として使用されるフォントアセットのリストです。
このリストに多くのフォントを追加すると、ビルドサイズが大きくなり、通信費が増加します。
Fallback Font Assets List
リストは空です
Fallback Material Settings
Match Material Presets
Dynamic Font System Settingsとは ランタイムでの動的フォントに関する設定です。
Get Font Features at Runtimeとは ランタイムでフォントの特性を取得するかどうか。
パフォーマンスに影響します。
Missing Character Unicode
Disable warnings
Text Container Default Settingsとは TextMeshProコンポーネントのデフォルト設定です。
TextMeshPro
TextMeshPro UI
Enable Raycast Target
Auto Size Text Containerとは テキストのサイズに合わせてコンテナを自動調整するかどうか。
パフォーマンスに影響します。
Is Object Scale Static
Text Component Default Settingsとは テキストコンポーネントのデフォルト設定です。
Default Font Sizeとは デフォルトの文字サイズ。
Text Auto Size Ratios
Word Wrappingとは 単語の途中で改行するかどうか。
Kerningとは カーニング(文字間隔の自動調整)を有効にするかどうか。
有効にすると計算量が増えるため、電力消費が増加します。
Extra Paddingとは テキストの周囲に余白を追加するかどうか。
Tint All Sprites
Parse Escape Sequenceとは \n や \t などのエスケープシーケンスを解析するかどうか。
Default Sprite Assetとは デフォルトで使用されるスプライトアセットです。
Missing Sprite Unicode
iOS Emoji Supportとは iOSでの絵文字サポートを有効にするかどうか。
Pathとは Resources/
Default Style Sheetとは デフォルトで使用されるスタイルシートです。
Pathとは Resources/
Color Gradient Presetsとは カラーグラデーションのプリセットです。
Pathとは Resources/
Line Breaking for Asian languagesとは 日本語、中国語、韓国語の改行ルールに関する設定です。
Leading Charactersとは 行頭・行末に来てはいけない文字を定義します。
Following Charactersとは 行頭・行末に来てはいけない文字を定義します。
Korean Language Optionsとは 韓国語の改行オプションです。
Use Modern Line Breaking
電力と通信費を削減する設定
電力削減
Kerning (カーニング)とは 無効にすることで、文字間の間隔計算が不要になり、CPU負荷が軽減され、電力消費を抑えることができます。
Dynamic Font System Settingsとは ランタイムでのフォント特性の取得を無効にすることで、処理が軽くなります。
テキストコンポーネントの数とは 多数のテキストコンポーネントを同時に使用すると、CPU負荷が増大します。
不要なテキストは非表示にするなど、管理を徹底しましょう。
通信費削減
Fallback Font Assets (代替フォントアセット)とは 必要な文字セットのみを含むフォントアセットを使用し、代替フォントアセットのリストをできるだけ短くします。
多くのフォントを含めると、ビルドサイズが大きくなり、通信費が増加します。
不要なアセットの削除とは TextMesh ProのExamplesやExtrasは、最終的なビルドには含めないようにしましょう。
フォントアセットの最適化とは フォントアセットを生成する際に、使用する文字のみを静的に含めることで、アセットのファイルサイズを最小限に抑えられます。
TMP Examples & Extras をインポートしないとは このパッケージは学習用であり、最終的な製品には不要なアセットが多く含まれているため、インポートしないか、後で削除します。
これにより、ビルドサイズを減らし、通信費を削減できます。
●時間
固定時間ステップ
最大許容時間ステップ
タイムスケール
パーティクルの最大時間ステップ
Unityの時間設定は、ゲームのパフォーマンスに直接影響し、結果として電力消費に影響を与えますが、通信費には直接関係ありません。
各設定項目の詳細と電力削減方法
固定時間ステップ (Fixed Timestep)
意味は 物理演算(Physics)が更新される時間間隔です。
FixedUpdate() メソッドが呼び出される頻度もこれによって決まります。
デフォルト値は0.02秒(50回/秒)です。
この値を大きくすると、物理演算の更新頻度が減り、CPUの計算負荷が軽減されます。
例えば、0.03秒や0.04秒に設定すると、CPU負荷が減り、電力消費を削減できます。
ただし、値を大きくしすぎると、物理演算の精度が低下し、オブジェクトの挙動が不安定になる可能性があります。
最大許容時間ステップ (Maximum Allowed Timestep)
意味は シーン内の物理シミュレーションが1フレームあたりに進むことができる最大時間です。
ゲームがフリーズした場合、この値を超えて物理シミュレーションが進むことはありません。
この設定は電力削減に直接的な影響はありませんが、Fixed Timestep と合わせてゲームがスムーズに動作するよう調整することで、不必要な計算を防げます。
タイムスケール (Time Scale)
意味は ゲーム内の時間の流れを制御します。
1.0で通常速度、0.5で半分の速度、2.0で2倍の速度になります。
0に設定するとゲームが停止します。
ゲームが一時停止する場面でTime.timeScale = 0;と設定することで、スクリプトのUpdate()やアニメーション、パーティクルなどの更新処理が停止するため、
CPUとGPUの負荷を大幅に減らし、電力消費を削減できます。これは電力削減の最も効果的な方法の一つです。
パーティクルの最大時間ステップ (Maximum Particle Timestep)
意味は パーティクルシステムのシミュレーションが1フレームあたりに進む最大時間です。
電力削減とは パーティクルが多数存在するシーンで、この値を調整することでパーティクルの計算負荷を制御できます。
値を大きくすると計算が粗くなりますが、負荷が減り、電力消費を抑えられます。
電力と通信費の削減まとめ
電力削減とは
固定時間ステップを大きくする(0.02秒 → 0.03秒)。
ゲームが一時停止する場面でタイムスケールを0に設定する。
パーティクルの最大時間ステップを大きくする。
これらの設定は通信費に直接的な影響はありません。
通信費を削減するには、ビルド設定の「圧縮形式」を最適化したり、テクスチャの解像度を下げたりする必要があります。
●タイムライン
タイムラインアセット
Default frame rate
タイムライン (Timeline)
タイムラインは、アニメーション、オーディオ、スクリプトなどを時系列で管理・制御するためのシーケンスツールです。
この設定は、主にタイムラインアセットのデフォルト挙動を定義します。
タイムラインアセット (Timeline Asset)とは
これは、Unityのプロジェクトで使われるアセットの一種で、アニメーションやオーディオ、イベントを時間軸に沿って配置するコンテナです。
この項目は、新しいタイムラインアセットを作成する際に適用されるデフォルト設定のテンプレートです。
Default frame rate (デフォルトフレームレート)とは
意味は 新しく作成されるタイムラインアセットのデフォルトのフレームレート(1秒あたりのフレーム数)です。通常、30fpsや60fpsなどが選択されます。
電力と通信費への影響とは この設定は開発時のデフォルト値であり、最終的なアプリケーションの実行時のパフォーマンスやビルドサイズに直接的な影響はありません。
実行時のフレームレートは、ゲーム全体の品質設定やApplication.targetFrameRateによって決まります。
タイムラインのフレームレートを低く設定しても、ゲーム全体のフレームレートが60fpsであれば、60fpsで描画されます。
この設定は、ビルドに含まれるデータ量には影響しないため、通信費には関係ありません。
電力と通信費を削減する方法
タイムラインの設定自体に電力や通信費を削減する項目はありません。
●UI ビルダー
Enable Editor Extension Authoring by Default
Disable Viewport Zooming via Mouse Wheel/Trackpad
UI ビルダーの設定項目は、主にUnityエディター内でのUI開発体験に影響します。
これらの設定は、ビルドされたアプリケーションの電力消費や通信費には直接影響しません。
UI ビルダーの各設定項目
Enable Editor Extension Authoring by Defaultとは
意味は UI ビルダーで新しいUIドキュメントを作成する際、デフォルトでエディター拡張機能のオーサリングを有効にするかどうかを決定します。
この機能を有効にすると、UIElements を使ったカスタムエディターツールの作成が容易になります。
電力・通信費への影響とは 開発時のエディターの挙動に関する設定であり、最終的なアプリケーションのパフォーマンスには影響しません。
Disable Viewport Zooming via Mouse Wheel/Trackpadとは
意味は UI ビルダーのビューポートで、マウスホイールやトラックパッドによるズーム操作を無効にするかどうかを決定します。
これを有効にすると、マウスホイールでズームする代わりに、スクロールの動作になります。
電力・通信費への影響とは この設定は開発時の操作性に関するもので、ビルドされたアプリケーションの電力消費や通信費とは無関係です。
電力と通信費を削減する設定
UI ビルダーの設定項目自体に電力や通信費を削減する機能はありません。
最終的なアプリケーションの電力や通信費を削減したい場合は、以下のビルド設定を検討する必要があります。
電力削減とは
レンダリング設定とは フレームレートを低く設定したり、シェーダーの品質を下げたりすることで、GPUの負荷を減らします。
物理演算設定とは 物理演算の更新頻度を下げます。
通信費削減とは
ビルド設定とは ビルドの圧縮形式を「Brotli」などの高圧縮率のものに設定し、ビルドサイズを最小限に抑えます。
テクスチャ設定とは テクスチャの解像度を下げたり、適切な圧縮形式を使用したりすることで、ファイルサイズを削減します。
●バージョン管理
Mode
バージョン管理 (Version Control) Mode
意味は この設定は、アセットファイルをテキスト形式で保存するか、バイナリ形式で保存するかを決定します。
この設定は主に、チーム開発でバージョン管理システム(Gitなど)を使用する際のアセットの差分管理に影響します。
選択肢とは
Visible Meta Filesとは 各アセットに.metaファイルが生成され、アセットの設定情報がテキスト形式で保存されます。
これは通常、推奨される設定です。
Hidden Meta Filesとは .metaファイルは隠しファイルとして扱われます。
Disabledとは .metaファイルは生成されません。非推奨の設定です。
Force Textとは アセット本体をテキスト形式(YAML)で保存します。
これにより、バージョン管理システムでアセットファイルの変更内容を詳細に追跡できます。
Force Binaryとは アセット本体をバイナリ形式で保存します。
電力と通信費への影響
「バージョン管理」のMode設定は、電力と通信費に直接的な影響はありません。
これらの設定は、ビルドされたアプリケーション自体のパフォーマンスやサイズに影響を与えるものではなく、Unityプロジェクトファイルの管理方法に関するものです。
この設定は、エディターでのプロジェクトファイルの読み書き速度に影響する可能性がありますが、最終的なアプリケーションの実行時の電力消費にはほとんど影響しません。
この設定は、ビルドされたアプリケーションのダウンロードサイズには影響しません。
プロジェクトファイルのサイズに影響を与えるため、バージョン管理システムのリポジトリサイズには影響する可能性がありますが、これは開発時の通信量であり、
ユーザーがゲームをダウンロードする際の通信費とは別です。
最適な設定
チーム開発の場合とは Force Text を選択することをお勧めします。
これにより、アセットファイルの変更履歴をGitなどのバージョン管理システムで明確に追跡できるため、コンフリクトの解決が容易になります。
通信費の削減(開発時)とは Force Binary を選択すると、アセットのファイルサイズが小さくなるため、リポジトリのサイズを小さく保つことができます。
しかし、変更履歴の追跡が困難になるという欠点があります。
結論として、電力と通信費を削減するという目的においては、この設定は直接関係ありません。
通常はチーム開発の利便性を考慮して Force Text を選択するのが最も一般的です。
●ビジュアルスクリプティング
Initialize Visual Scripting
意味は この設定は、ビルド時にプロジェクトでビジュアルスクリプティング(旧 Bolt)を使用するかどうかを決定します。
このチェックボックスを有効にすると、ビジュアルスクリプティングが初期化され、ランタイムに必要なコードとアセットがビルドに含まれます。
電力と通信費への影響とは
電力とは ビジュアルスクリプティングは、C#スクリプトよりもわずかに実行時のオーバーヘッドが大きい場合があります。
しかし、Unity 2021.3ではパフォーマンスが大幅に改善されています。それでも、処理が複雑なフローグラフではCPU負荷が増加する可能性があり、
その結果として電力消費が増えることがあります。
この設定を有効にすると、ビジュアルスクリプティングのランタイムコードと関連アセットがビルドに含まれるため、
ビルドサイズが増加します。ビルドサイズが大きくなると、アプリケーションをダウンロードする際の通信量が増え、結果的に通信費も増えます。
電力と通信費を削減する設定
電力を削減するには
ビジュアルスクリプティングを使用しない場合は、Initialize Visual Scriptingのチェックボックスを無効にします。
これにより、ランタイムのオーバーヘッドがなくなり、電力消費を抑えられます。
ビジュアルスクリプティングを使用する場合は、複雑な処理はC#スクリプトで実装するなど、ビジュアルスクリプティングの利用を最小限に抑えることで、パフォーマンスを最適化できます。
通信費を削減するとは
ビジュアルスクリプティングを全く使用しない場合は、Initialize Visual Scriptingを無効にすることで、ビルドサイズが小さくなり、通信費を大幅に削減できます。
結論として、ビジュアルスクリプティングを使用しないプロジェクトでは、Initialize Visual Scriptingを無効にすることが、電力と通信費の両方を削減するための最も効果的な設定です。
●XR プラグイン管理
XRプラグイン管理をインストール
XRプラグイン管理とは
XRプラグイン管理は、さまざまなXRデバイス向けのSDK(ソフトウェア開発キット)やランタイムを、Unityプロジェクトに統合するための統一されたインターフェースです。
この機能を使用することで、プラットフォームごとに異なるXRデバイス(Oculus, SteamVR, ARCore, ARKit)を簡単に設定・管理できます。
XRプラグイン管理の項目
この設定項目は非常にシンプルで、主に以下の機能を提供します。
XRプラグイン管理をインストールとは このボタンをクリックすると、プロジェクトにXRプラグイン管理システムが追加されます。
インストール後、プラットフォームごとにサポートしたいXRデバイスを選択できるようになります。
プラットフォームごとの設定とは XRプラグイン管理をインストールすると、AndroidやiOSなどのプラットフォームタブに新しいセクションが表示されます。
ここで、OculusやOpenXRなどのプロバイダーを有効にしたり、個々の設定を行ったりします。
電力と通信費の削減
XRプラグイン管理の設定自体は、電力や通信費に直接的な影響を与えるものではありません。
なぜなら、この機能はあくまでどのXRデバイスをサポートするか、という設定であり、その先の具体的な最適化は、各プロバイダーの設定や、アプリケーション自体の実装に依存するからです。
しかし、間接的に電力と通信費を削減するためには、以下の点に注意してください。
不要なプロバイダーを無効化するとは
プロジェクトが特定のXRデバイス(Oculus Questのみ)を対象としている場合、その他のプロバイダー(OpenXR, Windows Mixed Reality)を無効にすることで、
ビルドに含まれるコードが減り、ビルドサイズが小さくなります。
ビルドサイズの削減は、アプリのダウンロードに必要な通信費を直接的に削減します。
各プロバイダーの最適化設定を活用するとは
例えば、OculusのXRプロバイダーでは、動的解像度スケーリングやFoveated Rendering(視線追跡に基づくレンダリング)などの機能が提供されています。
これらの機能を活用することで、デバイスの描画負荷を軽減し、電力消費を抑えることができます。
Export to Sheets
結論として、XRプラグイン管理の項目自体で電力や通信費を削減する直接的な設定はありませんが、
不要なプロバイダーを無効にすることでビルドサイズを減らし通信費を削減し、
各プロバイダーの最適化設定を有効にすることで電力消費を抑えることができます。
以上で説明を終えます。ありがとうございました。