🔖

[UE5] MessagePack環境をプラグインに移行する

2023/10/21に公開

はじめに

https://zenn.dev/hakuto_gamedev/articles/aa45b98bb3d9a7
上記記事に記載した方法だと、インクルードディレクトリ設定等が、
リセットされることが多く少々面倒だったので、
リセットされない方法として、プラグイン移行してみました。

対処イメージ

新規で作成するプラグインの下に、MessagePackやBoostのソースを持ってきて、
それをプラグインのBuild.csでインクルード設定するという形で対処します。

プラグインを追加する


プラグイン>追加から上記画像と同じ項目を選択します。
プラグイン名はお好きな名前をつけてください。
※本記事ではMyPluginとします。

作成したプラグインを整理する

この中にMessagePackやBoostのソースを入れるわけですが、
一旦プラグイン内のSourceフォルダ内を整理します。

MyPlugin
 |- Source
    |- MyPluguin       (下の階層は特にいじらない)
    |- ThirdParty
        |- BoostLibrary(新規作成)
        |- MsgPackLibrary(新規作成)

Sourceフォルダ内が上記の構成になるように、削除・追加を行ってください。

ソースをコピーする

インストールされている(前提)MessagePackやBoostなどのソース・ライブラリを、
先ほど作ったプラグイン内のフォルダに移動、もしくはコピーします。
※ドキュメントなどは消しても構いませんが、本記事ではあえてフルコピーしています。

MsgPackLibrary:[インストールディレクトリ]\msgpack-c-cpp_master\include
BoostLibrary:[インストールディレクトリ]\boost_1_83_0

MessagePackやBoostのインストールは、下記を参考にしてください。
https://zenn.dev/hakuto_gamedev/articles/1b33330e46d0d7

ビルドする

ビルドする前に、以下のようにヘッダーファイルを追加します。

MyPlugin
 |- Source
    |- MyPluguin       
	|- MyPluginCommon.h  (新規作成)

MyPluginCommon.hでmsgpack.hppをインクルードしておきます。

MyPluguinCommon.h
#include <msgpack.hpp>

これらの準備が終わりましたら、ビルドしてみてください。
ビルドに成功すると、MessagePackを使用するための環境が整っているはずです。

まとめ

プラグイン化しておいたところ、今のところは安定して動作しています。
冒頭にリンクを載せているソリューションプロパティに設定する方法でも運用はできますが、
こちらの方が後々のことを考えると楽になりそうです。

Discussion