# Acedia for mod making This document aim to guide you through all of Acedia's features and capabilities from the mod maker perspective. It consists of a brief overview of how different components fit together and then somewhat detailed look at each of them. This document is not a reference documentation that lists and describes every single class and method. Unfortunately, such a document does not exist right now. The closest substitute for it would be Acedia's source code - most of the methods and classes are given brief descriptions in the comments. They might somewhat lack in quality, since having a peer review for them would not have been viable, but that is all I can offer. Any corrections to them are always welcome. We assume that our audience is at least familiar with UnrealScript programming. Acedia's API is not stable enough for us to recommend using it to people new to the Killing Floor modding. ## What the hell is all of this? Acedia 0.1 was a small mutator that fixed game-breaking bugs and what Acedia is now might seem like a huge departure from that. But this development was more or less planned even before version 0.1 release. In particular, Acedia 0.1 had already included a `Feature` class that was used to pick what bug fixes to enable. It would have been an overkill if bug fixing was all Acedia would ever do and now `Feature` is one of the Acedia's main... features that is supposed to take the role of the `Mutator` class. What was Acedia before now is broken into three different packages: * AcediaCore - package that defines base classes, required for other Acedia packages to work correctly; * Acedia - launcher that is supposed to load both native `Mutator`s and Acedia's `Feature`s; * AcediaFixes - all the bug fixing `Feature`s were moved here. The topic of this document is only AcediaCore - a base class library. ## Functionality of AcediaCore A lot of its API are fairly independent from each other and can be skipped or learned depending on your needs. The only exception to that is Acedia's type system and object management. So go read about them [here](./essential/index.md) before anything else.