サムザップ内製のUnityデバッグツール「Spica.Debugger」はUI Toolkitで構築。高い拡張性を実現した内部実装をブログで解説

サムザップ内製のUnityデバッグツール「Spica.Debugger」はUI Toolkitで構築。高い拡張性を実現した内部実装をブログで解説

2026.07.24
ニュースゲームづくりの知識Unityプログラム
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • サムザップ、内製Unity向けアプリケーション基盤「Spica」に含まれるデバッグツール「Spica.Debugger」の詳細をブログ記事で紹介
  • UI Toolkitをベースに構築。ゲーム本体のUIとは独立して動作することや、USSに対応していることなどを利点に挙げている
  • プロジェクト固有の要件に応じて拡張機能を導入する仕組みなどを、実際のコードをもとに解説している

サムザップは2026年7月7日(火)、『UI Toolkitで自作するUnityランタイムデバッグツールの設計と実装』と題した記事を、自社ブログ「Sumzap Engineering Blog」で公開しました。

同社内製のUnity向けアプリケーション基盤「Spica」に含まれるデバッグツール「Spica.Debugger」について、設計思想や内部実装の詳細を語っています。

(画像はブログ記事より引用)

同社では従来、デバッグツールとしてサードパーティ製の「SRDebugger」を使用していましたが、長らく更新が停止していたため最新のUnityバージョンに対応しておらず、また社内で挙がる独自要件を満たす上で拡張性に課題を抱えていたといいます。

こうした背景から内製デバッグツールの開発に踏み切り、「Spica」を構成するパッケージのひとつとして「Spica.Debugger」が誕生。共通基盤を維持しつつ、個々のプロジェクトに応じて拡張できる設計が目指されました。

「Spica.Debugger」の操作画面(画像はブログ記事より引用)

同社が掲げるランタイムデバッガの要件に対応するべく、ツールは「UI Toolkit」をベースに構築。

uGUIではなくUI Toolkitを採用するメリットとして、ゲーム本体のUIを構築する「uGUI」とは独立した動作が可能となることや、「USS(Unity Style Sheets)」(※)でスタイルを管理できること、ListViewにおけるVisualElementを仮想化できることなどが挙げられています。
※ CSS(Cascading Style Sheets)に近い形式で、UIのフォントやカラーといったデザインを定義できるスタイルシート言語

「Spica.Debugger」におけるConsoleページの構成。UI ToolkitのListViewは、画面に表示されるVisualElementのみを生成でき、数千にわたるログを快適にスクロール可能(画像はブログ記事よりスクリーンショットで引用)

「Spica.Debugger」の設定はすべて「DebuggerSettings」というScriptableObjectに集約され、Inspector上にその全貌が一覧されます。

Inspectorには「UI Assets」や「Triggers」など全ての設定項目が掲載されている(画像はブログ記事より引用)

プロジェクト固有の拡張機能は、独自にScriptableObjectを作成してDebuggerSettingsに登録することで自由に追加できます。

拡張可能な機能は、デバッガの起動方法を指定する「Trigger」、バグレポートの送信先を指定する「Report Sender」、ツールのUI構成を定義する「DebugPage」の3種類で、それぞれ抽象クラスを継承することでScriptableObjectを作成します。

たとえばTriggerにおいては、抽象クラスの「TriggerBase」を継承して「端末を振ったらデバッガが開く」という独自クラス「ShakeTrigger」を作成する実装例が紹介されています。

TriggerBaseの実装。ライフサイクル(Initialize/Update/Dispose)と、発火を通知するメソッド「Trigger」が提供される(画像はブログ記事よりスクリーンショットで引用)

そのほか、UI Toolkitのさらなる利点として「ランタイムで動いているデバッガと同一のものをEditor Window内でも表示・操作できる」ことについて、内部の仕組みやユースケースが紹介されています。

詳細は、Sumzap Engineering Blogのブログ記事をご確認ください。

UI Toolkitで自作するUnityランタイムデバッグツールの設計と実装 | Sumzap Engineering Blog

関連記事

Unity 6でシェーダーコンパイルのスタッターを防止する「GraphicsStateCollection」の活用術、サイバーエージェント「コアテク」がブログ記事で解説
2026.07.22
Unity&Epic協業による技術デモの発表や、Unity公式2Dサンプルゲーム『Bunny Blitz』のリリースも。「Unite Seoul 2026」基調講演のアーカイブが公開中
2026.07.22
「Unity 7」が発表。シェーダービルドが最大90%高速化、Unity 6から再構築なしで移行可能
2026.07.21
ゲーム開発関連ツールのリリース・アップデートまとめ【2026/7/18】
2026.07.18
サイバーエージェント主催のUnity勉強会「CA.unity #11」、講演動画が公開。AIによる自律的な開発支援を行う「Unity CLI Loop」の活用事例など全4講演
2026.07.17
Epic Gamesのマーケットプレイス「Fab」、7/28(火)までの期間限定で無料コンテンツを公開。スタイライズな村を作れる環境アセットなど3製品
2026.07.15

注目記事ランキング

2026.07.17 - 2026.07.24
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

ライト(Light)
ライト 3DCGにおいては、光源のことを指す。
VIEW MORE

Xで最新情報をチェック!