セーフモード (Safe Mode)
参考:
2020.2 ベータ版で Unity セーフモードが利用可能になりました | Unity Technologies Blog [公式]
Safe Mode | Unity 2020.3 Manual [Official]
クラッシュログ
エディタークラッシュログの場所
- Windows:
%LOCALAPPDATA%\Unity\Editor\Editor.log
動画:
Unity Crashed! Why? (Code Monkey)
ドキュメント:
参考:
Unity のログファイル (Editor.Log) を直接エディタで開く – Qiita
Unity エディターがクラッシュ/強制終了した時にログから原因を見つける方法と、保存していないシーン情報の復旧方法 | kan のメモ帳
ログファイルの提出を求められたのですが、どこにあるのでしょうか? – Unity
Unity Game Crash, is there a log file? – Unity Forum
Where to find the crash log? – Unity Forum
Unity Editor crashes when opening project, with no error in Editor.log – Stack Overflow
キャラクターが動かない/歩けない
- 必要なコンポーネントが付与されていない。
- Input Manager が設定されていない。
- 床とキャラクターの衝突が設定されていない。
- 必要なプロパティの値が設定されていない。(移動速度など)
- カプセルコライダーが大き過ぎてキャラクターが浮いている。
- ナビメッシュ (NavMesh) が構築されていない。
- Animator Controller が壊れている。
- スクリプトエラー
参考:
Why won’t my player move? – Unity Answers
can’t move the player – Unity Forum
player animating but not moving to marker – Adventure Creator forum
cannot be multi-edited エラー
インスペクター上で次のようなメッセージが出て操作できない。
Components that are only on some of the selected objects cannot be multi-edited.
参考:
オブジェクトの複数選択を使いこなして効率アップ! | エクスプラボ
C# unity custom editor multiple different components but same base class – Unity Answers
テキストが真っ黒になる
参考:
Text turns to black for UI in editor after making a build | Unity Issue Tracker
All UI Text is Black – Unity Forum
Unity UI Text Turning Black – Stack Overflow
スクロールバーが表示されない
参考:
Help with scroll bars in an Editor Window – Unity Forum
Custom EditorWindow Scrollbars not working with GUILayout areas – Unity Answers
Editor GUI ScrollView Actual Scrollbar Not Showing Up?? – Unity Answers
JSON parse error
JSON が正常にパースできない旨のエラーが発生する。
Error detecting Visual Studio installations: System.ArgumentException: JSON parse error: Invalid escape character in string.
参考:
Unity 2020 で出てくる Error detecting Visual Studio installations への対処法 – Qiita
Unity 2020 で VSCode 出てくる謎のエラーと設定方法 | CodeLab 技術ブログ
Failed to load エラー
現象:
アセットが読み込めない旨のエラーが発生する。
Failed to load: File may be corrupted or was serialized with a newer version of Unity
対処法:
プラットフォームを切り替える。
参考:
Error: Failed to load […] because it was serialized with a newer version of Unity – Unity Forum
self-intersecting 警告
現象:
モデルのポリゴンが交差しているため除去された旨の警告が発生する。
A polygon of xxx is self-intersecting and has been discarded.
対処法:
- 重複している頂点を削除する。
- 5角形以上のポリゴン (N-gon) を四角ポリゴンまたは三角ポリゴンに分割する。
参考:
A polygon of modelName is self-intersecting and has been discarded | Yousuf Azad Sami
How to Quickly and Easily Convert N-gons to Quads or Tris in Blender | Luke B
Null Reference Exception
参考:
ClearPreviewCache error | Unity Forum
NullReferenceException on GameObjectInspector Editor Error | Unity Answers
Errors appear in the console when game object is selected in hierarchy | Unity Issue Tracker
NullReferenceException from UnityEditor.InspectorWindow.GetEditorsWithPreviews – Stack Overflow
What is a NullReferenceException, and how do I fix it? – Stack Overflow
Null Reference when Applying Prefab – Stack Overflow
never assigned 警告
値が割り当てられていない旨の警告が表示される。
warning CS0649: Field is never assigned to, and will always have its default value `null'
参考:
Unity で発生する Warning CS0649 の対処方法 | 3テラバイト
Unity でよく出る警告 CS0168 CS0414 CS0649 の意味 | プログラミングとかブログ
CS0169 と CS0649 の警告を無効化できるようになった (Unity 2020.1 新機能) | コガネブログ
Visual Studio で表示される「warning CS0649: Field is never assigned to」の警告を一括で無効化してしまうエディタ拡張 | コガネブログ
Warning CS0649 をどうしても解消したいときに読む記事 | KuroMikan Games
アーキテクチャ不一致の警告
現象:
プロジェクト内でアーキテクチャが不一致である旨の警告が表示される。
構築されているプロジェクトのプロセッサアーキテクチャ "AAA" と、参照 "XXX" のプロセッサアーキテクチャ "BBB" の間には不一致がありました。この不一致は、ランタイムエラーを発生させる可能性があります。
原因:
Any CPU
として指定されているアセンブリが、特定のアーキテクチャのみ (x86
あるいは x64
など) で動作するアセンブリに依存している。
対処法:
依存関係のあるアセンブリ間でアーキテクチャの指定を一致させる。
参考:
「構築されているプロジェクトのプロセッサ アーキテクチャ “**” と、参照 “**” のプロセッサ アーキテクチャ “**” の間には不一致がありました。」への対処方法 | so-zou.jp
GUID の重複を解消する
参考:
Unity 2018.1 の GUID かぶりに注意 | mattak’s blog
Unity の GUID の conflict 時の解決のされ方 – Qiita
GUID conflicts – 2018.3 | Unity Forum
アセットがインポートできない
対処法:
- Unity ID で正常にログインできているか確認する。
- パッケージのキャッシュを削除する。
- プロキシの設定を確認する。
- ファイアウォールを適切に設定する。
- Unity Package Manager Diagnostics を実行する。
参考:
Asset Store から Import できない時の対処法 | YTK
Asset がインポートできないときの対処 | エンジニア戦記
Package Manager で My Assets が取得できないときの対処 | IT Learning
Package Manager でアセットを更新できないときの解決法 | ゆみねこブログ
購入したアセットをダウンロードしようとしたら、ダウンロードしたアセットをインポートすることができません | ユニティ・テクノロジーズ・ジャパン株式会社 [公式]
PackageManager が動作しない | ユニティ・テクノロジーズ・ジャパン株式会社 [公式]
トラブルシューティング – Unity Package Manager | Unity マニュアル [公式]
Asset Store からアセットが import できない – teratail
Can’t import asset from AssetStore – Unity Answers
Can’t import assets – Unity Answers
Can’t import all assets of a package – Unity Forum
Problem with Import unity package – Unity Forum
Package Manager forever “Loading packages …” – Unity Forum
Unity Package Manager Error: An error occured while resolving packages – Unity Forum
packages errors – Stack Overflow
stuck on Unity 3D Package Manager Error when trying to open any Unity project – Stack Overflow
Failed to import package with error: Couldn’t decompress package | Procedural Worlds Support
Failed to import package with error: Couldn’t decompress package – Stack Overflow
Can’t decompress package ! – Unity Forum
resource busy or locked エラー
現象:
リソースがロックされている旨のエラーが発生して、パッケージをインストールできない。
Cannot perform upm operation: EBUSY: resource busy or locked, open 'C:\XXX\...'
原因:
エディタなど他のアプリケーションでファイルがロックされている。
対処法:
- 他のアプリケーションを閉じてから、Package Manager で再度インストールを実行する。
参考:
resource busy or locked がでてきて Package Manager がインストールできない – Qiita
EBUSY: resource busy or locked とでてパッケージがインポートできない | なつねこメモ
Resource blocked when installing Post Processing package? – Unity Forum
Project folder is read only エラー
プロジェクトフォルダに書き込めない旨のエラーが発生する。
Project folder is read only - Please move project somewhere readable and writable.
参考:
Having trouble with an error: Project folder or disk is read only. – Unity Forum
##utp type MemoryLeaks メッセージ
ログに ##utp:
で始まるメッセージが記録される。
##utp: {"type":"MemoryLeaks",...}
アプリケーションが完全に正常終了した場合に記録されるものらしい。
参考:
What is [“##utp:{“type”:”memoryleak”}”] ? – Unity Forum
Build crashes without logs to it or why it happened – Unity Forum
invalid subscript ‘uv2’ エラー
現象:
シェーダーをインポートすると uv2
が不正である旨のエラーが発生する。
invalid subscript 'uv2'
原因:
UNITY_PASS_META
が適切に定義されていない為にエラーが発生する。
対処法:
エラーが発生したシェーダーを右クリックして再インポート (Reimport) を実行する。
参考:
引っ張ってきた Unity シェーダーが invalid subscript uv2 エラー | サークル獏の佐藤敏 Unity とか備忘録
Standard Shader Invalid Subscript uv2 error – reddit
シェーダーカーネルエラー
現象:
シェーダーカーネルが見つからない旨のエラーが発生する。
Did not find shader kernel 'frag_surf' to compile
対処法:
対象のシェーダーを右クリックして再インポート (Reimport) を実行する。
参考:
Did not find shader kernel – Unity Answers
Unity 2019.x で com.unity.collab-proxy がエラーを起こす
プロジェクトロード時に com.unity.collab-proxy
が複数のエラーを発生させる。
エラー例:
error CS0117: 'Collab' does not contain a definition for 'ShowChangesWindow'
対処法:
Package Manager で Unity Collaborate を一旦削除して、Unity 2019 で動作するバージョンの Unity Collaborate をインストールし直す。
参考:
obsolete エラー
現象:
Unity のバージョンアップに伴いクラスが除去されたため使用できない旨のエラーが発生する。
error CS0619: xxx is obsolete: 'xxx has been removed. Use xxx instead.'
対処法:
Use xxx instead.
と表示されている場合は、エラーの発生したクラスの代わりに該当するクラスを使用する。
GUILayer
→ 使用できない。代わりに uGUI で UI を構築する。GUIText
→UI.Text
に置き換える。GUITexture
→UI.Image
に置き換える。
参考:
Unity のバージョンアップ時に GUIText の CS0619 エラーが大量発生 | Lab 7 in Singapore
GUI Text は非推奨になりました | TECH PROjin
Standard Assets でエラーが出た時の対処方 (error CS0619) | いかけんの家
GUI レイヤー (旧) | Unity 2020.3 マニュアル [公式]
GUILayer.deprecated.cs at 2019.3 · Unity-Technologies/UnityCsReference – GitHub
Removing the GUILayer, GUIText & GUITexture components – Unity Forum
What should I replace “GUILayer” component with? – Stack Overflow
MinAttribute is an ambiguous reference エラー
現象:
MinAttribute
が曖昧である旨のエラーが発生する。
error CS0104: 'MinAttribute' is an ambiguous reference between 'UnityEngine.PostProcessing.MinAttribute' and 'UnityEngine.MinAttribute'
対処法:
using
宣言を追加して、UnityEngine.PostProcessing.MinAttribute
を使用する。
using MinAttribute = UnityEngine.PostProcessing.MinAttribute;
Code language: C# (cs)
参考:
Post Processing Stack v1で MinAttribute のエラーが出るようになった時の対処 – Qiita
DynamicMethod が見つからない
.NET Framework 2.0 では、動的メソッドではシンボル情報 (ローカル変数名と行番号マッピング) はサポートされていません。
現象:
DynamicMethod
が見つからない旨のエラーが発生する。
error CS0246: The type or namespace name 'DynamicMethod' could not be found (are you missing a using directive or an assembly reference?)
対処法 1:
.NET Framework ランタイムのバージョン 4.x を使用する。
手順
- メニューから「Edit > Project Settings…」を開き、「Player」タブに切り替える。
- 「Other Settings > Configuration > Api Compatibility Level」の項目において、ドロップダウンリストから「.NET 4.x」を選択する。
対処法 2:
NuGet パッケージ「System.Reflection.Emit.Lightweight」を使用する。
手順
- 「System.Reflection.Emit.Lightweight」及び「System.Reflection.Emit.ILGeneration」のパッケージをダウンロードする。
- パッケージを解凍し、ランタイム実行ファイルの
System.Reflection.Emit.Lightweight.dll
とSystem.Reflection.Emit.ILGeneration.dll
を取り出して、プロジェクトフォルダのAssets/Plugins
に配置する。
参考:
Unity で.NET 4.x を使用する | Microsoft Docs [公式]
DynamicMethod クラス – System.Reflection.Emit | Microsoft Docs [公式]
System.Reflection.Emit.Lightweight | NuGet Gallery [Official]
ライトマップベイク時にクラッシュする
現象:
ライトマップをベイクしている最中にクラッシュする。
原因:
- メモリ (VRAM) が不足している。
対処法:
- VRAM を使用する他のグラフィックソフトを終了させる。
- 必要なオブジェクトにのみ
Static
を設定する。 - 不要なライトを除外する。
- シーンを分割する。
参考:
Editor crashes when calling Lightmapping.ClearLightingDataAsset() – Unity Forum
Unity Crash when Baking Lightmap – Unity Forum
Lightmap baking crashing Unity – Unity Forum
How to lightmap a very big scene without crashing? – Unity Answers
シェーダーキャッシュの異常でクラッシュする
対処法:
プロジェクト内の Library/ShaderCache
フォルダーを削除して、プロジェクトを開き直す。
参考:
シェーダーアセット | Unity 2019.4 マニュアル [公式]
クラッシュ時に未保存のシーンを復元したい
プロジェクト内の Temp
フォルダにある __EditModeScene
を Assets
フォルダ内にコピーして、.unity
拡張子を付けた名前 (RecoveredScene.unity
など) に変更する。
参考:
エディタのクラッシュ時に失われたシーン情報を復旧させる裏ワザ | テラシュールブログ
Unity エディターがクラッシュ/強制終了した時にログから原因を見つける方法と、保存していないシーン情報の復旧方法 | kan のメモ帳
You can restore unsaved scene after Unity crash | The Knights of Unity
アセットが読み込めなくなる/テレインが壊れる
.asset
拡張子のファイルは基本的には YAML 形式のテキストであるが、次の種類のデータはバイナリで保存されるため、Git でテキストとして扱うと破損する。
- Terrain
- Lighting Data
- NavMesh
- TextMesh Pro
- ProBuilder
対処法:
.gitattributes
で拡張子が .asset
のファイルをバイナリとして扱うように指定する。
*.asset binary
参考:
Unity’s TerrainData and .gitattributes | Adventures in Programming
Life with Unity + git + LFS: a rant and a call for help – reddit
Rename binary data asset file with a different file extension – Unity Forum
Terrain Data corrupted? Source control – Unity Forum
Help corrupt Terrain from Git – Unity Answers
Unknown error occurred while loading ‘Scene Name’ – Unity Forum
Terrain data is missing – Unity Answers
Failed to load LightingData.asset – Unity Forum
まとめ
Unity で初心者がハマりがちな罠とエラー対策 – Qiita
Unity でうまくいかないできない場合に確認すること | ゲームの作り方!