【Unity】デザインパターン:State2026/01/10Stateパターンとは? デザインパターンとは、プログラミングでよく出てくる問題に対する「定番の解決方法」のことです。 料理のレシピのように、「こういう問題にはこの方法で解決しよう!」という先人の知恵をまとめたものです。 Stateパターンは、オブジェクトの状態が変わったときに、その動作も変えたい場合に使えるデザインパターンです。 デザインパターン (ソフトウェア) - Wikipedia ja.wikipedia.orgデザインパターンC#
【Unity】Input Actions2025/12/27InputSystemのInputActionsとは? Input Actionsは、Unity 2019.1以降に導入された新しい入力システム(Input System Package)の中核的な機能です。 アクション指向の設計で、 キーボード、マウス、ゲームパッド、画面タッチなどの異なる入力デバイスを統一的に扱うことができます。 入力をアクションとして抽象化できるので、例えば複数のデバイスのボタン操作に「ジャンプ」というアクションに割り当て、 「ジャンプ」アクションが発生したらゲーム内でプレイヤーをジャンプさせるように作ることができます。 Input Action Assets | Input System | 1.15.0 docs.unity3d.comUnityC#
【Unity】Input ManagerとInput System2025/12/20Input Managerとは? Input Managerは、プレイヤーの入力を管理するシステムです。 キーボード、マウス、画面のタップ、ゲームコントローラの入力を判定できます。 例えば、Input.GetKey()、Input.GetMouseButtonDown()といったメソッドを使用して入力を判定できます。 現在も使用はできますが、Legacyという扱いになっており、次に紹介するInput Systemの使用が推奨されています。 Input Manager - Unity マニュアル Input Managerウィンドウでは、プロジェクトの入力軸とそれに関連するアクションを定義することができます。このウィンドウにアクセスするには、Unityのメインメニューから、 Edit > Project Settings を選択し、右のナビゲーションから Input Manager を選択します。 docs.unity3d.comUnityC#Package
【Unity】デザインパターン:Decoratorパターン2025/12/06デコレーター(Decorator)とは? Decoratorパターンとは、既存のオブジェクトに対して、元の構造を変更せずに新しい機能を動的に追加するための デザインパターンです。 「装飾」という名前の由来 このパターンが「装飾」と呼ばれる理由は、まさにクリスマスツリーの装飾と同じ考え方だからです。 基本のツリー(元のオブジェクト)はそのままに、オーナメントやライト(機能)を自由に追加・取り外しできます。 元のオブジェクトを「装飾」するように、新しい振る舞いを重ね合わせていくのが特徴です。 継承との違い 従来の継承を使った機能拡張では、以下のような問題があります: 継承の問題点: クラスが増えすぎる(組み合わせ爆発) コンパイル時に機能が固定される 複数の機能を同時に適用するのが困難 Decoratorパターンの利点: 実行時に機能を追加・削除できる 複数のデコレータを自由に組み合わせ可能 既存コードの変更が不要 機能の組み合わせ順序も制御できる 基本構造 Decoratorパターンは以下の要素で構成されます: Component(コンポーネント): 機能を定義するインターフェース ConcreteComponent(具体コンポーネント): 基本機能を実装するクラス Decorator(デコレータ基底クラス): 装飾機能の基底となるクラス ConcreteDecorator(具体デコレータ): 実際の装飾機能を実装するクラス 使用する場面 以下のような状況でDecoratorパターンが有効です: 動的な機能追加が必要: 実行時に機能のON/OFFを切り替えたい 機能の組み合わせ: 複数の効果を重ね合わせたい(攻撃力UP + 防御力UP など) 既存コードの保護: 動作中のコードを変更せずに機能を拡張したい 設定による制御: 設定ファイルやユーザー選択により機能を変更したいUnityC#デザインパターン
【Unity】不足している文字を確認する2025/11/29TextMeshProのFontAsset Unityでテキストを表示する場合、TextMeshProが標準的に使用されます。 その際事前にFontAssetを作成しておく必要がありますが、含まれる文字は生成元のフォントファイルに依存します。 フォントによっては第二水準以上の漢字などが含まれていない場合があります。 Class TMP_FontAsset | TextMeshPro | 3.2.0-pre.15 docs.unity3d.comUnityC#TextMeshPro
【Unity】Unity Event Tools2025/11/22UnityEventToolsとは? UnityのuGUIのボタンが押された時、スクロールビューなどのUI要素が変化した時などに実行したいイベントは、 UnityEventで実装されておりインスペクタ上からイベントを指定することができます。 ですが、 イベントを追加する オブジェクトをアタッチする リストから呼ばれるイベントを選択する という手順を踏む必要があります。 呼びたいイベントが決まっている場合、スクリプトからイベントを指定できると便利です。 その時に使えるのがUnityEventToolsです。 Events.UnityEventTools - Unity スクリプトリファレンス UnityEvents の作業を行うためのエディターツール docs.unity3d.comUnityC#エディタ拡張
【Unity】コンポーネントを移動させる2025/11/08コンポーネントを移動させる Unity Editor上でGameObjectを選択した場合、 アタッチされているコンポーネントがInspector上に表示されます。 コンポーネントの順番を変更したい場合はいくつかの方法で並び替えることができます。 Inspector の使用 - Unity マニュアル このページでは、Inspector ウィンドウ自体を制御するためのいくつかのオプションについて説明します。ゲームオブジェクト、スクリプト、アセットのプロパティ設定については、プロパティの編集 を参照してください。 docs.unity3d.comUnityC#エディタ拡張
【Unity】PropertyDrawer2025/11/01PropertyDrawerでインスペクタ上の見た目を変更する Unityでは選択したオブジェクトに含まれるコンポーネントの情報を、インスペクタに表示して編集することができます。 エディタ拡張用のスクリプトを用意することで、コンポーネント単位でのインスペクタ上の見た目を変更し、編集しやすくすることもできます。 複数のコンポーネントで使用される特定の型の見た目を変更するには、PropertyDrawerを使用します。 PropertyDrawer - Unity スクリプトリファレンス カスタムプロパティードローワーの基底クラスです。作成した Serializable クラスや PropertyAttribute 変数のカスタムドローワーを作成して使用することができます。 docs.unity3d.comUnityC#エディタ拡張
【Unity】独自のエディタウィンドウを作る2025/10/25エディタ拡張でウィンドウを作る Unityには、Unity Editorの機能をカスタマイズ・拡張するための仕組みがあります。 いわゆるエディタ拡張と呼ばれるものです。 開発者がUnity Editorに独自のツール、ウィンドウ、インスペクター表示、メニュー項目などを追加して、開発効率を向上させることができます。 今回は独自のウィンドウを作成する仕組みについて解説します。 EditorWindow - Unity スクリプトリファレンス エディターウィンドウを作成するにはこのクラスから派生します。 docs.unity3d.comエディタ拡張C#Unity
【Unity】デザインパターン - Command2025/09/27コマンドパターン コマンドパターン(Command Pattern)は、例えばゲーム内のアクション(キャラクターの移動、攻撃、ジャンプ、防御など)を オブジェクトとして抽象化し、実行を柔軟に制御するためのデザインパターンです。 よくある、Undo/Redoの仕組みもこのコマンドパターンで実装されていることが多いと思います。 デザインパターン (ソフトウェア) - Wikipedia ja.wikipedia.orgUnityC#デザインパターン