【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

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!