コガネブログ

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

【Python】フォルダ内のすべてのファイルの名前から特定の文字列を正規表現で削除する例

スクリプト

【Unity】「Multi-Process AssetBundle Building」でアセットバンドルのビルドを高速化

概要 Unity 2023.1 から、アセットバンドルをマルチプロセスでビルドできる 「Multi-Process AssetBundle Building」という機能が追加された Project Settings の「Editor > Multi-Process AssetBundle Building」をオンにすることで BuildPipeline.BuildAss…

【Unity】他のシーンのゲームオブジェクトの参照を Inspector で設定する方法

概要 上記のパッケージを Unity プロジェクトに追加すると 他のシーンのゲームオブジェクトの参照を Inspector で設定できるようになります 使い方 「Scene1」と「Scene2」という 2 つのシーンが存在しており、 Scene2 のゲームオブジェクトを Scene1 で参照…

【Unity】Android ビルドで Firebase Crashlytics が正常に動作しない場合

概要 using System; using UnityEngine; public class Example : MonoBehaviour { private void Update() { throw new Exception( "ライチュウ" ); } } Firebase Crashlytics を導入している Unity プロジェクトで Android で例外が発生しても Firebase コン…

【Unity】ArgumentException: GetComponent requires that the requested component 'GameObject' derives from MonoBehaviour or Component or is an interface.

概要 using UnityEngine; public class Example : MonoBehaviour { private void Start() { var go = gameObject.GetComponent<GameObject>(); } } 上記のようなコードを実行したら ArgumentException: GetComponent requires that the requested component 'GameObject'</gameobject>…

【Unity】Crashlytics.ReportUncaughtExceptionsAsFatal で、捕捉されなかった例外を「非致命的」ではなく「クラッシュ」として扱う

概要 using System; using UnityEngine; public class Hoge : MonoBehaviour { private void Update() { throw new Exception( "ピカチュウ" ); } } Firebase の Crashlytics では通常、try ~ catch で捕捉されなかった例外は 「非致命的」として扱われるが…

【Unity】Object.InstantiateAsync で複数のオブジェクトを同時に Instantiate する

使用例 1 using Cysharp.Threading.Tasks; using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private GameObject m_original; private async UniTask Start() { var operation = InstantiateAsync( m_original, 10 ); // 10 個…

【Unity】Alt + 数字キーでシーンやアセットを開けるエディタ拡張

リポジトリ 使い方 Project Settings の「Kogane > Open Asset Shortcuts」を選択して シーンやアセットを設定することで、Alt + 数字キーで開けるようになります 補足 「Shortcut Conflict」が表示された場合は 「Kogane/Open Asset Shortcuts/Open Asset X…

【Unity】ローカル座標の距離が一番近いコンポーネントを検索して返す拡張メソッド

ソースコード /// <summary> /// ローカル座標の距離が一番近いコンポーネントを検索して返します /// </summary> public static T2 FindClosestByLocalPosition<T1, T2> ( this IReadOnlyList<T2> self, T1 component, float maxDistance ) where T1 : Component where T2 : Component { T2</t2></t1,>…

【Unity】GameObject.SetGameObjectsActive で複数のゲームオブジェクトのアクティブを一括で設定する

使用例

【Unity】Vector2 の配列やリストから指定した値に一番近い要素を取得する拡張メソッド

ソースコード

【Unity】ClipboardUtility でエディタ上でのクリップボードのイベントを検知する

使用例 参考サイト様

【Unity】見下ろし型の 2D ゲームでプレイヤーが上下左右どの向きに移動したか取得する例

スクリプト

【Unity】IFilterBuildAssemblies でビルドから .dll を除外する

使用例 参考サイト様

【Unity】UnityException: XXXX is not allowed to be called during serialization, call it from Awake or Start instead. Called from MonoBehaviour 'YYYY' on game object 'ZZZZ'.

概要 UnityException: XXXX is not allowed to be called during serialization, call it from Awake or Start instead. Called from MonoBehaviour 'YYYY' on game object 'ZZZZ'. Unity エディタでコンパイルが完了した時に 上記の例外が発生する現象に遭…