C#

C#

【Unity】Scriptのテンプレートを作りたい!

はじめに Unityの開発を進めているとスクリプトのテンプレートを変更したいという場面が出てきます。 例えばデフォルトで定義されているメソッドはStartとUpdateだけですが、Awakeを追加したいとか、OnDestroyを追加したいと...
C#

【Unity】Releaseビルドのときだけシンボル(#define)を定義したい!!

はじめに ログ出力などのデバッグ機能は、デバッグビルドでは定義したいけどReleaseビルドでは消したい、など条件によって処理実装有無を切り替えたい場合が開発していると出てきます。 ProjectSetting > Player > Oth...
C#

【Unity】Script(Component)の実行順を制御する

はじめに UnityでComponentを作成していると、実行順を制御したい場合が出てきます。 例えばComponentAでインスタンスを作成し、ComponentBでそれを参照したいときなどにはComponentAの実行後にCompone...
C#

【Unity ECS】BakeはStartよりも遅い(場合がある)

はじめに 気付いたきっかけ。 UnityEditor上では問題なく動くのに、Buildすると意図通りに動かない。そんな現象にあたりました。 MonoBehaviour(A)にBakerクラスを追加して、SpawnerComponentを作成...
C#

【Unity】【C#】WindowsとUnityのパスを相互変換する

はじめに Unityを触っているとファイルなどを開くときに「Assets/」から始まるパス(以下Assetパス)で指定していることに気づくと思います。 通常Windows環境ではドライブ名から始まる「C:/Projects/MyGame/A...
C#

【Unity】関数名(とコンポーネント名)から参照しているオブジェクトを検索するエディタ拡張

はじめに Unityではボタンなどのイベントに別のコンポーネントのメソッドを指定して、ボタンが押された指定の関数を呼び出すという事ができます。 これはインスペクタ上でこのように設定することで実現できますが、これを行うとコードからの逆検索が難...
C#

【Unity】 VisualEffectGraph のプロパティに属性を付与する

はじめに 本記事ではVisualEffectGraphのプロパティに「擬似的に」属性を付与する方法について解説します。付随してProperty Bindingを自前で実装する方法とその使い方についても記載します。 VisualEffectG...
C#

【Unity】PrefabをInstantiateした時のStartとAwakeいつ実行される?

はじめに Unityでは用意しておいたPrefabをInstatinateしてゲーム上に反映するということがしばしばあると思います。 その際のAwakeとStartの挙動について知っておいた方がよさそうな感じだったので、記事に残しておきます...
C#

【Unity】シリアル化可能なDictionaryを使いたい!(SerializableDictionary)

はじめに 私はDictionaryが好きで実装時によく使うのですが、Unityで使用するとかゆいところに手が届かない問題があります。 それはデフォルトでシリアル化されないこと。 例えば、ScriptableObjectでDictionary...
C#

【Unity】派生クラスをSingletonにしたい時どうする?

UnityでMonoBehaviourの派生クラスをSingletonにしたい時の実装案です