A mod loader for some GameMaker Studio 2 games not using YYC
- Install .NET 6 Runtime
- Download latest release (there are none yet lol, compile it yourself)
- Unpack the downloaded archive into the game's folder
- Visual Studio Build Tools 2022 (MSVC v143)
- .NET 6 SDK
-
Clone UndertaleModTool
git clone https://github.com/krzys-h/UndertaleModTool.git
-
Publish UndertaleModLib
dotnet publish UndertaleModLib -c Release -r win-x64 --self-contained
-
Add the NuGet package to NuGet sources
dotnet nuget add source <path to folder with the .nupkg file>
Note: if you're using Rider, you can open the NuGet tab > Sources > Feeds and add a new feed
-
Clone GMML recursively
git clone https://github.com/cgytrus/gmml.git --recursive
-
Go to
<dotnet folder (usually C:/Program Files/dotnet)>/packs/Microsoft.NETCore.App.Hosy.win-x64/<latest 6.x.x>/runtimes/win-x64/native
-
Copy the files
coreclr_delegates.h
,hostfxr.h
,nethost.dll
,nethost.h
andnethost.lib
togmml/lib/nethost
(yes, i was too lazy to make it find them automatically)
-
Build gmml
msbuild ./gmml/gmml.vcxproj
(in x64 Native Tools Command Prompt) -
Publish GmmlPatcher
dotnet publish GmmlPatcher -c Release -r win-x64 --self-contained
- Copy the
version.dll
andnethost.dll
from gmml build output to your game's root - Copy the publish folder from GmmlPatcher publish output to
<game root>/gmml
and rename it topatcher
- Create a
gmml.cfg
file in game's root - Optional: add line
debug
to gmml.cfg to enable some debug messages andconsole
to display a console The final structure would look something like this:
<game root>
+---...
+---gmml
| +---patcher
| | +---...
| | +---GmmlPatcher.dll
| | \---...
| \---mods
| +---*your mods here*
| \---...
+---gmml.cfg
+---nethost.dll
+---version.dll
\---...
- Put your mods in
<game root>/gmml/mods
- Put mods' IDs (you can get them from the mods'
manifest.json
file) or paths (prefixed with your system's directory separator) inmods/blacklist.txt
to ignore them - Put mods' IDs in
mods/whitelist.txt
to enable the whitelist and only load those mods