-
Notifications
You must be signed in to change notification settings - Fork 14
GitHub Integration & Automatic Mod Publishing
SporeModder FX now comes with GitHub integration. GitHub is a platform for hosting open-source software. It is based on the version control software git; it allows you to keep track of all the changes and versions you do to your files.
The recommended and default way of making mods with SporeModder FX has changed. Now, it is recommended you install git and create a GitHub account; SporeModder FX will integrate with it to let you use it easily. Hosting your mods on GitHub has several advantages:
- It lets you publish the mod with a single button. This will package all your projects, compile all your DLLs, and bundle it into a
.sporemodfile. - It will make your mod automatically available in the Spore Mod Browser
- It helps the Spore modding community grow! We all can learn from what other mods do by looking at their source files and code.
Before, a mod was just a .package file, which in SporeModder FX meant a folder with some subfolders and files. Now, that has changed.
A mod is now a collection of two kinds of projects: typical package projects, and C++ projects.
The mod folder now has this kind of structure:
My Spore Mod/
├─ .github/
├─ ├─ workflow/
├─ ├─ ├─ build.yml
├─ data/
│ ├─ Package Project 1
│ ├─ Package Project 2
├─ src/
│ ├─ Visual Studio C++ Project
├─ .gitignore
├─ ModInfo.xml
├─ README.md
These folders and files are:
-
data/contains the package projects created by SporeModder FX -
src/is where you can store Visual Studio projects, if your mod uses C++ code. -
ModInfo.xmlis a set of properties that get bundled into your mod, and that the ModAPI Launcher Kit reads. -
README.mdis a Markdown file that will be shown in GitHub. You can consider it the main page for your mod. -
.gitignoreis a git file that ensures no unwanted files get committed into the repository. -
.github/workflow/build.ymlis a GitHub Action that automatically compiles and publishes your mod.
To use the GitHub Integration / Mod Publishing feature, you need a GitHub account; if you don't have one, you can create it here.
The first time you open SporeModder FX, it will ask you your GitHub username and email (we won't send you anything!); you can also get the dialog by clicking the Log in to GitHub button in the Git & Mod Publish tab:

After you set the username and email, a new window will appear with an 8-letter code. You must click on the URL, which will open GitHub on your browser, and you must paste the code there. This will authorize SporeModder FX to upload stuff to your account.
Additionally, if you want to be able to create repositories from SporeModder FX, you must add its app to your GitHub account: https://github.com/apps/sporemodder-fx
After you set the device code and return to SporeModder FX, it will configure your account so that it accepts git requests from your computer. This is done automatically by generating SSH keys (only if you didn't have them already).
Like before, you can create a new mod with the New Project button. This creates a project that will be compiled as a .package, which is the format Spore uses for its data. The window that opens lets you decide whether you want this package project to be a new mod, or to be part of an existing mod.

You must decide a name for your mod and a unique tag. This tag is a name that uniquely identifies your mod, and it is used by mod manager programs like the ModAPI Launcher Kit.
When you create a new mod, a git repository is created in the mod folder. git lets you keep track of all the changes you do to your files, but initially everything is local: it is only in your computer, not yet in GitHub. In the Git & Mod Publish tab you have two options:
-
Create GitHub Repository: this will create a new repository in your GitHub account, and connect the local mod repository with it. To use this option, you must have addedSporeModder FXto your GitHub's apps: https://github.com/apps/sporemodder-fx. This is the recommended option. -
Connect to Existing Repository: if you want to create your repository manually in GitHub, or you already had a repository, you can use this option to connect it to your local mod repository.
If you connect to an existing repository, add the spore-mod topic to it in GitHub, so the Spore Mod Browser can find your mod. Repositories created through SporeModder FX already have this.
There are two buttons for settings now:
-
Project -> Project Settingsdecides configuration for your package project, such as the final file name. -
Git & Mod Publish -> Mod Propertiesis where you can change what players see of your mod: the mod name, a website, a description, etc. You can also see a list of what.packageprojects and.dllC++ projects will get bundled with your mod.
The mod properties are stored in a file called ModInfo.xml. If you want more advanced configuration you can edit the file manually.