Mod for Marble It Up! Ultra which allows you to load custom skins for yourself and other online players
- C# 100%
|
|
||
|---|---|---|
| Patches | ||
| .editorconfig | ||
| .gitignore | ||
| Config.cs | ||
| ConsoleCommands.cs | ||
| CustomCosmeticLoader.csproj | ||
| CustomCosmeticLoader.sln | ||
| JsonHelper.cs | ||
| LICENSE | ||
| PatchEntryPoint.cs | ||
| README.md | ||
| Shared.cs | ||
| UserProperties.xml.template | ||
Marble It Up! Ultra Custom Cosmetic Loader
This is a mod of Marble It Up! Ultra which allows you to load custom skins for yourself and for other players in Replays and Multiplayer.
Installation
- Download and install MIUU Mod Loader if it isn't installed already.
- Download the zip file from the Releases page and extract it to your
Modsfolder. - Optional: Install Console Unlocker to configure on the fly.
Usage
Quickstart Guide
- Install the mod
- Put png or jpg image files in the
skinsfolder (or use one of the included skins) - Open
config.jsonwith a text editor and set the value ofcurrentSkinto whatever skin name you want- Optional: Add more entries to the
otherPlayersdictionary to see custom skins on other players in replays or multiplayer
- Optional: Add more entries to the
- Optional (if Console Unlocker installed): Use the
cclCurrentSkinconsole command to change your custom skin without restarting the game (cclCurrentSkin Starburst)
Advanced Usage
There are various other properties in config.json which aren't needed for the most part, but can provide helpful functionality or just be cool. Here's a breakdown:
| Property | Description | Example |
|---|---|---|
enabled |
Set to false to disable the mod. |
true |
currentSkin |
The name of the current custom skin. | th3_orang, Flare, MyEpicSkin |
skinNameToHijack |
This is the internal skin ID that gets used to "hijack" the marble and display the custom skin. When the game loads your marble, the mod swaps out the skin that was supposed to load with this skin instead, then puts the custom texture on it. What this means is you can change it to another marble which has fancy 3D modelling or moving textures and the custom texture will be plastered on that instead. The default is a simple sphere that is a good choice for most custom skins, but feel free to experiment (see inCosmeticMenu and showSkinIds). As a special case, the value * will not swap out the skin and will apply the custom texture to whatever skin was chosen in-game. |
Swirl_M, Psychadelic, RoundedCube |
inMainMenu |
Set to false to not see your custom skin in the game's menus. |
true |
inCosmeticMenu |
Set to true to see the custom skin appear in the cosmetic menu ("My Marbles"). You can use this to find cool looking marbles to switch out as a new skinNameToHijack, try setting skinNameToHijack to * and see what the marbles look like (also see showSkinIds). |
false |
inAllReplays |
Set to true to have the custom skin always appear when watching replays, even if the replay is not done by you or someone else in your otherPlayers block. |
false |
showSkinIds |
This makes the cosmetic menu ("My Marbles") show the internal marble ID. Used to find cool looking marbles to set as the skinNameToHijack (also see inCosmeticMenu). |
false |
overrideReplayCosmetics |
Overrides all of the cosmetics (skin, hat, trail) of a cosmetic to use the player's current cosmetic configuration instead. This is different from inAllReplays which makes the custom skin always appear - with this option you can change the vanilla skin/hat/trail of the replay marble and have no custom skin applied (unless the replay is your own or specified in otherPlayers). |
false |
otherPlayers |
This lets you set custom skins for other players to appear in replays as well as multiplayer. It is a set of key-value pairs where the key (before the colon) is the name of the player and the value (after the colon) is the name of the custom skin that should be applied to that player. | {"thearst3rd": "th3_purp", "hyran": "hyranAlt"} |
The mod is also fully configurable on the fly (ish :) you will need to restart the level you're in/menu you're on to see the change reflected) using console commands if the Console Unlocker is installed. Here are the commands:
| Command | Description | Example |
|---|---|---|
cclHelp |
Shows help text for all commands of the custom cosmetic loader. If you only remember one command, remember this one :) | cclHelp |
cclSaveConfig |
Currently, running any of these commands will change the configuration in-memory but will not save it to disk, meaning you can restart the game and get your old config back. This command actually saves the changes to config.json. |
cclSaveConfig |
cclEnabled, cclCurrentSkin, cclSkinNameToHijack, etc |
These commands let you view (if 0 arguments provided) or change any of the mod's config options. (For otherPlayers, see cclOtherPlayers below) |
cclCurrentSkin, cclCurrentSkin th3_tennis, cclInMainMenu true, cclShowSkinIds false |
cclOtherPlayers |
Lets you view (if 0 arguments provided) the list of other players and their custom skins, or lets you add or remove them. To add a player, use the argument add followed by the player name and the skin name. To remove a player, use the argument remove followed by the player name. |
cclOtherPlayers add thearst3rd th3_purp, cclOtherPlayers remove thearst3rd |
Build
If you just want to use the mod, refer to the sections above. These instructions are if you want to compile the mod yourself.
- Clone the git repository.
- Install MIUU Mod Loader, so the Harmony dll is present.
- Copy
UserProperties.xml.templateasUserProperties.xmland edit it:- Point
GameDirto your MIUU installation directory. - Linux Only: Change
GameDataDirto$(GameDir)/MarbleItUp_Data
- Point
- Build the project. It will build directly into the
Modsfolder in your MIUU install.- On Windows with Visual Studio, open the
.sln, then click Build -> Build Solution - On any platform with the dotnet CLI, run
dotnet build --configuration Release(If you want to open the project with an IDE, you can open the cloned repository with vscode and the C# extension installed.)
- On Windows with Visual Studio, open the
- You should now be able to launch the game with the mod built!