Skip to content

๐Ÿ‰ MelonLoader's toolchain, but as a GitHub Action.

License

Notifications You must be signed in to change notification settings

tetra-fox/ml-gen

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ml-gen

MelonLoader's toolchain, but as a GitHub Action. Useful for CI builds of MelonLoader mods.

Usage

# .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

Notes

  • 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)
    • 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 .dlls in the MelonLoader/Managed directory, and tools in MelonLoader/Dependencies/Il2CppAssemblyGenerator.

Inputs

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 โœ—