Modding

*This article is a stub. You can help Horizon Wiki by expanding it.*

## Overview

The modding support in Horizon allows a user to change many things about the game. All modding occurs within the Horizon/mods folder, and Documents/Horizon/mods.xml.
Discussions and questions about modding can be directed to the forums

* Modding Community Forum

## Quick Start

As a starting point, take a look at the Horizon/Mods folder to see samples of simple mods.

Generally, each mod should follow these guidelines:

1. It's root folder must be placed in the Horizon/Mods folder
2. Within the root folder, modinfo.xml must exist and be valid (see the samples for the structure of this file)
3. The file structure within the mod root should be identical to the base game root structure (except for optional localization [this is the lang/xx folder] - see optional localization sample)

Note: only include files that have been changed.
Note: Some files permit partial modification, meaning only part of the file needs to be changed (an example of this has been provided within the samples)
### Basic Mod Walkthrough

As a crash course, we can follow the example of the Basics sample. This mod simply replaces the Human race's logo with the Barbeck logo.

1. Create a new folder in the mods directory (name it 'My first mod' if you wish)
2. Within this folder, create a file called modinfo.xml and write the following within it

```
   <?xml version="1.0" ?>
   <Mod available="true">
     <Name>Human logo change</Name>
     <Description>This is an example of changing a race's logo</Description>
     <Author>Your Name</Author>
     <Website></Website>
     <ModVersion>1.0</ModVersion>
     <GameVersion>Current game version (eg. 1.0.1.103)</GameVersion>
   </Mod>

```

*Note: available="true" means it will be visible in the mod interface within the game.*
3. Create the folders /races and /races/Race04 (this is the same structure as the base game's 'races' folder - Humans have a race id of 4)
4. From the base game, copy the file 'races/Race00/emblem.dds' to the newly created 'mods/My first mod/races/Race04' folder.
When the game attempts to load Race04/emblem.dds, it will look in the active mods for this file. If it finds it, it will use the modded version instead of the base game's version.

### Enabling your mod

When the mod is first created, the game will detect the new mod and create an entry in 'Documents/Horizon/mods.xml'. By default, mods are disabled when first detected.
To enable it, the user must start Horizon and navigate to the Mods menu from the main menu.

*Note: It is often necessary to restart the game before the mod is truly enabled. This has to do with data pre-loading and caching.*
### Mod ordering

The order of the mods is important. If the same file is modified in two different mods, the game will use the highest priority mod's version of the file.
In the case of partially modifiable files, the highest priority mod will be loaded last, so it's contents will overwrite any conflicting data.

*Note: It is often necessary to restart the game before the re-ordering takes effect. This has to do with data pre-loading and caching.*
### Creating Missions

Modders have been given the ability to create their own missions, and optionally disable official ones.

Horizon uses a custom xml based system for creating quests. It will be necessary to become familiar with it before creating your own.

* Missions Documentation