Plugins

From Kerbal Space Program Wiki
Revision as of 11:05, 6 January 2015 by Pizzaoverhead (talk | contribs) (Updated the introduction.)
Jump to: navigation, search

Plugins are user-made addons which add to or change the behavior of KSP. They consist of one or more DLL files written in the C# programming language. Plugins allow changing how the game itself works, anything from showing new information windows to making a hovercraft part, or even new planets. Plugin support was added to KSP in version 0.14, and is available on all operating systems.

Using Plugins

To use a Part Module Plugin, just drop the DLL into KSP/GameData/ or a new sub folder inside it. To stop using a plugin, just delete it or move it outside the KSP/GameData/ folder.

Creating Plugins

Plugins can be written in any text editor and compiled with a standalone compiler, but the easiest way to start coding is to use an Integrated Development Environment or IDE for short. An IDE is a program that helps you to write code (in our case the language C#). Listed here are some of the most popular options.

IDE License Windows Mac Linux
Visual Studio Commercial style="background: #9f9; vertical-align: middle; text-align: center;" class="table-yes" | Yes style="background: #f99; vertical-align: middle; text-align: center;" class="table-no" | No style="background: #f99; vertical-align: middle; text-align: center;" class="table-no" | No
MonoDevelop (aka Xamarin Studio) LGPLv2 / MIT (Free) style="background: #9f9; vertical-align: middle; text-align: center;" class="table-yes" | Yes style="background: #9f9; vertical-align: middle; text-align: center;" class="table-yes" | Yes style="background: #9f9; vertical-align: middle; text-align: center;" class="table-yes" | Yes
SharpDevelop Open-source (Free) style="background: #9f9; vertical-align: middle; text-align: center;" class="table-yes" | Yes style="background: #f99; vertical-align: middle; text-align: center;" class="table-no" | No style="background: #f99; vertical-align: middle; text-align: center;" class="table-no" | No

See the above links for setting up your chosen IDE for building KSP plugins. Once you're ready to build, try creating your first module.