コガネブログ

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

【Unity】FilePath を適用した ScriptableSingleton が保存されるが読み込まれない場合

概要 ScriptableSingleton のクラスの名前とファイル名が一致していない可能性がある

【Unity】MultiProcessBuild でアセットバンドルが正常にビルドできない場合

概要 BuildPipeline.cs 95 行目付近の文字列整形処理で string cmd = string.Format(" -quit" + " -batchmode" + " -logfile \"{0}/log_{1}.txt\"" + //" -projectPath {0} " + " -executeMethod MultiProcessBuild.BuildPipeline.BuildJobSlave" + " -build…

【Unity】TypeError: Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-finite.

概要 Game.loader.js:303 Invoking error handler due to TypeError: Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-finite. at _startPlayback (http://localhost:63752/Build/Game.framework.js:210…

【Unity】MissingReferenceException: The object of type 'HostView' has been destroyed but you are still trying to access it.

概要 Unity 2022.1.0b7 の Game ビューを「Fullscreen」モードにして Unity を再生すると MissingReferenceException: The object of type 'HostView' has been destroyed but you are still trying to access it. Your script should either check if it is…

【Unity】一度もアクティブになっていないゲームオブジェクトの OnDestroy は呼ばれない

概要 using UnityEngine; public sealed class Example : MonoBehaviour { private void OnDestroy() { Debug.Log( "OnDestroy" ); } } OnDestroy の時にログ出力する自作コンポーネントを ゲームオブジェクトにアタッチした場合 そのゲームオブジェクトが一…

【Unity】Unity 2021.2.11f1 の WebGL ビルドで AudioSource.clip によるサウンドの変更ができない

概要 using UnityEngine; public sealed class Example : MonoBehaviour { [SerializeField] private AudioSource m_audioSource; [SerializeField] private AudioClip m_audioClip1; [SerializeField] private AudioClip m_audioClip2; private void Update…

【Unity】Unity エディタが重い・Hold on や Unity is busy が長い時に試すこと 33 選

はじめに Unity エディタが重くて操作に時間がかかる時や Hold on・Unity is busy のプログレスバーが消えずに Unity が操作できない時に 自分が試して解決した方法や、 公式フォーラムなどでこうすると解決したと報告があった方法を紹介していきます 目次 …

【Unity】Windows IL2CPP ビルドした時に生成される XXXX_BackUpThisFolder_ButDontShipItWithYourGame はリリースビルドに含めなくていい

概要 https://docs.unity3d.com/ja/current/Manual/WindowsPlayerIL2CPPBuildProducedFiles.html a_BackUpThisFolder_ButDontShipItWithYourGame ゲームのデバッグに必要なデータを格納するフォルダー。 PDB (デバッグ情報) ファイルや、スクリプトから生成…

【Unity】UnityEditor.Selection.Internal_CallSelectionChanged で NullReferenceException

概要 NullReferenceException: Object reference not set to an instance of an object UnityEditor.PropertyEditor.DrawEditors (UnityEditor.Editor[] editors) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0) UnityEditor.PropertyEditor.RebuildContentsCon…

【Unity】古い Unity Hub(2.4.5)をインストールする方法

概要 https://github.com/baba-s/Unity-Hub-2.4.5 古い Unity Hub が公式サイトからダウンロードできないようなので 古いバージョンに戻せるように 2.4.5 のインストーラを GitHub のリポジトリにアップしました

【Unity】Unity Hub のキャッシュが約 8 GB ほど溜まっていたので削除した

概要 WizTree でディスクの使用容量を調べていたところ、 C:\Users\【ユーザー名】\AppData\Local\Temp 上記のフォルダに Unity Hub のキャッシュが保存されており合計で約 8 GB ほど溜まっていたので削除した

【Unity】Package Name has not been set up correctly

概要 UnityException: Package Name has not been set up correctly Please set the Package Name in the Player Settings. The value must follow the convention 'com.YourCompanyName.YourProductName' and can contain alphanumeric characters and unde…

【Unity】TargetException: Non-static field requires a target

概要 TargetException: Non-static field requires a target System.Reflection.RuntimeFieldInfo.SetValue (System.Object obj, System.Object val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.Cu…

【Unity】Unable to find player assembly: XXXX\Temp\StagingArea\Data\Managed\UnityEngine.TestRunner.dll

概要 Unable to find player assembly: XXXX\Temp\StagingArea\Data\Managed\UnityEngine.TestRunner.dll UnityEngine.Debug:LogWarning (object) Unity.Burst.Editor.BurstAotCompiler:OnPostBuildPlayerScriptDLLsImpl (UnityEditor.Build.Reporting.Build…

【Unity】You are making an Android IL2CPP build, but it does not have native 64-bit support.

概要 You are making an Android IL2CPP build, but it does not have native 64-bit support. It is recommended to enable ARM64 in Player Settings: Target Architecture in to natively support 64-bit devices. Android で IL2CPP ビルドした時に上記…

【Unity】WorkerState(Connecting), ImporterState(Initializing) worker timed out connecting with editor

概要 Unity プロジェクトの起動が完了しない現象に遭遇した WorkerState(Connecting), ImporterState(Initializing) worker timed out connecting with editor Editor.log を見たところ上記のログが連続で出力されていた 一度、Project Settings で「Paralle…

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

概要 The character used for Underline is not available in font asset [XXXX]. TextMesh Pro のフォントに必要な文字をすべて登録しているはずなのに TextMesh Pro を表示する時に上記の警告が出る場合は ()_ 上記の文字をフォントに登録すると警告が消え…

【Unity】Unable to add the requested character to font asset [XXXX]'s atlas texture. Please make the texture [XXXX] readable.

概要 Unable to add the requested character to font asset [XXXX]'s atlas texture. Please make the texture [XXXX] readable. TextMesh Pro でダイナミックフォントを使用している時に上記の警告が出る場合は Project ウィンドウでダイナミックフォント…

【Unity】AssetBundleBrowser: Bundle name 'XXXX' contains a period

概要 AssetBundleBrowser: Bundle name 'XXXX' contains a period. Internally Unity keeps 'bundleName' and 'variantName' separate, but externally treat them as 'bundleName.variantName'. If a bundleName contains a period, the build will (probab…

【Unity】Hierarchy を右クリックして UI を作成できなくなった場合

概要 Hierarchy を右クリックした時に「UI」という項目が表示されておらず UI を作成できなくなった場合、 Unity メニューの「GameObject > UI」から UI を作成できる 参考サイト様

【Unity】Building Library\Bee\artifacts\Android\Manifest\LauncherManifestDiag.txt failed with output:

概要 Building Library\Bee\artifacts\Android\Manifest\LauncherManifestDiag.txt failed with output: System.Xml.XmlException: Name cannot begin with the '<' character, hexadecimal value 0x3C. Line 29, position 5. at System.Xml.XmlTextReaderIm…

【Unity】Input System で Switch のプロコンが認識されない場合

概要 USB 接続だと認識しなかった Bluetooth 接続だと認識した

【Unity】You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.

はじめに You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings. Input System を導入している Unity プロジェクトで 上記のエラーが発生した時の対…

【Unity】Failed to load 'XXXX.dll', expected x64 architecture, but was x86 architecture.

概要 Failed to load 'XXXX.dll', expected x64 architecture, but was x86 architecture. You must recompile your plugin for x64 architecture. DllNotFoundException: XXXX 自作の C++ Native Plugin を DllImport して使おうとしたら 上記のエラーが発…

【Unity】IPreprocessBuildWithReport で例外が発生した時にビルドを止める方法

概要 using System; using UnityEditor.Build; using UnityEditor.Build.Reporting; public class Example : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( BuildReport report ) { throw new Exception(); …

【Unity】UnityEngine.Object の Null チェックまとめ

結論 SerializeField で Null なフィールド == null は Null だと判定できる ??、?.、??=、is null は UnassignedReferenceException が発生する Destroy した直後の UnityEngine.Object == null は Null だと判定できない ??、?.、??=、is null も Null だ…

【Unity】Instantiating material due to calling renderer.material during edit mode. This will leak materials into the scene. You most likely want to use renderer.sharedMaterial instead.

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var gameObject = Selection.activeGameObject; var lineRenderer = gameObject.GetComponent<LineRenderer>(); lineRenderer.materi</linerenderer>…

【Unity】The class named 'XXXX' is not derived from MonoBehaviour or ScriptableObject!

概要 The class named 'XXXX' is not derived from MonoBehaviour or ScriptableObject! Console ウィンドウにこのような警告メッセージが表示される場合は シーンに存在するゲームオブジェクトに MonoBehaviour を継承していないクラスのスクリプトがアタッ…

【Unity】GameObject (named 'XXXX') references runtime script in scene file. Fixing!

概要 GameObject (named 'XXXX') references runtime script in scene file. Fixing! Console ウィンドウにこのような警告メッセージが表示される場合は シーンに存在するゲームオブジェクトに MonoBehaviour を継承していないクラスのスクリプトがアタッチ…

【Unity】'XXXX' is missing the class attribute 'ExtensionOfNativeClass'!

概要 'XXXX' is missing the class attribute 'ExtensionOfNativeClass'! Console ウィンドウにこのようなエラーメッセージが表示される場合は シーンに存在するゲームオブジェクトに MonoBehaviour を継承していないクラスのスクリプトがアタッチされている…