unity-observer-pattern について
Unity Observer Pattern (Reactive Properties)は、通常の変数を監視可能なプロパティとして扱うUnity向け実装です。C#リスナーとUnityEventsの両方に対応し、Inspector設定やシーン・Prefabに保存できる編集モードの接続機能を備えています。
主な機能
- 01C#リスナーとUnityEventsに対応
- 02監視値の暗黙的な型変換
- 03Inspectorでのイベント設定
- 04編集モードでの永続的なイベント接続
- 05イベントフローの構造化ログ
活用シーン
- 01値の変更時にUIメソッドへ通知
- 02C#コードからプロパティ変更を監視
- 03イベント接続をシーンやPrefabに保存
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ muharremtozan/ unity-agent-skills --skill unity-observer-patternインストール後、Claude Code で/unity-observer-patternを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/code/Observable.cs.txtObservableEditorTools.cs.txtObservableExample.cs.txtreferences/guide.md詳細
Unity Observer Pattern(リアクティブプロパティ)
標準的な変数を「スマートプロパティ」に変える、オブザーバーパターンの強力な実装です。「Generic Observer」アーキテクチャに基づく、完全なインスペクター対応と編集モード用ツールを備えています。
主な機能
- ハイブリッド方式:標準の C# リスナー(プロ向け方式)と UnityEvents(デザイナー向け/ライト方式)の両方に対応します。
- 暗黙的なキャスト:
int x = myObservableInt;のようにシームレスに記述できるため、.Valueの記述は不要です。 - エディターでの永続化:編集モードで永続的な呼び出しをプログラムから設定し、シーン/プレハブに保存できます。
- 診断ログ:イベントの流れを追跡するための、構造化されたログ機能を内蔵しています。
主なファイル(最大 3 個)
Observable.cs.txt:暗黙的なキャストとエディターでの配線機能を内蔵した、汎用ラッパーの本体です。ObservableEditorTools.cs.txt:永続的な UnityEvents をクリアするための、高度なリフレクションハックです。ObservableExample.cs.txt:UI バインディングとライフサイクル管理を示す具体例です。
使い方
オプション A:ライト方式(インスペクター)
- フィールドを定義します:
public Observable<int> health;。 - Unity インスペクターで、UI メソッドを
On Value Changedリストにドラッグします。
オプション B:プロ向け方式(コード)
health.AddListener( val => Debug.Log( val ) );
health.Value = 50; // Automatically triggers notification
オプション C:暗黙的な使用方法
int currentHealth = health; // Works automatically via implicit operator
クリーンアップ
メモリーリークを防ぐため、OnDisable で必ず RemoveListener または Dispose を呼び出してください。
コメント
Markdown 対応