MelonLoader's toolchain, but as a GitHub Action. Useful for CI builds of MelonLoader mods.
# .NET is required
- name: Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: 5.0.x
- name: Generate libraries
uses: tetra-fox/ml-gen@latest
with:
game: among-us
game_path: ${{ github.workspace }}/Among Us
game_executable: Among Us
- You must provide your own game binaries. You can automate this process with tools such as DepotDownloader.
- I personally use the Steamfetch action to accomplish this.
- The specific binaries you need are the following:
- Executable (e.g.
Among Us.exe
) GameAssembly.dll
[game]_Data/il2cpp_data/Metadata/global-metadata.dat
UnityPlayer.dll
(Windows runners only)[game]_Data/globalgamemanagers
OR[game]_Data/data.unity3d
, whichever your game has. (Linux & macOS runners only)
- Executable (e.g.
- You must leave the directory structure intact.
- You can figure out what your game's
gameSlug
is here. - This action mimics the directory structure of a game with MelonLoader installed, with the output
.dll
s in theMelonLoader/Managed
directory, and tools inMelonLoader/Dependencies/Il2CppAssemblyGenerator
.
Name | Description | Default | Example | Type | Required |
---|---|---|---|---|---|
game |
gameSlug from MelonLoader API |
among-us |
string |
โ | |
game_path |
Path to your Unity game | /Games/Among Us |
string |
โ | |
game_executable |
Your Unity game's executable name | Among Us |
string |
โ | |
unity_version |
Override Unity version (If it was not automatically found) | 2020.3.22 |
string |
โ | |
work_path |
Temp directory | ${{ github.workspace }}/ml-gen |
./cool-tools |
string |
โ |
output_path |
Output directory for libraries | [game_path]/MelonLoader/Managed |
./here/go/libs |
string |
โ |
ml_version |
MelonLoader release tag name | latest |
v0.4.2 |
string |
โ |
github_token |
GitHub token for MelonLoader API | ${{ github.token }} |
bunch'o'chars |
string |
โ |