Unity最強のデバッグツールSRDebuggerの教科書〜SRDebuggerを体系的に学べる唯一のコンテンツ〜
ohbashunsuke
ゲームの機能開発が終了しデバッグが完了したら念願のリリースなのですが、こんな悩みがあったりしませんか?
- Unityのゲーム開発でデバッグってどうやったらよいのだろう?
- デバッグボタンを簡単に作る方法ってない?
- そもそも専用のデバッグメニューを作るのが大変
- デバッグメニュー開発にすごく時間がかかってる
- デバッグコードを本番アプリに入れたくない
ゲーム開発と密接な「デバッグ」の悩みって尽きないですよね。
デバッグはゲーム開発にとって非常に重要な作業工程です。機能開発が終わり、デバッグが完了したら念願のリリースです。
しかし、このデバッグ作業は非常に時間のかかる工程になることがあります。
例えばキャラクターの特定のアイテムを取得した時にのみ起きる不具合を見つけた場合、あなたどうしていますか?
愚直にゲームプレイして特定のアイテムをゲットするまで何度も挑戦していたらいくらあっても時間が足りません。
だから皆さんはデバッグメニューを作り、アイテムを付与できる環境を用意してデバッグしますよね。
デバッグメニューは「Unityエディタ」、「実機(書き出したアプリでプレイする実機:スマホやPC)」ともに動作させる必要があります。
なぜなら開発した機能がUnityエディタでは動作していても実機では正常に動作しないことはとてもよくあるからです。そしてデバッグメニューは開発中何度も使います。エンジニアだけでなく、デザイナー、プランナーほぼ全員が使うことになるため、使いやすさは重要です。
だからこそデバッグメニューはUnityエディタ、実機両方で動き、使いやすいデバッグメニューが求められます。
更に質問です。
ゲーム開発中デバッグメニューの開発に余裕がありますか?
僕も長年ゲーム開発に携わってきていますが、たいてい機能開発で工数がパンパンになります。
また仕様変更によって当初は確保していたデバッグメニューの開発工数がどんどん削られていきます。
しかしデバッグメニューは必要です。
結局少ない時間でデバッグメニューを作成することになりますが、この状況は過去の経験上「黄色信号」です。
時間が少なくなるため、デバッグメニューが突貫作業になってしまいます。突貫で作ったデバッグメニューはとても危険です。逆に開発効率を下げてしまう可能性があるためです。
突貫で作成したデバッグメニューには次のようなデメリットがあります。
- 追加のデバッグ機能に時間がかかる
- 適当なUIでデバッグ作業中に混乱を招く
- アクセス制御が不十分で本番環境で誤動作
- ロジックとUIが密結合し再利用が困難
- テスト不足でデバッグメニューせいでバグが発生
このように突貫のデバッグツールが大事故を起こすこともあります。
だからこそデバッグメニューはゲーム内の機能と同じくらい時間をかけて作る必要があるのです。
繰り返しになりますが、そんな時間はないんですよね😭
そこで本コンテンツでは、これらの悩みを解決する方法を紹介します。
結論から言うと「SRDebugger」というアセットです。
SRDebuggerを使うことでデバッグメニューの開発に時間が取れない状況を一気に解決してくれます。
ちなみにSRDebuggerに出会う前の僕はデバッグメニューを作るときに次のような作業をしていました。
- 自前のデバッグメニュー(Prefab)をシーン毎に作成
- デバッグメニューを呼び出すボタンの開発
→ 本番ではデバッグメニュー呼び出しボタンは非アクティブにする - デバッグUI(ボタンやテキスト)の追加
- デバッグUI追加のたびにデバッグコードの大幅修正
- デバッグUIを追加するたびにPrefab内のレイアウト修正作業
デバッグ機能を追加するたびに大き目の作業が発生するため、ゲーム開発の中でもかなり時間が取られていました。
しかし、SRDebuggerに出会って開発が一変。デバッグメニューの開発工数は約1/10へ。つまり90%の工数を削減できたのです。
SRDebuggerを使うことで今までやってきた作業がなくなりました。
・自前でPrefabを用意する必要なし
・デバッグ機能追加のたびにレイアウト修正なし
・デバッグ機能追加時は数行のコード修正で完了
今となってはSRDebugger無しでUnityゲームを開発することは考えられません。新たにあUnityプロジェクトを作成する時はSRDebuggerをいの一番にインストールします。それくらい重要なツールです。
SRDebuggerは2015年にリリースされた老舗のアセットです。僕も2015年から使い始めて10年経ちましたが、今でも現役で使っています。
有料アセットにも関わらず、いいね数は2000超え、評価は5段階中Maxの5(2025年1月時点)。世の中的にも評価されている間違いのないアセットということです。
また僕が運営するのX(旧:Twitter)でSRDebuggerについて発信したところ非常に高い反応を頂きました。
- いいね数:237
- インプレッション : 27,642
反応の高さから「デバッグ」は開発の中で重要度が高いのだと感じました。
僕はSRDebuggerがUnity最強のデバッグツールだと思っています。これからその理由を5つ紹介します。
SRDebuggerがUnity最強デバッグツールである5つの理由
SRDebuggerの使い方や具体的なノウハウに入る前に、なぜSRDebuggerがこんなに評価されているのか確認していきましょう。
どんな事を学べるのかイメージできていると学習スピードが格段に上がりますのでぜひ最後まで読んでみてください。
10年SRDebuggerを使用してきて、やっぱりSRDebuggerが最強だなと思う理由は5つあります。
- デバッグ機能の追加が簡単
- 本番コードと分離しやすい
- 柔軟な拡張性
- 実機でUnityエディタと同じ操作感を維持
- 実機でデバッグログの確認が可能
1.デバッグ機能の追加が簡単
SRDebuggerはデバッグ機能の追加がとても簡単です。例えば次のようなチェックボックスを作ってみるとします。
実は次の1行で作成することが可能なのです。
public bool IsChecked {get; set;}
通常チェックボックスを作るのは5行以上は必要になりますが、たった1行で作れてしまうのはとても便利です。
2.本番コードと分離しやすい
SRDebuggerで作成したデバッグメニューのソースコードは本番アプリのソースコードと分離しやすいです。
分離しやすいおかげで本番アプリでデバッグメニューが使えてしまうような致命的な事故を避けやすくなります。
3.柔軟な拡張性
SRDebuggerは非常に拡張性が高いです。
例えば↑上図のように機能ごとのタブメニューがあります。このタブメニューのカスタマイズが可能です。具体的には独自のタブを追加する事ができます。
例えばバトル専用のタブが必要だったら「Battle」という名前のタブを追加可能です。
皆さんの開発するゲームはバラバラですし、デバッグしたい内容もそれぞれ違います。SRDebuggerはデバッグの基盤機能として動作し、汎用性高くデバッグ機能の開発をサポートしてくれるということです。
アイデア次第でさまざまなデバッグ機能をSRDebuggerに追加、拡張できるのが魅力の1つ。
ぜひ本コンテンツで体系的にSRDebuggerを学んで頂き、ご自分のゲームにマッチしたデバッグ機能を追加してみてください。
4. 実機でUnityエディタと同じ操作感を維持
「Unityエディタでは起きないのに実機で発生する」ということはよくありますよね。
そこで大事なのは実機でデバッグメニューが使えるということ。
SRDebuggerの素晴らしい点の1つは「Unityエディタと同じ操作感で実機でも使用できる」ことです。
実機用に特別に何かを意識することは一切ありません。Unityエディタ上で用意したデバッグ機能を実機でそのまま使用できます。
「シンプルにSRDebuggerを導入しておけばOK」という安心感。そしてデバッグメニューのメンテナンスが不要というのは、デバッグ機能の開発コストを抑えられているということです。浮いた時間をクオリティアップに使えるため、SRDebuggerを導入しない理由がありません。
5.実機でデバッグログの確認が可能
5つ目の理由は実機でConsoleが確認できることです。これぞ神機能。
今まで実機テスト中にログを確認したくなったことはないですか?
SRDebuggerでは何も設定することなく実機でログを確認することができます。
こんな感じで実機上でUnityエディタと同じようにConsoleウィンドウを確認することができるのです。
すごくないですか?
しかもパフォーマンスを確認するためのProfilerまで実機で確認できます。
このようにSRDebuggerがUnity最強のデバッグツールである理由が少しはおわかり頂けたのではないでしょうか。
ここまでの機能をイチから作るとなると、とてつもない時間がかかりますし、そもそも作れない、または劣化版になる可能性もあります。
だったらさっさとAssetStoreからインポートしてしまった方が開発効率は上がりそうですよね。
以降の章ではこのSRDebuggerの具体的な使い方、ノウハウを余すことなくお伝えしていくので楽しみにしていてください。
SRDebuggerはUnityゲーム開発者全員にオススメできます。しかし、かなり機能が多いです。さすが有料アセットです。ピンポイント的な使い方でも十分に元は取れるのですが、せっかくなら使いこなしたいですよね。
そこでSRDebugger歴10年のオオバがSRDebuggerを体系的に学べるコンテンツとして作成しました。
- SRDebuggerのインストール、起動方法
- 基本的なデバッグメニューの作り方
- 実務に役立つゲーム開発でよく使う9つのケーススタディ
- より効率的にデバッグ作業を進めるノウハウ
- SRDebuggerのかゆいところに手を届かせる方法
- SRDebuggerでよくある質問Q&A集
僕の中に貯め込んでいた10年のノウハウを一箇所に詰め込んだコンテンツに仕上げています。
特に力を入れたところは実際のゲーム開発で使った実例です。僕が運営するコミュニティでもせっかくSRDebuggerを購入したけど使いこなせていない人が多かったためです。
どんな人に本コンテンツはオススメか?
デバッグ作業はどんなゲーム開発にも必ず登場します。チーム開発はもちろん個人ゲーム開発者にも非常に役立つ内容となっています。
またゲームに新しい機能を追加して面白くしたいのにデバッグやテストに工数が取られていて時間が取れない方にはピッタリです。
SRDebuggerの導入でデバッグに使っていた時間を短縮し、あなたがやりたかったクオリティアップに時間を使えるようになるかもしれません。
そしてデバッグ作業はUnity初心者から上級者まで関係なく必要です。だからこそ本コンテンツはUnityを始めたての初心者でも理解できるように気をつけて言葉選びをしています。
Unityでゲーム開発を始めて間もないけど、デバッグに困っている、これからデバッグ作業が必要な方にはぜひ読んでもらいたいです。
↓↓本コンテンツは以下に該当する方にオススメ↓↓
- チーム開発をしているUnityエンジニア
- 個人ゲーム開発者
- デバッグに時間を取られまくっている方
- デバッグに困っている
本コンテンツが向いていない人
SRDebuggerはノーコードツールではありません。ある程度プログラムを読み書きします。これからプログラミングを勉強する予定のない方には向いていません。
また買っただけで実践しない、行動しない方にも向いていません。本教材の内容を理解し実践することで初めてスキルが手に入ります。
↓↓【注意】以下に該当する方は買わないでください↓↓
- プログラミングを学習する予定のない方
- 買って実践しない方
- 買って満足しそうな方
もちろんSRDebuggerがどういうものかを知識として知りたいという方は買っていただいて大丈夫です。
SRDebuggerはどんなゲーム開発に活用できる?
本コンテンツはスマホゲームを中心に執筆していますが、PCゲームでもご活用いただけます。SRDebuggerはiOS、Android、WebPlayerプラットフォームで動作します。
本コンテンツを作成する上で使用したUnityとSRDebuggerのバージョンは以下です。もし書籍通りに動作しないことがありましたら、バージョンの確認をお願いいたします。
- Unity2022.3.50f1
- SRDebugger v1.12.1
最後に本コンテンツは買い切り型ですが、コンテンツの内容はアップデートしていきます。もちろん追加料金は一切不要です。
初期リリース時はUnity2022LTSで解説していますが、今後Unity6にも対応していく予定です。
また僕自身が現役のゲーム開発者のため、新しいSRDebuggerの使い方や便利な方法が手に入り次第、追加していきます。
注意点が2点あります。
1点目、本コンテンツは個数限定販売のためどうしても売り切れが発生します。
売り切れるたびに値段が上がっていくため、興味ある方はお早めに購入されることをオススメします。早めの購入が断然お得です。
2点目は本コンテンツにSRDebugger自体は付属していないことです。ご自分のUnityアカウントで購入して頂く必要があります。
あくまでSRDebuggerを体系的に学べるコンテンツですのでご注意ください。
それでは本コンテンツが皆様のゲーム開発に役立つことを祈っています。
本編でお待ちしております。