【Unity】HelpURLAttributeを使ってヘルプページに飛ばすサンプル

【Unity】HelpURLAttributeを使ってヘルプページに飛ばすサンプル

Inspectorウィンドウで何か作業を行なっている時、自作したコンポーネントやスクリプトの使い方を調べたいことがあります。

自分ひとりで開発しているならまだしも、あなたが開発担当ではないケースだと、自作スクリプトの使い方が分からないことがあるかもしれません。

チームの開発担当の人にすぐ聞ける状況なら別に良いのですが、リモートで作業してるしあの人もう今日の仕事終えて飲みに行っちゃってるし、でもこのフィールドの使い方わかんねーようわぁぁぁんなんて時に、使い方が書かれているドキュメントにすぐ飛べるとすごく便利。

……なんだか状況が限定的だけど、例えばEditor拡張を配布した時だって、すぐリファレンスに飛べると使う側も助かります。

こんな時に使いたいのがHelpURLAttribute

指定したヘルプページへのリンクを貼ってくれるので、もしスクリプトの使い方が分からなくて、開発担当の人が帰っちゃってても安心です。

 

環境

macOS 10.13 High Sierra

Unity2018.1.0f2

HelpURLAttributeについて

HelpURLAttributeは、指定したURLへのリンクを提供します。

記載する場所はクラス名の前で、クラスの使い方を説明したページのURLを書いておくべし。

完全に社内で使うだけのクラスであれば、社内のサーバーにヘルプページを用意して、そこに飛ばすのが一番良いかも。プロジェクトであれば共有サーバもあるだろうし、そこにドキュメントを置くと良い感じ。

どこからこのURLを参照できるかというと、コンポーネントの右上にある本のアイコンから。

右上の本のアイコン
右上の本のアイコン

 

Unityデフォルトのコンポーネントだと、Unityのマニュアルに飛ぶようになっています。Unityインストール時にドキュメントもインストールされているかと思いますので、おそらくローカルのマニュアルに飛ぶはず。

指定したURLに届くならローカルでも外部サーバでもOKなので、社内にドキュメント用サーバを用意しておくことだって可能です。

サンプル

HelpURLAttributeは、[HelpURL(リンクさせたいURLの文字列)]をクラス名の前に追加します。ここでは試しにこのブログのトップページに飛ぶようにしてみます。

クラスの中身はnazoFieldとか、nazoIntとか、訳の分からないフィールド名にしておきましょうか。ぱっと見で分からないのでヘルプページを見に行く設定にします。

このスクリプトを任意のゲームオブジェクトにアタッチして、コンポーネント領域の右上にある本のアイコンをクリックします。

本のアイコンをクリック
本のアイコンをクリック

 

すると、ちゃんと指定したURLに飛びました。ブラウザはシステムのデフォルトのものが使われるようです。

指定したURLのページが表示された
指定したURLのページが表示された

 

今回はうちのブログのトップページですが、実際にはスクリプトのリファレンスページに飛ぶイメージです。念のため。

これを準備しておけば、開発チームの人にとっては休日に電話を鳴らされなくて済むメリットがある……かも。

まとめ

Unityの機能としてはリファレンスページに簡単に飛べるようになっているので、あとは開発チームのご機嫌を伺いつつ、リファレンスページの作成と、このHelpURLAttributeの仕込みをお願いすると良いかも。

すでにリファレンスページがあるなら1クラスにつき1行追加するだけなので、そこまで大きな手間ではないはず。

え? リファレンスページのURLが変更になったらどうするかって?

……。

リダイレクトで対応するかローラー作戦で直すかなぁ……(遠い目)

アセット作ってます!

CTA-IMAGE

Unityでの開発に役立つアセットを作っています。

3DダンジョンRPGを開発するスピードを200%加速するAssetや、ファンタジーRPGのダンジョンを彩るパーツを取り揃えています。

特に3DダンジョンRPGのゲームを1から作るのは結構時間がかかります。ダンジョン部分の作成はこうしたアセットを使って、開発をブーストさせてみませんか?