mcpField
U
unity-singleton-pattern

unity-singleton-pattern

github.com/muharremtozan開発1751 回インストール22 週間前に更新
リポジトリ

unity-singleton-pattern について

ゲーム、UI、入力などのグローバルシステムを管理するUnity向けSingletonのバリエーション集です。標準的な重複防止に加え、シーンをまたぐ永続化や最新インスタンスを残す方式を備えています。

主な機能

  1. 01標準的な重複防止
  2. 02シーン間の永続化
  3. 03最新インスタンスの維持
  4. 04静的なグローバルアクセス

活用シーン

  1. 01グローバルなUIマネージャーの管理
  2. 02シーン間でのインベントリ状態の維持
  3. 03既存の音楽システムの置き換え

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/muharremtozan/unity-agent-skills --skill unity-singleton-pattern

インストール後、Claude Code で/unity-singleton-patternを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/code/
SingletonBase.cs.txt
SingletonExample.cs.txt
SingletonRegulator.cs.txt

詳細

Unity のシングルトンパターン

グローバルシステム向けの、堅牢なシングルトンのバリエーション集です。Ohm-Yura プロジェクトのルール「シングルトンはグローバルシステム(GameManager、UIManager、InputManager)にのみ使用する」に準拠しています。

主な機能

  1. Singleton:標準的な管理機能です。元のインスタンスを維持するため、新たな重複インスタンスを破棄します。
  2. PersistentSingleton:Singleton を拡張し、Don't Destroy On Load(DDOL)によってシーンをまたいで状態を維持します。
  3. RegulatorSingleton:高度な逆ロジックを備えています。古いインスタンスを破棄して最新のインスタンスを維持します(ホットスワップに便利です)。
  4. StaticInstance:重複の防止機能を持たない、軽量なグローバルアクセスです。

主なファイル(最大 3 個)

  • SingletonBase.cs.txt:標準型と永続型の汎用基底クラスです。
  • SingletonRegulator.cs.txt:タイムスタンプ付きレギュレーター型のロジックです。
  • SingletonExample.cs.txt:Game マネージャーと UI マネージャーの具体例です。

使い方

1. 標準マネージャー
public class UIManager : Singleton<UIManager> { }
// Use via: UIManager.Instance.Show();
2. 永続マネージャー
public class InventoryManager : PersistentSingleton<InventoryManager> { }
// Survives scene changes.
3. レギュレーター(システムの入れ替え)
public class MusicSystem : RegulatorSingleton<MusicSystem> { }
// Spawning a new one will automatically kill the old one.

基本原則

常に、最も制約の厳しいバージョンを使用してください。シーンをまたいで永続化する必要がない場合は、Singleton<T> を使用してください。参照だけが必要で、重複を許容できる場合は、StaticInstance<T> を使用してください。

コメント