Skip to content

Loader universalization #5

@TacoConKvass

Description

@TacoConKvass

What is the proposed feature?

The mod loader could easily be repurposed to be used not only for RL2 but any non-IL2CPP Unity game, with slight architectural changes.

Proposed design:

  • The installer shall adjust ScriptingAssemblies.json and RuntimeInitializeOnLoad.json automatically.
  • The loader shall hook into methods specified in a dedicated file to load mods and trigger the OnLoad/OnUnload events.

Additional notes

  1. This feature might end up being too far detached from the scope of this loader, and might benefit from being split off into another project. This, however, could cause confusion by having RL2.ModLoader and a separate unnamed loader, with little to no benefit.
  2. If this was to be implemented, should the current name be kept? It wouldn't make much sense, as the project would no longer be an RL2 specific loader, but rebranding it might cause further confusion.
  3. Is there any need for this? There are already universal loaders (BepIn, MelonLoader), and while we have some things they don't (non static detours, mod manifests as a core part of the loader which is not baked into the mod assemblies) are they important enough to justify another one?

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions