初投稿です。宜しくお願いします。
動作確認環境
Mac版5.3.4f1、5.4.0f1
未確認ですが、Windows版でも可能だと思います。
はじめに
C#スクリプトファイルの新規生成時の内容をカスタマイズする場合、81-C# Script-NewBehaviourScript.cs.txt の内容を編集する、
という紹介が多いのですが、用途ごとに複数個テンプレートファイルを作成し、Createメニューに表示させる方法を記載します。
用途ごとテンプレートを用意しておくことで、新規スクリプトの記述開始が早くなるのではないでしょうか。
また、この記事ではC#ファイルでの記述ですが、Javascriptやシェーダーなども同じアプローチで出来るとか思います。
必要なもの
テンプレートを記述したテキストファイルで81-C# Script-NewBehaviourScript.cs.txtとは異なる名前のファイル
(最初の時点では拡張子txtならファイル名は何でも良いです。以降ファイル名について記載します)
ファイルの置き場所
81-C# Script-NewBehaviourScript.cs.txt と同じフォルダです。
ファイル命名規則
ファイル名にUnityが認識する規則性のあるファイル名にすることでCreateメニュー追加されます。
81-
ここはどのファイルでも共通です。C#スクリプトの場合、ファイル名の開始文字列は”81-”とします。
※Javascriptやシェーダーの場合82、83となっていると思いますので、以降は適宜読み替えて下さい。
例として、”C# My Custom C# Script” と表示されるテンプレートファイルを記載します。
81-C# My Custom C# Script-NewScript.cs.txt
ポイント
-(半角ハイフン)がデリミタとなっていて、"ハイフン以降の文字列.cs"が実際にアセットファイル名として作成されます。
どのファイルでも共通です。
結果
ここまでのまとめ
ここまでの流れをまとめますと以下の書式になります。
81-”Createメニューに表示させたいテキスト”-”実際に新規作成されるアセットファイル名”.cs.txt
階層構造を含める場合
このようにする場合、実際にフォルダを作成するのではなくファイル名で解決できます。
フォルダとして認識するデリミタ文字は__(半角アンダースコア2文字)です。
例
先程記載した 81-C# My Custom C# Script-NewScript.cs.txt に対し、Createメニュー上で「C# My Script」という階層を付与した場合、こうなります。
81-C# My Script__My Custom C# Script-NewScript.cs.txt
結果
さらに階層を深くする場合、__(半角アンダースコア2文字)を再度使用することで実現できます。
例
上図で選択されている Window Script の場合のテンプレートファイル名の例です。
81-C# Ext__Editor__Window Script-NewScript.cs.txt
まとめ
以上をまとめますと、以下の書式になります。
81-”Createメニューに表示させたいテキスト(階層構造にしたい場合は階層分だけ<階層名__>を記述)”-”実際に新規作成されるアセットファイル名”.cs.txt