UE4+Rust(ビルドシステム拡張)
※UE4検証バージョン 4.24.3
前置き
先ほどまでのUE4上でRustライブラリを動かすにあたり、
・Rustライブラリの作成
・DLLの設定
・Rustライブラリ関数の宣言
と手順が多くて不便です。
※前回
特にRustライブラリ関数の宣言は
作業でRustの関数が増えてるたびに
C++から呼び出しが必要なものを毎回宣言するのは非常に手間です。
そこでUE4のビルドシステムにてRustをビルドできる拡張と
Rust関数の宣言を自動で作成してくれる拡張を
してくださっている方がいるので、
そちらの取り込みと説明をしていきたいと思います。
参考資料
https://github.com/ejmahler/UnrealEngine/blob/rust-modules/RustPost/RustInUnreal.md
Engineの拡張
拡張のrust-modulesはgithubのほうに公開されており。
https://github.com/ejmahler/UnrealEngine/tree/rust-modules/Engine
4.24.1をベースに拡張されています。
変更差分は非常に少なく
この変更を自分の環境のEngineに取り込みます。
UE4のビルドシステムでは基本build.csでC++ファイルのビルドの設定を行います
ここにC++タイプだけでなくRustのタイプを追加していくことになります。
これによってUE4プロジェクト上で管理でき
直接Rustライブラリを編集、ビルドができるようになります。
補助用クレートをインストール
補助用のクレートをインストールします。
インストール後はpathが通っていることを確認しておいてください。
こちらのプログラムUE4上でのRustライブラリの関数の定義されているもの
自動でC++から使用できるように宣言してくれるようになります。
UnrealC++のgenerated.hのようなものです。
動作結果
以上となります。
一度環境を構築してしまえば、
こちらのほうがはるかに楽に作業ができます。