Unityアプリ開発FAQ【エラー編】
こちらはUnityアプリ開発における様々なエラー内容をまとめたFAQページです。
Unityアプリ開発に関するエラー及びXRアプリ開発に関するエラー項目をまとめています。
「◯◯がしたい」等のような逆引き項目は
Unityアプリ開発FAQ【Tips編】に掲載しています。
逆引きを調べたい場合は下記ボタンより閲覧ください。
=Unityアプリ開発FAQ
【エラー編】=
Unityインストール・セットアップ
-
考えられる原因として下記の可能性があります。
1:UnityProjectを開くにはAssetsフォルダが見える階層まで開き、最後に「開く」ボタンを押します。
2:開こうとしているUnityProjectがzip等圧縮されたファイルのままの可能性があります。確認し、Zipファイルの場合は展開(解凍)してください。 -
Unityで同じプロジェクトを複数開いた時にこのエラーが表示されます。
「OK」を押すと問題なく開くことができます。
Unity基本操作
-
1:Assetsフォルダ内からピンクMaterialをクリック
2:「Edit」 >「 Rendering」 >「 Materials」 >「 Convert Selected Built-in Materials to URP」をクリック
3:メニューが開いたら「Proceedを選択」してください。
C#
-
スクリプトのファイル名とクラス名は一致していない可能性があります。
そのため、一致させる必要があります。
例えば、スクリプトのファイル名がMoveCubeならば、クラス名も以下のようにスクリプト内でMoveCubeに設定する必要があります。
・スクリプトのファイル名がMoveCubeの場合
✕ public class moveCube : MonoBehaviour
◯ public class MoveCube : MonoBehaviour -
特定のコンポーネントが見つからないことが原因です。
エラー文から該当するコンポーネントを見つけ、スクリプトやインスペクターを確認しましょう。適切に追加または修正する必要があります。
アセット・アセットストア
-
これは、シェーダーが現在のレンダーパイプラインと互換性がないために発生する問題です。
解決策:
URPをUnity Projectにインポートして、ピンクマテリアルをURP対応に変換する
手順:
まず、プロジェクトでURPを使用できるようにします。
①Package Managerを開く:
Unityエディターのメインメニューで Window > Package Manager を選択
②URPをインストール:
パッケージ一覧 (in Project)から「Universal RP」を選択し、Install ボタンをクリックしてインポート
③URPのパイプラインアセットを作成:
メニューから Assets > Create > Rendering > Universal Render Pipeline > Pipeline Asset を選択
④Pipelineアセットを適用:
Edit > Project Settings > Graphics を開きます。
Scriptable Render Pipeline Settings に③で作成したURPパイプラインアセットをドラッグ&ドロップ
⑤URPのインポートが終わったら、ピンクマテリアルをURP対応に変換します。
ピンクのマテリアルを選択した状態で、Unityエディターのメインメニューで、Edit > Render Pipeline > Universal Render Pipeline > Upgrade Project Materials to UniversalRP Materials を選択。
するとMaterial Upgraderがポップアップされますので、Proceedを選択してください。
この操作により、既存のマテリアルがURP用に変換され、ピンク色の問題が解決します。
Tips:URPはVRアプリに適した軽量なレンダーパイプラインであり、GPU負荷を軽減できます。
VRでは複雑なシェーダーを使用しすぎないようにし、Universal Render Pipeline/Lit シェーダーなど、最適化されたシェーダーを選びます。プロファイリングツール(ProfilerやFrame Debugger)を使用してパフォーマンスを定期的に確認しましょう。
-
Unity Packageのアップデートによってファイルの命名規則が変更され、異なる名前のファイルが同じGUIDを共有してしまっている。
どちらかのUnity Packageのバージョンを下げたり上げたりしてインポートし直すとコンフリクトしなくなる。
VR開発環境構築
-
「Edit」>「Project Settings」>「Meta XR」>「Fix All」をクリックしてください。これをすることでUnityがProject Settingsを推奨設定に自動的におこなってくれます。すべて緑色にして再度エディタを再生してください。
-
1:Unityエディタの上部にあるメニューバーから「Edit」>「Project Settings」>「Tags and Layers」を選択します。ここで新しいレイヤーを追加してください。
2:シーン内のオブジェクトを選択し、Inspectorウィンドウで「Layer」ドロップダウンメニューから追加したレイヤーを割り当てます。
3:「Edit」>「Project Settings」>「Physics」を開きます。「Layer Collision Matrix」から対象のチェックボックスを外すと、重なるレイヤー同士が衝突するかを設定できます。
【覚えておきたい】
チェックを外すことで計算を減らしパフォーマンスを向上させることができます。またヒエラルキーでオブジェクトを選択し、インスペクターの「Layer」>「Add Layer…」を選択してもレイヤーを追加できます。 -
この画面は開いたプロジェクトが前回のエディターバージョンと一致しないことをさしています。Continueを押すと前回と違う新しいバージョンにしてプロジェクトが起動するので、Continueを押して大丈夫です。
Androidビルドエラー
-
Gradleエラーが発生する原因としてAndroidSDKもしくはGradleのいずれかのバージョンが古い。もしくは壊れてしまっている可能性があります。
特にこちらは以前はビルド出来ていてもあるタイミングでのAndroidのセキュリティアップデート等によりビルド出来なくなる場合もあります。
この場合の対処方法としてUnityの再インストール。もしくは手動でGradleとAndroidSDKを更新する必要がありますので次のアプローチをお試しください。
Unityを一度アンインストールし、再度インストールを行ってからお試しください。上記でも上手くいかない場合、GradleかAndroidSDKが古くなってしまった可能性があります。
下記記事を参考にAndroidSDKとGradleをインストールし設定をおこなってください。
https://qiita.com/warapuri/items/17721b113be8c44e5369
どのバージョンをインストールするかについては検索エンジン等で最新の変更履歴を確認して推奨環境を探す必要があります。しかしわからない場合は講師・TAにご相談ください。 -
Shaderエラーが起きる原因として、Android環境で利用出来ないShaderファイルがUnityProjectに含まれている可能性があります。
修正方法として、エラーが発生しているShaderスクリプトをConsoleのエラーログより見つけ、該当スクリプトを削除する必要があります。しかしこの場合、もし開発コンテンツで利用していたShaderだった場合はピンク色で表示され、CGを描画することが出来ません。該当のMaterialを探し、代替となるShaderを再設定する必要があります。 -
Identificationのエラーが起きる原因として、PlayerSettingsのCompanyName、またはIdentificationの名前に利用出来ない文字列が含まれていることが原因です。考えられる可能性として日本語、または単語の先頭に数字が入力されているとエラーが発生します。
対策とし下記手順を実行します。
1:Editor > Project Settingsを開く
2:Playerの設定項目を選択し、OtherSettingsの項目を開きます。
3:Identificationの項目を探し、PackageNameを日本語、英数字を利用しない名前に変更します。 -
QuestとPCがケーブルで接続しても認識しない場合は下記アプローチをお試しください。
1:QuestとPCを再起動する。
2:ケーブルを挿すUSBポートを変更する。
3:違うUSBケーブルで接続する。
特に100円ショップ等で販売している安価なケーブルは充電機能しかないケーブルが多いため、付属品のケーブル、もしくはデータ通信用のUSBケーブルを別途お買い求めください。
Meta Quest インストールエラー
-
Questが開発者モードに変更されていない可能性があります。
スマートフォンのMeta QuestアプリでQuestの開発者モードをONにする必要があります。 -
QuestがUSBデバッグモードで接続されていない可能性があります。
USBケーブルを接続後、Questを被り、内部で表示されているUSBデバッグをONにするボタンを押す必要があります。 -
同じアプリでも別開発環境でビルドしたアプリを上書きインストールしようとしたときに発生します。
対策方法としては、過去にインストールしたアプリを削除し、再度アプリをインストールする必要があります。 -
エラー内容を見るとUnityプロジェクトのパッケージ名のフォーマットに問題があると言われています。セグメントが数字で始まっており、これがUnityの命名規則に違反しています。このエラーを解決するには、セグメントが英字で始まるように調整する必要があります。(例)com.vr2024.Academy.2024V.professionalは「.2024V」が誤りなので、com.vr2024.Academy.V2024.professionalのように「.英字」にしてください。
-
SideQuest上でAPKファイルを探す際は、「Product Name」ではなく「Package Name」になります。Unityで「Project Settings」>「Player」>「Identification」>「Package Name」に記載されているアドレスが、SideQuestに表示されるファイル名になります。
Appl Vision Pro
-
下記の手順に従いUnity Editor上のProject Settingsを変更、ビルドからやり直す。
・Edit > Project Settings > Player > Optimization
・Managed Stripping Levelのドロップダウンメニューから「Medium」または「High」を選択