コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity プロジェクト起動時に毎回 API Update Required が表示される場合

はじめに Unity プロジェクトを開いていない状態で Assembly-CSharp-firstpass.csproj に含まれているスクリプトが変更されると 次に Unity プロジェクトを開こうとする時に API Update Required が表示される状態だった 解決方法 Assembly-CSharp-firstpass…

【Unity】Addressable Asset System で例外を検知する方法

概要 try~catch で例外を検知することはできない ResourceManager.ExceptionHandler で例外を検知することができる Application.LogCallback のようなもの 例外はただの Exception で飛んできてきているようなので、 ResourceManager.ExceptionHandler の引…

【Unity】DOTween で 対象のゲームオブジェクトが破棄されたら Tween も破棄する方法

概要 MissingReferenceException: The object of type 'XXXX' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. DOTween を使っているシーンで他のシーン…

【Unity】An error occurred while resolving packages: No 'git' executable was found. Please install Git on your system and restart Unity

概要 An error occurred while resolving packages: Project has invalid dependencies: xxxx: No 'git' executable was found. Please install Git on your system and restart Unity Git に公開されているパッケージを使用している Unity プロジェクトを開…

【Android】'lib\monitor-location' が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。

概要 'lib\monitor-location' が見つかりません。 名前を正しく入力したかどうかを確認してから、やり直してください。 【Android SDK】\tools\monitor.bat を起動したところ 上記のメッセージが表示された こちらの対応を行ったら正常に起動できるようにな…

【Android】A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Monitor

概要 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Monitor, No Java virtual machine was found after searching the following locations : XXXX javaw.exe in your current PATH 【Android SDK】\…

【Unity】Unity 2018 のプロジェクトを Unity 2019 にアップデートした際に RawImage の Animation の UV Rect が Missing になる

概要 Unity 2018 のプロジェクトを Unity 2019 にアップデートした際に RawImage の Animation の UV Rect が Missing になることがある Unity 2018 から Unity 2019.2.9f1 にアップデートすると発生する Unity 2019.2.10f1 にアップデートすると発生しない

【Unity】Curl error 6: Could not resolve host: config.uca.cloud.unity3d.com

概要 Curl error 6: Could not resolve host: config.uca.cloud.unity3d.com Curl error 6: Could not resolve host: cdp.cloud.unity3d.com Unity 2019.2.15f1 において PC を機内モードにしたところ、何も操作していなくても Unity の Console ウィンドウ…

【Unity】Found plugins with same names, and . Delete the one of the duplicate plugins.

概要 Found plugins with same names, and . Delete the one of the duplicate plugins. Unity 2018.4 のプロジェクトを 2019.2 にアップデートして Android ビルドしようとしたところ、上記のエラーが発生してビルドできなかった Unity プロジェクトを終了…

【Unity】Unity 2019.3.0f3 や Unity 2019.3.0f1 だと OnInspectorGUI で EditorGUILayout.Foldout の矢印が動作しない

概要 using UnityEditor; [CustomEditor( typeof( Example ) )] public class ExampleEditor : Editor { private bool m_isOpen; public override void OnInspectorGUI() { m_isOpen = EditorGUILayout.Foldout( m_isOpen, "Open" ); if ( m_isOpen ) { Edit…

【Unity】No Sprite Editor Window registered. Please download 2D Sprite package from package manager.

概要 スプライトの「Sprite Editor」を開こうとした時に No Sprite Editor Window registered. Please download 2D Sprite package from package manager. このようなメッセージが表示された場合は Unity メニューの「Window > Package Manager」から 「2D S…

【Unity】Unity Remote で表示されるゲーム画面をキレイにする方法

概要 Unity メニューの「Edit > Project Settings...」から「Editor」を選択して 「Resolution」を「Normal」に変更すると、 Unity Remote で表示されるゲーム画面をキレイにすることができます (代わりに Unity Remote の動作が遅くなる可能性があります)…

【Unity】Unity Remote 接続中に Input.GetKey や Input.GetButton などが反応しない場合

概要 Unity メニューの「Edit > Project Settings...」から「Editor」を選択して 「Joystick Source」を「Local」に変更すると、 Unity Remote 接続中に Input.GetKey や Input.GetButton などが動作するようになります

【Unity】uGUI のボタンが反応しない場合に考えられる原因

はじめに uGUI のボタンが反応しない場合に考えられる原因を書き残しておきます 1. Canvas に GraphicRaycaster が アタッチされていない そのボタンが所属している Canvas に 「GraphicRaycaster」がアタッチされていない可能性があります その場合は、Canv…

【Unity】Internal: Stack allocator ALLOC_TEMP_THREAD has unfreed allocations, size 1552

概要 Internal: Stack allocator ALLOC_TEMP_THREAD has unfreed allocations, size 1552 Unity 2017 のプロジェクトを Unity 2018 にアップデートして そのまま Android ビルドしたところ、上記のエラーが発生してビルドに失敗した Unity を再起動してもう…

【Unity】Unity IAP の OnInitializeFailed で InitializationFailureReason.NoProductsAvailable が返ってきた

はじめに Google Play Console の内部テストで課金検証を行っていた時に Unity IAP の OnInitializeFailed で InitializationFailureReason.NoProductsAvailable が返ってきた Google Play Console にも Unity プロジェクトにも 正しいアイテム ID が登録さ…

【Unity】エディタ上でオブジェクトやアセットをドラッグ&ドロップできなくなった場合

概要 エディタ上でオブジェクトやアセットをドラッグ&ドロップできなくなった場合、 自分の環境では Unity エディタを再起動するだけでは直らず、 PC を再起動したら直りました

【Unity】Currently selected scripting backend (IL2CPP) is not installed

概要 PC ビルドしようとした時に、Build Settings ウィンドウに Currently selected scripting backend (IL2CPP) is not installed と表示されている場合、 Unity Hub の Installs タブから「Add Component」を選択して 「Window Build Support (IL2CPP)」を…

【Unity】UnityException: Can not sign the application, Unable to sign the application; please provide passwords!

概要 UnityException: Can not sign the application Unable to sign the application; please provide passwords! Android ビルド時に上記のエラーが発生する場合、 Player Settings で keystore のパスワードを入力してからビルドする必要があります

【Unity】EditorUtility.SetDirty が正常に動作しない場合

概要 Undo.RecordObject( tilemap, "Refresh All Tiles" ); tilemap.RefreshAllTiles(); EditorUtility.SetDirty( tilemap ); Undo.RecordObject を併用すると正常に動作する模様 参考サイト様 https://forum.unity.com/threads/editorutility-setdirty-brok…

【Unity】TextMesh Pro でハイパーリンクが正常に動作しない場合

概要 Canvas の Render Mode が Screen Space - Overlay の場合は var index = TMP_TextUtilities.FindIntersectingLink( text, position, null ); TMP_TextUtilities.FindIntersectingLink の第3引数に null を設定します Canvas の Render Mode が Screen …

【Unity】Script 'XXXX' will not be compiled because it exists outside the Assets folder and does not to belong to any assembly definition file.

概要 Script 'XXXX' will not be compiled because it exists outside the Assets folder and does not to belong to any assembly definition file. Packages に存在するスクリプトが Assembly Definition File に属していない場合 上記の警告が出力されま…

【Unity】The character used for Ellipsis is not available in font asset [XXXX].

はじめに The character used for Ellipsis is not available in font asset [XXXX]. TextMesh Pro を使用していたら上記の警告が出力される現象に遭遇した 解決方法 TextMesh Pro に含まれている LineBreaking Following Characters.txt LineBreaking Leadi…

【Unity】ScriptableObject のクラス名を変更すると AssetDatabase.FindAssets( "t:XXXX" ) でヒットしなくなる

検証環境 Unity 2018.4.8f1 概要 リネーム前 using UnityEngine; public class Example : ScriptableObject { } 例えば Example という名前の ScriptableObject のクラスを定義して すでにアセットを作成している場合、 Project ビューで「t:Example」形式で…

【Unity】ScriptableObject の private 変数に設定した値は Unity エディタの再生を停止しても保持されてしまう

検証環境 Unity 2018.4.8f1 概要 using UnityEngine; public class Example : ScriptableObject { private string[] m_list; public string[] List { get { // はじめてアクセスされたら配列を作成する if ( m_list == null || m_list.Length <= 0 ) { m_lis…

【Unity】ScriptableObject の private な文字列や配列は初期値が null ではなく空文字列や空配列になる

検証環境 Unity 2018.4.8f1 概要 using UnityEngine; public class TestScene : MonoBehaviour { private string m_text; private string[] m_array; private void OnEnable() { Debug.Log( m_text == null ); // True Debug.Log( m_array == null ); // Tru…

【Unity】strings.xml を配置してもアプリ名がローカライズされない場合

概要 I2 Localization を Unity プロジェクトに追加している場合、 strings.xml を配置してもアプリ名がローカライズされません I2 Localization でアプリ名のローカライズ方法を指定する必要があります

【Unity】Found null component in ZenjectBinding on object 'XXXX'

概要 Null なコンポーネントを Zenject でバインド使用とした場合、 Found null component in ZenjectBinding on object 'XXXX' 上記の警告が出力されます

【Unity】Unity 2019.2.2f1 でシーンファイルを開く時に VSCode が起動してしまう場合の対処方法

概要 Unity 2019.2.2f1 でシーンファイルを開く時に VSCode が起動してしまう場合、 Unity メニューの「Window > Package Manager」を選択して 「Visual Studio Code Editor」の項目を開いて「1.1.2」を選択して 「Update to 1.1.2」ボタンを押すと直る もし…

【Unity】GitHub で管理しているパッケージのライセンス表記が「View license」になってしまう場合の対処方法

はじめに MIT ライセンスを適用した Unity のパッケージのライセンス表記が 「View license」になってしまったり、 shields.io の表記が「not identifiable by github」になってしまう現象に遭遇した 対処方法 「LICENSE.meta」を削除したら正常に表示される…