このプロジェクトについて

MelonLoaderはUnityゲーム向けに設計されたModローダーで、メンテナによるとIl2CppとMonoの両方のゲームバックエンドと互換性があります。Apache License 2.0の下で配布され、LavaGang組織によって開発されています。 仕組み: MelonLoaderはプロキシDLLを使用して、ゲーム起動時にローダーを読み込ませます。Windowsでは、プロキシは互換性のあるファイル名のセットにリネームできます(デフォルトはversion.dllで、その他winhttp.dll、winmm.dll、dinput.dll、dinput8.dll、dsound.dll、d3d8/9/10/11/12.dll、ddraw.dll、msacm32.dll)。プラグインはPluginsフォルダに、ModはModsフォルダに配置され、どちらもゲームのインストールディレクトリ内に作成されます。ログはMelonLoader/Logsフォルダに書き込まれます。 インストール: ビルド済みインストーラーがWindows(.exe)、Linux、macOS(.dmg)向けに提供されています。手動インストールでは、MelonLoaderフォルダとversion.dll、dobby.dllをゲームディレクトリに展開します。アンインストールはこれらのファイルを削除し、必要に応じてPlugins、Mods、UserDataフォルダも削除します。Il2Cppゲームの場合、.NET 6.0 Desktop Runtimeが要件として記載されています(Windowsでは自動的にインストールされます)。 設定: ./UserData/Loader.cfgにあるTOML設定ファイルで、ローダーの無効化、デバッグモード、Unityプレイヤーログのキャプチャ、Harmonyログの詳細度、強制終了修正、スタート画面、デバッガ起動、コンソールテーマ、コンソールの表示と最前面動作、ログ保持数、Monoデバッグサーバーのアドレス/ポート、Unityバージョン上書き、Il2Cppアセンブリ生成制御(オフライン生成、正規表現、ダンパーバージョン、強制再生成、Cpp2ILプロセッサ)のオプションが公開されています。 起動オプション: コマンドライン引数は設定を反映しており、--no-mods、--quitfix、--melonloader.debug、--melonloader.hideconsole、--melonloader.hidewarnings、--melonloader.captureplayerlogs、--melonloader.harmonyloglevel、--melonloader.maxlogs、--melonloader.loadmodeplugins、--melonloader.loadmodemods、--melonloader.basedir、--melonloader.disablestartscreenに加え、--melonloader.unityversion、--melonloader.agfoffline、--melonloader.agfregenerate、--melonloader.agfregex、--melonloader.agfvdumper、--melonloader.disableunityclc、--melonloader.monosearchpathoverrideなどのUnity固有オプション、さらにCpp2ILオプションの--cpp2il.callanalyzerと--cpp2il.nativemethoddetectorが含まれます。 プラットフォームサポート: Windowsがプロキシメカニズムの主要ターゲットです。LinuxサポートはWINE、Steam Proton、ネイティブ環境向けに文書化されており、Android/Oculus Questサポートは作業中とされています。サンプルプロジェクト(TestPlugin、TestMod)と、master、alpha-development、universalityブランチのナイトリービルドがリンクされています。 ライセンスとクレジット: このプロジェクトは、Dobby、plthook、Mono、HarmonyX、MonoMod、Mono.Cecil、Newtonsoft.Json、TinyJSON、Tomlet、AsmResolver、SharpZipLib、Semver、Illusion Plugin Architecture、MuseDashModLoader、mgGif、AssetsTools.NET、AssetRipper.VersionUtilities、bHapticsLib、IndexRange、ValueTupleBridge、WebSocketDotNet、Pastel、Il2CppInteropなど多数のサードパーティライブラリを同梱または参照しており、Cpp2ILや.NET Runtimeなどのランタイムダウンロードツールも使用しています。READMEには、MelonLoaderはUnity Technologiesのスポンサーでも提携でもないと記載されています。