Creating a basic mod
This is a step-by-step tutorial to starting the development of a new mod, ending with a mod that can be loaded by the game but does not have any content.
For complete documentation of the different concepts involved in creating mods, see Introduction to Modding.
createmod
The recommended way of starting a new mod is using the
createmod
console command. That means starting up the
game, opening the console and executing createmod "<name of the mod>"
.
A second parameter can optionally be given to the command, to store the mod outside of the
Besiege_Data/Mods
directory, see the documentation for the command for details.
This will create a directory for your mod in Besiege_Data/Mods
(or another directory,
if specified). The directory has one subdirectory with a Mod.xml
file in it.
This file is called the mod manifest and it contains all the important information required to load the mod. You'll insert some appropriate values in it in the next section.
The directory containing the manifest is the only directory the game considers as "part" of the mod. All files the mod needs in order to be loaded must be in there, and paths in the mod loader are usually relative to this directory.
The directory above that one can be used to store additional files belonging to the mod that do not concern the game directly, like documentation for users, source code or files from Blender, Maya, Photoshop etc.
Basic Manifest Elements
Open up the Mod.xml file. It has already been populated with all the important elements and examples for how they are used.
At the very least edit Author
and Description
. You should also read through the rest
of the file to see what options are available.
Note: By default, a mod is assumed to work correctly in multiplayer after it was created.
If you intend your mod for singleplayer use only, change the MultiplayerCompatible
element
appropriately.
Other very useful or relevant elements are the Debug
and Icon
elements.
See the mod manifest documentation for a full list of available elements.