/Concursus

Unity Mod Manager focused on Universal Asset Merging

Primary LanguageC#

Concursus

A Unity Mod Manager focused on the merging of assets. The usage is robust though, supporting both normal asset replacement, and bepinex/melonloader mods via a simple to use "plugins" system.

Requirements

First of all, you need .net 6.0 to run Concursus. Specifically the runtime (what's highlighted in the image.)

Balls

Now, to get the program setup, the process is the same for every game. For this little walkthrough though I'll be using Persona 5 Tactica.

User Installation

‎ When you boot the program for the first time you're greeted with this.

Balls2

You're going to want to hit Add Game (Automatic). After that, navigate to your games exe, in this case P5T's. If you don't know how to do that, you can right click the game in steam and browse local files to find it.

Balls3

Double click the exe, and if you did that right, it'll pop up with a nice box confirming the info was generated.

Balls4

Or, if your game isn't listed in Concursus with a GB Id (info on how to add it later in this readme), then it will ask you for it. If you don't know it, you can just enter 0. However, if you want to know it, it's the numbers at the end of the GB link when on a game's page.

Balls9

If you'd like, you can also change themes in the settings.

Hit save, and now the main window will open up. In my case, I already have a mod there. More than likely, you will have no mods.

Balls5

Now as to where mods go, they go in your game folder in a "mods" folder. So for instance

Persona 5 Tactica/mods

If you want, you can click "Show Recent Mods" and recent gb mods will be shown if your game has a gb page! Make sure to click the refresh button between the arrows after you download or add a mod!

Balls10

After you got your mods, click on the checkbox next to them to enable them. You can also change their priority for merging by clicking on the mod, then clicking on the arrows to move up or down. The priority is top to bottom (top is highest, bottom is lowest.) To install the mods, just hit save!

Note, there is rudimentary switch game support via the "manual" button when adding games. Though this isn't thoroughly tested it should, for the most part, work.

Info for Mod Makers

Concursus is pretty easy to setup for when it comes to your mods. The first step is to of course, click on "Create Mod."

balls20

After that, enter all your info and click create.

balls21

And a little fyi, you can edit the mod info directly on the main window. So if you change the name, get a contributor you need to add to the author section, or update the version, simply double click that entry and enter your new info.

When it comes to actually putting files in, Concursus cuts some corners for you. Remember, your mods are located in a "mods" folder inside the actual game folder. When you make a new mod, Concursus generates the game's data folder, the commonly used unity file structure inside the data folder, and the plugins folder.

balls22 balls23

If you have assets that go in the data folder, you just place them in the same filepath as the actual game. So for instance to edit Joker's textures in P5T, I would edit the 65632ac4f7bb3aadd35e4e4df5cf8c1e.bundle file. I would put this in (ModName)\Persona 5 Tactica_Data\StreamingAssets\aa\StandaloneWindows64\65632ac4f7bb3aadd35e4e4df5cf8c1e.bundle

The "plugins" folder is mainly made for bepinex plugins, or files related to them. However it can really be used for anything, it just enables putting files outside of the data folder. The filepath essentially works like the "plugins" folder being the game folder, so you do your files and folders accordingly. An example usage is crewboom mods for Bomb Rush Cyberfunk.

Mods for that go in (game folder)\BepInEx\config\CrewBoom. So for the mods in Concursus it's setup as (mod name)\plugins\BepInEx\config\CrewBoom.

balls24

Contributing

Contributions are always welcome!

The easiest, and I presume most common type of contributions one would make would be, for lack of a better term, adding games to Concursus. Concursus has a system for auto filling in info for specific games, this includes internal ids to have specific things happen during installation per game, and GB game ids for the recent mods button to work.

To do this, the lists of these are in Settings.xaml.cs. Simply add your exe name and ids/values, and it will fill out the info when people automatically add a game.

balls31

If you'd rather not fork this repo just to add to a list though, you could make a github issue with your exe name and values, and I will do it for you.

Alongside this system, the game ID system is pretty important. As it allows specific games to do specific things during install. Currently in a dev branch I am using this to do awb merging for Sonic Superstars. As of writing this that is broken as shit though so I'm not going to show broken code, it should be pretty simple to figure out by looking at game.cs and seeing how it parses the game id.

There is a similar system for specific file types when downloading mods. Currently with gb one click, if it has a data folder it can be downloaded, or if it has a Concursus json it will download. However as of writing not many games have this, so for BRC I added support for Crewboom mods to be able to be used by Concursus without needing to be formatted for it. You can see the code inside of GbModPrompt.xaml.cs. Specifically the if (foundCBBFile) class and it's surrounding code.