Godotでテンプレートファイルを作成する時の流れは以下の通りです。
- テンプレートファイルの設定パスに、適用したいノード名でフォルダを作成 (大文字,小文字の区別あり)
- 1.のフォルダ内に、適用したい言語の拡張子(.gd / .cs など)でテンプレートファイルを作成
- テンプレートファイルの動作設定(メタヘッダーの編集)
- テンプレートコードの編集
スクリプトテンプレートとは?
新しくスクリプトファイル(.gd
など)を作成した際に、自動的に挿入される初期コードのことです。
自分でテンプレートを設定することで、毎回使うコメントやベースコードなどを自動で挿入できます。

テンプレートを設定しておくことで、新しいスクリプト作成時に毎回同じコードを書かずに済み、より効率的な開発が可能になります。
テンプレートファイルの保存場所
スクリプトテンプレートは、テンプレートの利用範囲により以下二つの場所で管理します。
プロジェクト定義
テンプレートファイルの保存先(検索するパス)は、
プロジェクト設定>エディタ>スクリプト>Templates Search Path で確認/設定が可能です。

※単に検索対象の設定となるため、設定値のフォルダが存在しない場合、新規作成等は行われず、無視されます。
エディタ設定(グローバル)
すべてのプロジェクトで共通して利用したい場合は、Godotエディタ側に設定を行います。
保存先となるパスはOS毎に異なり、以下のようになります。
OS | パス |
---|---|
Windows | %APPDATA%\Godot\script_templates\ |
Linux | $HOME/.config/godot/script_templates/ |
MacOS | $HOME/Library/Application Support/Godot/script_templates/ |
テンプレートファイルの作り方
テンプレートファイルを作成する時の流れは以下の通りです。
- テンプレートファイルの設定パスに、適用したいノード名でフォルダを作成 (大文字,小文字の区別あり)
- 1.のフォルダ内に、適用したい言語の拡張子(.gd / .cs など)でテンプレートファイルを作成
- テンプレートファイルの動作設定(メタヘッダーの編集)
- テンプレートコードの編集
1. 適用ノード名でフォルダを作成
(プロジェクトまたはエディタの)テンプレートファイルの保存場所に、テンプレートファイルを適用したいノード名でフォルダを作成します。(Node や Controlなど。自作のクラスでも設定可能)
ここでのフォルダ名は大文字と小文字が区別されることと、保存場所(検索先)が誤っていると検出されないことに注意してください。
今回は Node クラスを例に作成を進めてみます。

2. テンプレートファイルの作成
1. のフォルダ内に、適用したいプログラム言語の拡張子で、テンプレートファイルを作成します。
GDScriptの場合は .gd 、C#ファイルの場合は .cs を指定します。(ファイル名は任意です)

3. テンプレートファイルの動作設定(メタヘッダーの編集)
テンプレートファイルのメタヘッダーによって、テンプレートファイルの動作設定を行います。
設定可能なメタヘッダーとデフォルトの設定は以下のようになっています。
メタヘッダー | 説明 | デフォルト値 |
---|---|---|
# meta-name: | テンプレート名称の設定 | ファイル名と同じ |
# meta-description: | テンプレートの説明 | 空(説明なし) |
# meta-default: | ノードのデフォルトに設定 | false(無効) |
# meta-space-indent: | スペースインデント | 4 |
今回は説明の追記とノードのデフォルト設定を有効化を行います

4. テンプレートコードの編集
以降は、テンプレートファイルを編集し、コードの初期状態としたい記述をしていきます。
今回はNodeクラスに適当な関数を追加する形で構成してみます。(最終的なコードは以下の通りです)
# meta-description: テスト用に作成したNodeスクリプトテンプレートです
# meta-default: true
extends Node
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
## テンプレートテスト用関数
func add_func():
print("テンプレートで追加された関数が呼び出されました。")
テンプレートの使用
設定したクラスを継承するスクリプトの新規作成時に、「テンプレート」から選択することで、作成したテンプレートを適用することができます。
例で作成されたスクリプトを確認すると、テンプレートで追記した分の関数が確認できます。

エディタ設定>自動補完>型ヒントを追加 が無効となっている場合、
テンプレートの使用時、一部の型ヒントが自動で削除されることがあります。(:= は =へ置き換え)
(対象:int , String, Array[String], float, void)
表記を残したい場合は、以下設定を確認しておきましょう。

参考
スクリプトテンプレートについては以下公式ドキュメントページでも解説されています。
コメント