Difference between revisions of "Plugins"
(Added JetBrains Rider to IDEs) |
|||
(22 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | + | '''Plugins''' are user-made [[addons]] which add to or change the behavior of KSP. They consist of one or more [[w:Dynamic-link_library|DLL]] files written in the [[w:C_Sharp_(programming_language)|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 [[w:Integrated Development Environment|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. | |
− | + | {| class="wikitable" | |
+ | ! IDE !! License !! Windows !! Mac !! Linux | ||
+ | |- | ||
+ | | [https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx Visual Studio] | ||
+ | | Commercial | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | | style="background:#ffcccc;" | {{No}} | ||
+ | | style="background:#ffcccc;" | {{No}} | ||
+ | |- | ||
+ | | [http://www.monodevelop.com/download/ MonoDevelop (aka Xamarin Studio)] | ||
+ | | LGPLv2 / MIT (Free) | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | |- | ||
+ | | [http://www.icsharpcode.net/OpenSource/SD/Download/ SharpDevelop] | ||
+ | | Open-source (Free) | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | | style="background:#ffcccc;" | {{No}} | ||
+ | | style="background:#ffcccc;" | {{No}} | ||
+ | |- | ||
+ | | [https://www.jetbrains.com/dotnet/promo/unity/ JetBrains Rider] | ||
+ | | Commercial/Some open-source | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | | style="background:#ccffcc;" | {{Yes}} | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | == Getting Started == | ||
+ | |||
+ | See the below links for setting up your chosen IDE for building KSP plugins. Once you're ready to build, try [[Tutorial:Creating your first module|creating your first module]]. | ||
* [[Setting up Visual Studio]] | * [[Setting up Visual Studio]] | ||
* [[Setting up MonoDevelop]] | * [[Setting up MonoDevelop]] | ||
* [[Setting up SharpDevelop]] | * [[Setting up SharpDevelop]] | ||
− | |||
− | + | == See Also == | |
− | * [[Creating your first module]] | + | * [[Community API Documentation]] |
+ | * [[Tutorial:Creating your first module|Creating your first module]] | ||
* [[Module Tips and Tricks]] | * [[Module Tips and Tricks]] | ||
− | * [[ | + | * [[CFG File Documentation#Part Modules|List of stock Part Modules.]] |
+ | * [[Module code examples]] | ||
+ | * [http://forum.kerbalspaceprogram.com/threads/56053-Example-plugin-projects-to-help-you-get-started Example plugin projects] | ||
+ | * [https://www.youtube.com/watch?v=ilWZjYx7brE cybutek's .20+ quick start video guides] | ||
+ | * [http://forum.kerbalspaceprogram.com/index.php?/forum/29-plugin-development-help-and-support/ KSP Forum Plugin Development Support section] | ||
[[Category:Modding]] | [[Category:Modding]] |
Revision as of 20:28, 2 October 2018
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 |
JetBrains Rider | Commercial/Some open-source | 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 |
Getting Started
See the below links for setting up your chosen IDE for building KSP plugins. Once you're ready to build, try creating your first module.