Clone this wiki locally
OpenRA is designed to be highly moddable. Both RA and C&C are implemented as mods on top of the core engine, and other mods can choose to use as much or as little of that functionality as they like. At the simplest, a mod may just contain some custom MiniYaml definitions. More complex mods may need to introduce some custom traits, which are written in a .NET language (we prefer C#) and compiled into a DLL. At the most complex end of the spectrum, it is possible to use the engine without any of the RA behavior, although this involves an incredible amount of work (reinventing combat, production, resource management etc).
Read the Trait Documentation to see what game rules are available and how they work.
Running the game with a mod
By default, the game runs the mods listed in settings.yaml, under
Game: Mod:. If this doesn't exist, the default is "modchooser"(which lets you choose which mod to play and install assets for it). You can override the settings and run with specific mods by listing them on the command line, or by changing the arguments in the launcher shortcuts.
Under Windows, you can do this by creating a new shortcut to
Right click on the shortcut, select properties and go to the Shortcut tab.
Go to the target box and type a space at the end, then type:
The target box should now read:
C:\Program Files\OpenRA\OpenRA.Game.exe Game.Mod=
Game.Mod= you should declare which mod you want to load. To run the Tiberian Dawn mod, you would use
Mod Directory Layout
Each mod has a directory inside the
mods directory in the game root. It is the name of this directory which is used when naming mods to load. Everything related to a particular mod is contained within this directory (with the possible exception of user maps, which can be loaded from other locations too.)
The only file which is absolutely required for a mod is
mod.yaml. This contains the manifest for the mod, which the engine will use to load all the other pieces you need. By convention, other things are placed in subdirectories of the mod directory:
rulescontains MiniYaml files describing how to assemble actors (units/buildings/etc)
tilesetscontains MiniYaml files describing the various tilesets -- temperate, snow, etc.
chromecontains MiniYaml files describing the UI chrome
uibitscontains various textures used by the chrome
bitscontains various loose in-game assets -- SHPs, etc.
Nothing forces you to lay out a mod this way, but it's easier if everything is consistent.
Adding a faction to your mod
You need to modify following files:
The faction will now start out with the MCV only.