Giter Club home page Giter Club logo

concursus's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.