[UE5]更新されないプラグインを新しいバージョンで使いたい

## VaRestが今後更新されない
WebAPIをお手軽に使いたい際、真っ先に名前が挙がるVaRestの更新が、5.5で積極的更新が終了してしまいました。

[VaRestのGitページ](https://github.com/ufna/VaRest)
なんてこったい

しかし何とかして5.6で使いたい、やるしかあるまい、自分でソースからのビルドを…

⚠️注意⚠️
筆者はC++、プラグイン自作についてド素人なので（動いた内容を書いていますが）間違った内容が含まれている可能性が大分にあります。何かがあればそっと修正依頼やコメントをください。直します

環境
・UE5.6
・VisualStudio2022
・Windows11

## GitHubからプラグインのソースコードをコピーしてくる

[VaRestのGitページ](https://github.com/ufna/VaRest)を開きます

ブランチをDevelopにします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/f6771f05-a656-441a-89e4-0d8116a8df0a.png)

CodeをひらいてDownload ZIPでダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/7eebc1d0-8970-4793-a02e-d4e7b5bd77d2.png)

## プラグインのパッケージ化用のUEプロジェクトを作ってプラグインを入れる

今回は5.6で使用したいので5.6で作成。
**必ずC++でプロジェクトを作成してください**
作製したらプロジェクトをエクスプローラーで開き、Pluginsフォルダを作成して、プラグイン名のフォルダを作成し先ほどダウンロードしたプラグインのソースコードの入れます

>UEのプロジェクトファイル
　>.vs
　>Binaries
　>Config
　>Content
　>Intermediate
　>Plugins
  　　>VaRest(ビルドしたいプラグイン名）
 　 　　>Binaries
 　 　　>Config
 　 　　>Inermediate
 　 　　>Resources
 　 　　>Source
 　 　　>LICENSE
 　 　　>VaRest.uplugin


↑こんな感じのファイル構成になります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/16e2d4c5-20cd-4c6c-ae92-ba8bbf2d9db9.png)

追加できたら.uprojectがある階層にもどります

・DerivedDataCacheフォルダ（あれば）
・Intermediateフォルダ
・Savedフォルダ
・.vsconfig
・（プロジェクト名).sln

を削除します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/6845bc31-5f0d-4152-80a4-40e2f377d5ff.png)

削除したら、.uprojectを右クリックしGanerate Visual Studio project filesをクリックし新しく.slnを生成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/9e30adce-8984-426f-b6db-cf30d29f2019.png)

## .slnからプラグインのUEのバージョンを書き換える

再生した.slnを開きます
ファイルの一覧から、先ほど追加したプラグインの.upluginを探して開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/d94bd1e1-4e03-44c7-9ee1-0d93f65e7737.png)

EngineVersionを5.5.0から5.6.0に書き換えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/bb716484-47b5-44a3-afe5-b1e03c68c54e.png)

## ビルドする

上側のタブにあるビルドからソリューションのクリーンを行います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/91a4de1c-54ae-4912-aa8e-c7dbe6e3c3e3.png)

終わったら「頼む…エラーよ出ないでくれ…」とお祈りしながらソリューションのビルドをします。
ここでエラーが出てしまったら頑張って直すしかありません。がんばって

下側に出るメモリがマックスになってなくなったら終了です。

こんな感じのメッセージが出ていると思います

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/49f85837-4dc0-49cb-bc4d-33c65cb56149.png)

## UEで開いて確認する

ビルドが終わったら、.uprojectからプロジェクトファイルを起動します。

プラグインが追加されていることを確認します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/82817eac-7e55-4c82-b2ed-7e186895d0a1.png)

ざっくりプラグインの挙動を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/24b8548d-01d6-4b7c-8dc5-62feb0057529.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/c6aaa15b-c326-4865-8f4d-27410b60f485.png)

動いていそうですね

## プラグインをパッケージ化する

プラグインを開いて、パッケージ化したいプラグインのパッケージを押します。
![スクリーンショット 2025-06-17 111230.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/af25bd52-e426-4adf-8cba-3e1a9ebfafd9.png)

出来上がったプラグインを置く先を指定するとパッケージ化が始まります。

⚠️注意
VaRestで行った際、必ず失敗します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/2e06b4b7-e30d-4fe2-a30f-37d3e2da533b.png)

しかしエラー原因はプラグインに関係のないところらしく、プラグインのパッケージ自体は完成します。
エラーが出なかった方は素通りしてください。

完成したプラグインの名前が違うことがありますが、お好みの名前に変えて大丈夫です

## 完成したプラグインを試す

完成したプラグインがきちんと動くかテストします。
先ほどとは違うUEプロジェクトを作成して（VaRestがBPで動くのでBPで作成します）Pluginsフォルダを作成し先ほどパッケージ化したプラグインをいれます。

ThirdPersonテンプレートで作成し、UIに表示するようにしてみました。
Shippingでパッケージ化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/7cdb8b59-1773-45c5-b242-67bc95be6a23.png)

ちゃんと動いてますねε-(´∀｀*)ﾎｯ