Mod for Marble It Up! Ultra which allows you to load custom skins for yourself and other online players
Find a file
Terry Hearst 788a047ea6 Add documentation
At long last after 1001 days thears5MarbleFlushed
2026-05-23 02:16:27 -04:00
Patches Revert "Combine multiplayer and replay skin hijacking" 2026-05-10 15:40:27 -04:00
.editorconfig Formatting/cleanup 2023-10-06 20:23:48 -04:00
.gitignore Build system/instruction updates for Linux 2026-05-10 04:11:37 -04:00
Config.cs Add option to show skin IDs in cosmetics menu 2023-10-25 00:50:21 -04:00
ConsoleCommands.cs Only add skin if it was valid and show list in cclCurrentSkin 2026-05-13 01:57:46 -04:00
CustomCosmeticLoader.csproj Build system/instruction updates for Linux 2026-05-10 04:11:37 -04:00
CustomCosmeticLoader.sln Initial Commit 2023-08-26 12:29:43 -04:00
JsonHelper.cs JSON auto formatting 2023-10-24 23:07:11 -04:00
LICENSE Add license 2023-10-24 23:09:02 -04:00
PatchEntryPoint.cs Only add skin if it was valid and show list in cclCurrentSkin 2026-05-13 01:57:46 -04:00
README.md Add documentation 2026-05-23 02:16:27 -04:00
Shared.cs Formatting/cleanup 2023-10-06 20:23:48 -04:00
UserProperties.xml.template Build system/instruction updates for Linux 2026-05-10 04:11:37 -04:00

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

  1. Download and install MIUU Mod Loader if it isn't installed already.
  2. Download the zip file from the Releases page and extract it to your Mods folder.
  3. Optional: Install Console Unlocker to configure on the fly.

Usage

Quickstart Guide

  1. Install the mod
  2. Put png or jpg image files in the skins folder (or use one of the included skins)
  3. Open config.json with a text editor and set the value of currentSkin to whatever skin name you want
    • Optional: Add more entries to the otherPlayers dictionary to see custom skins on other players in replays or multiplayer
  4. Optional (if Console Unlocker installed): Use the cclCurrentSkin console 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.

  1. Clone the git repository.
  2. Install MIUU Mod Loader, so the Harmony dll is present.
  3. Copy UserProperties.xml.template as UserProperties.xml and edit it:
    • Point GameDir to your MIUU installation directory.
    • Linux Only: Change GameDataDir to $(GameDir)/MarbleItUp_Data
  4. Build the project. It will build directly into the Mods folder 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.)
  5. You should now be able to launch the game with the mod built!