強火で進め

このブログではプログラム関連の記事を中心に書いてます。

アプリ内に Unity 式の Readme を置く方法

「Survival Shooter」のチュートリアルを見ていると Inspector にこんな感じの表示がされる Readme が有りました。

Survival Shooter Tutorial - Asset Store
https://assetstore.unity.com/packages/essentials/tutorial-projects/survival-shooter-tutorial-40756

これ、自分でも使えないかな?と仕組みを確認した所、問題無く使えたので手順をメモっておきます。

構造

構造としては ScriptableObject と Inspector での表示方法をカスタマイズする CustomEditor を使って実装されていました。

自分で使う場合

自分でこの Readme の仕組みを使う場合の手順は以下の様になります。

1. 「Survival Shooter Tutorial」をプロジェクトに追加。
2. Assets フォルダから TutorialInfo フォルダ以外のファイルを削除。
3. Assets/TutorialInfo/Scripts/Readme.cs を開き、 class 定義の前に [CreateAssetMenu] を追加。

using System;
using UnityEngine;

[CreateAssetMenu]
public class Readme : ScriptableObject {
	public Texture2D icon;
	public string title;
(以下略)

4. Inspector での拡張表示を一時的に止める為に Assets/TutorialInfo/Scripts/Editor/ReadmeEditor.cs の [CustomEditor(typeof(Readme))] の記述をコメントアウト

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;
using System.IO;
using System.Reflection;

// [CustomEditor(typeof(Readme))]
[InitializeOnLoad]
public class ReadmeEditor : Editor {
(以下略)

5. Projecrt ビューの上で右クリックし、メニューから Create > Readme と選択し、 .asset ファイルを作成。名前は Readme に変更して保存。
6. 生成されたファイルを選択し、以下の様に入力。

※ Icon には Assets/TutorialInfo/Icons/SurvivalShooter.png を選択。

7. ずっと出てても邪魔なので 3. で追加した [CreateAssetMenu] を削除。
8. 4. でコメントアウトした部分を元に戻す。

作業を行った後に Readme を選択するとこの様に表示されます。

Heading で記述したものが文章のブロックのタイトル、 Text が本文に成っているのが確認できます。
また、 LinkText がリンクのテキストと成っていて、これが記述されていない場合にはリンクそのものが存在していない事が確認できます。

Tips

Readme の作成が終わった後は Assets/TutorialInfo/Layout.wlt は必要ないので削除しておくと多少節約ができます。