UE4 の Python ファイルを任意のフォルダに置く方法

 毎回 /Content/Python に置いていいかお伺いを立てるのは嫌だの巻

UE4 では Python プラグインを有効にすると、Python スクリプトから UE4 の機能を触ることができ レベル配置やアセット操作の自動化に役立てることができます。

Python ファイル(*.py)の置き場所は、公式サイトの Python を使用したエディタのスクリプティング に書かれています。

Unreal Editor では、この sys.path リストにいくつかのパスを自動的に追加します。
- プロジェクトのフォルダの下にある「Content/Python」サブフォルダ。
- Unreal Engine のメインのインストール フォルダの下にある「Content/Python」サブフォルダ。
- 有効にした各プラグインのフォルダの下にある「Content/Python」サブフォルダ。
- ユーザー ディレクトリ内にある「Documents/UnrealEngine/Python」フォルダ。たとえば、Windows 10 では「C:/Users/Username/Documents/UnrealEngine/Python」となります。

それでは /Content/Python の下に置きましょう…と行きたい所ですが、そうは問屋が下しません。 UE4 でツールを書く時は、通常 Editor Utility Widget で GUI を作ってそこから Python スクリプトを実行するため、 ツールのフォルダにまとめて置きたい…と思うのが人情というものです。 Python スクリプトだけ /Content/Python の下に置く…というのは後々混乱の元です。

実は、Python スクリプトはプロジェクト内の自由な場所に置くことができ、どこでも実行することができます。 種明かしは以下の Execute Python Command ノードを見て下さい。

EUWからPythonの実行方法

Python Command のピンの文字列に、 /Content/Python からの相対パスで実行したい Python スクリプトを指定してやれば良い訳です。 この例では /Content/Utility/Foo/Python/main.py に実行したい Python スクリプトがある、という想定をしています。 /Content/Python フォルダ自体が存在しなくても問題ありません。

文責:ともたこ/Tomotaka Ogino Twitter/github/Qiita