Skip to content

Mod Setup Basics

axiand edited this page Mar 10, 2024 · 12 revisions

This page explains how to set up a mod for Celeste 64 using Fuji.

Mods are stored in the game's Mods directory.

To set up a new mod, create a folder in the Mods folder. Name it something unique. Generally, something like YourName_YourModName works best. From here on out, "your mod folder" will refer to the folder you've created

Fuji allows you to load custom assets, as long as they're in the correct place. The following folders are supported:

  • Audio for FMOD audio
  • Faces for character expressions
  • Fonts
  • Maps for your map files
  • Models for custom models
  • Shaders
  • Sprites
  • Text for Dialog
  • Textures
  • Sounds
  • Music
  • Libraries for compiled DLLs

Additionally, Fuji will take care of importing custom levels via the Levels.json files. It can also load custom dialog via .json files in the Text folder. These are explained in their respective wiki pages.

Mod Info Format - Fuji.json

Fuji requires you add a file to define some metadata about your mod, to give Fuji additional information about what your mod is and what it does.

To do this, we create a Fuji.json file in our mod's folder. The format of this file is as follows:

{
    "Id": "<mod-id>",
    "Name": "<human-readable-mod-name>",
    "ModAuthor": "<mod-author-name>",
    "Description": "<human-readable-mod-description>",
    "Icon": "<mod-icon>",
    "Version": "<semver>",
    "FujiRequiredVersion": "<semver>",
    "Dependencies": {
        "<mod-id>": "<mod-minimum-version>",
    },
    "AssetReplaceItems": {
        "<vanilla-asset-name>": "<mod-asset-name>",
    }
}

Note

For FujiRequiredVersion, you'll want to put in the minimum version of Fuji required to load the mod. Generally, this would be whatever the latest version is at the time of you reading this page.

Do note, however, that your mod will likely stop loading with every major version of Fuji, since those can introduce breaking changes. So, if your mod asks for Fuji 1.2.3, expect it to not load after 2.0.0.

To resolve this, simply bump up the FujiRequiredVersion when the time comes.

Fill in this file according to the guidelines. Once done, your file should look somewhat like this:

{
    "Id": "Madeline_MyMod",
    "Name": "My First Mod",
    "ModAuthor": "Madeline",
    "Description": "My first mod, made to learn modding with Fuji",
    "Icon": "MyModIcon",
    "Version": "1.0.0",
    "FujiRequiredVersion": "0.2.0",
    "Dependencies": {
        "OtherMod": "1.2.3",
    },
    "AssetReplaceItems": {
        "strawberry": "CoolerStrawberry",
    }
}

Important

Remember that mod IDs must be unique!

There's several ways to achieve this, but the most common (and Fuji-approved) way is to make your mod ID yourName_modName.

For example, if my name is Madeline and my mod name is CoolerStrawberry, my mod ID would be Madeline_CoolerStrawberry.

Note

Everything in this file is optional except for Id, your mod ID, and Name, your mod name, and the Version, your mod's version. Though, it's good practice to also include the minimum required Fuji version to avoid surprise crashes for users. You might also want to add a description, your name, and an icon.

Setting up an icon

  • To set up an icon, simply place the file as a png in your Sprites folder like you would for any other sprite.
  • Then make sure the Icon Field in the Fuji.json is set to just the name of that file (not the filepath), like "MyModIcon" and not something like "Sprites/MyModIcon.png"

Note

Mod Icons should generally be square, and have the same width and height. If it is not, fuji will try to make it square, so it might look squished. Mod Icons are also special, in that they cannot be asset replaced. (although you shouldn't really need to do this anyway)

Preparing your mod for release

You may zip your mod in order to send it to others. To do this, go to your mod folder, select everything inside, right click, select "Send to", and click "Zip folder".

You can then upload the resulting zip folder. Users will put this folder in their game's Mods directory to install your mod.

Warning

Ensure your mod zip is structured properly. It should be mod.zip/textures, mod.zip/maps etc. Not mod.zip/mod/maps.