”BepInEx” ツールを解説してみた!!”

この記事を読むのにかかる時間 3

BepInExを徹底解説してみた!!

Unityセキュリティパッチ事象について

2025年10月15日頃にUnity製のゲームにおける脆弱性の問題からセキュリティパッチが
導入されUnityEngineにてアップデートがなされました。

その影響でセキュリティパッチを受けたUnity製のゲームに関して、
BeplnExが正常動作しなくなる事態が発生しています。
この問題については、BeplnEx製作者は把握しているようですが現状の所は
改善策は無い状況です。

10月半ば以降にアップデートor販売されたUnity製のゲームに関しては
BeplnExが動かないものだと現状は理解してください。
改善策が見つかり次第、対策は追記したいと思います。

BepInExって何をするために存在するの?

BepInExは、主にUnityエンジンで開発されたゲーム、
.NET Framework(または.NET Core / .NET 5+)で動作するアプリケーション向けに
設計された、汎用的なプラグイン(Mod)ローダー&フレームワークです。

多くの人は「なるほど…わからん!!」って感じになると思います。

非常に簡単に言うと「ゲームやアプリケーションに後から機能を追加したり、
挙動を変更したりするための土台となるツール」と言えます。

商業用ゲームでMod(NexsuMods)入れる時に、皆さんもどこかで経験あると思うのですが

「●●というModを動作させるには、××というModも入れないと動かない」

ダウンロードする際に上記のような英語メッセージが出て1つのModを機能させるために
複数のModを入れて動かしたことはないでしょうか。

いわゆる ”BepInEx” は、上記の××に該当するようなModを動かす為の
基盤となるツールって事です。

どんな機能があるのか?

”BepInEx”が行える主要な機能には、以下の項目が存在しています。

名称内容
Mod導入/管理Mod基盤として動かす基盤的な役割を果たせる
機能拡張/カスタマイズUIメニューの調整、ゲームバランス調整、グラフィック変更等
様々な調整を行える
パッチ/翻訳開発者が対応していないバグ修正パッチ、言語翻訳パッチなどを作れる
解析ゲームの内部にアクセスして情報を取得する機能を持つ
ゲームの構造を解析するための足がかりとしても利用される

多くのゲーム(特に商業用ゲーム)では、ゲームコードの分析やそれに伴う配布などは
禁止されています。飽くまで個人利用のみに留めて下さいね

最初に解説したように”BepInEx” は基盤的なツールですので、そこにどのような
機能を持たせるを個人で作るとなると、割とガチのプログラミングスキルが無いと
太刀打ちできないと言えますね。
そういう意味では、▼のような感じをイメージ出来ますね

管理人

日本人の方だとあまりピンと来ないかもしれませんが、
(私も日本人ですけどねw)日本製の成人ゲームは海外でも
かなり人気があります。
キャラ造形の可愛いさや愛くるしさなどの技術は、日本特有のものだと
日本の良さを実感できますね

それゆえに、日本語しかない作品だと「翻訳ツールを誰か作ってくれ」
など海外掲示板が賑わっている光景がけっこうあります(笑)

3Dmingotoとの違いについて

「3Dmingotoと”BepInEx” って何が違うの?」という疑問に思った方もいると思います。

3Dmingotoは割と使い勝手の良いツールで、Unity以外にUnrealEngineも対応しています。
逆にBepInExは玄人好みのツールで、プログラミングスキルなどあれば拡張性など
含めて汎用性の高さも持ち合わせた代物といった感じでしょうか。

一番重要な事としてUnityゲームでも3Dmingotoが使えない場合でも使える事、
VRゲームにおいてもBepInExは動く場合が大半であることが大きいですね。

管理人

私はUnityゲームで3Dmingotoが使えない場合にBepInExで実装しています
3Dmingotoではだいたい8割ぐらいは使える印象があります
やはり使い勝手の良さは3Dmingotoです

2つのビルド方式について

Unityゲームの主なビルド方式として「Mono」と「IL2CPP」があります。
先ほど、解説しましたBepInExツールを入れる際に、注意するべき点の1つ目は
ビルド方式が対応したものを入れないと正常動作しない事です。

どちらのビルド方式かの見極め方ですが、Unityゲームの場合
多くのゲーム本体の階層には「ゲーム名.exe」というファイルがあります。
同じ階層に「ゲーム名.data」というフォルダもあるはずです。

この「ゲーム名.data」というフォルダを開くと多くのファイル階層が並んでいますが
この中にある「Mono」というフォルダがあれば「Mono方式」で、
「il2cpp_data」というフォルダがあれば「IL2CPPビルド方式」です。

◆Mono方式

◆IL2CPP方式

”BepInEx”の様々な種類について

”BepInEx”はとても便利なツールの反面、ビルド方式による違いの他に
ゲームの中身に沿ったビルド番号を使わないと正常動作しないという
面倒さもあったります。

実際に、”BepInExのサイト” を見てもらいつつ解説していきます。
少し下にスクロールしていくと、#725など数字の羅列が並んでいますが
この#数字がビルド番号に当たります。

それぞれの#数字を選択すると▼のようにファイル一覧が並びます。
それぞれの項目が意味する情報は、以下のようになっています。

名称捕捉内容
ビルド番号入れるゲームに応じたビルドを使用する必要がある
UnityUnityゲームで入れるなら当然Unity選択する必要あり
ビルド方式前述の「Mono」「IL2CPP」のいずれかの方式を確認して入れる
ビット数制作されているゲームのビット数に応じて判断する

「制作されているゲームのビット数に応じて判断する」という意味ですが、
見分け方として「Ctrl + Shift + Esc」を押すとタスクマネージャーが
開きますので、そこでゲーム起動プログラム(~.exe)の後に(32ビット)という
名前ならば32ビット制作されたゲーム、記載無しなら64ビット制作です

▼の画像はゲームではありませんが、32ビットのプログラムで
あることが分かりますよね

管理人

「Windows、Mac、Linux」という表記も上記であるように
入れるOSがWindowsならば、Windowsという感じになりますね

押さえるべき”BepInEx”情報

実は、もう1つ重要な”BepInEx”があります。
それが、「BepInEx 5.4.22」になります。

このファイルだけで、「Unityゲームの半分ぐらいは適用できるのでは?」というほど
汎用性の高さを兼ね揃えるものです。
なので、BepInEx 5.4.22がダメなら、先ほど紹介した各ビルドに挑戦する感じで良いです。

上記のオレンジ枠のどちらかをダウンロードすればOKです。
ビット数は前述のように、その入れるべきゲームのビット数を事前確認してください。

ただ、このファイルに関してはMono方式限定です。
IL2CPP方式の場合には、先ほどのビルドからIL2CPPファイルを入れましょう。

管理人

「Mono」と「IL2CPP」か飽くまで体感の割合になりますが
7:3といった感じですね

入れるゲームに対するビルド番号はどう見分ける?

実は、”BepInEx”の厄介な所が、このビルド番号のいくつかを使うべきなのかは
少なくとも私が知る限りで、判断材料として根拠のあるものはありません。

「マジですか…じゃあ総当たりですか…?」

って話になりそうですが、私は「577、688、725」というビルド番号を使用しています。
この3つのビルド番号でファイルを入れれば、だいたい8割ぐらいはいけます。
後は、そのゲームが作られた年で判断しますね。

「5、6年前のゲームならビルド577でいけそうかな」とか、
「割と最近なら688かな」みたいな感じですね。

管理人

個人的におすすめの管理方法ですが、ビルド方式やビッド数などで
フォルダを作成して、ダウンロードしたファイルを置くといちいち
毎回ダウンロードして実装するという手間がだいぶ軽減されますよ

”BepInEx”が正常動作しているかの見分け方

プレイするゲーム内フォルダに「ゲーム名.exe」というファイルが通常ありますが
そこにzip解凍した ”BepInEx一式ファイル” を移動させます。

その後にゲーム起動をすると「BepInExフォルダ」内にpluginsフォルダなど
今まで無かったフォルダが自動生成されていきます。

その自動生成されているか否かが、正常動作しているかの判断材料です。

うまくいくと▼のように複数ファイルが自動生成されていきます

管理人

ビルドによって、「BepInExフォルダ」内にpluginsフォルダが既に
存在している場合もあります。
そのため、ゲーム起動前に「BepInExフォルダ」がどのようなファイルが
入っているのかを事前確認しておきましょう

ビルド番号が、688とか725とかだとゲーム起動に通常より時間がかかります。
PCスペックにもある程度は左右されますが、10~30秒ぐらいかかります。
更には、コマンドプロンプトのような画面が現れて処理されていきます。

自動生成されていない際の超重要なポイント

自動生成されない場合に注意するべき、もう1つ重要な事があります。
それはディレクトリパスになります。

ディレクトリパスとは、簡単に言い換えるとフォルダの階層の事です。
▼で言う所のオレンジ枠の部分がディレクトリパスに当たりますね

人の目で見やすいようにPC>Windows(C:)…ってなっていますが、このアドレスを
コピーして貼り付けた場合には、以下のようになります。
「C:\illusion\HoneySelect」

このように全てアルファベット表記のパスになっていれば自動生成されるのですが
BepInExを入れた階層に日本語などの全角のパスが混在すると自動生成されないです。

(たまに自動生成されるケースもありますが、基本的にはされないです)

NG例:ダウンロードフォルダ経由、ゲーム名が日本語表記に注意しましょう

管理人

特に、ダウンロードファイルやドキュメント経由でゲームを
保存している人は要注意ですね。
意外と慣れて来た時こそ、こういう初歩的なミスに注意です!!

pluginsフォルダには何を入れるのか?

自動生成された後に「pluginsフォルダ」に適用したいModを入れる事で
たいていの場合は、Mod適用が完了していきます。

最初に紹介したように”BepInEx”は汎用性が高い分「翻訳からパッチ、Mod」など
多岐に機能が渡ります。

そのため色々と大人の事情もあって、非常に漠然とした事しか書けませんし、
外部リンクとかも控えざるを得ない状況です。
気になる方は「DumbRenderer」のワードで検索してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
管理人
ブログ初心者向けサイト「ブログ×ビギナー」、略して "ブロビギ” を運営しています。初心者の登龍門と言える月1万円を達成できる方法を、初心者の視点を重視しながら徹底的に解説している記事を重点に書いています。 複数サイトで月間PV 100万達成。得意分野はWEBマーケティング、人材育成。ビジネス書は1000冊以上の読んだことがある読書家でもあります。