Difference between revisions of "Plugins"
m (Auto: movedURLs (Review RC#43039)) |
(Added JetBrains Rider to IDEs) |
||
(12 intermediate revisions by 7 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 == | == Using Plugins == | ||
− | To use a Part Module Plugin, just drop the DLL into KSP/ | + | 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 == | == 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" | {| class="wikitable" | ||
! IDE !! License !! Windows !! Mac !! Linux | ! IDE !! License !! Windows !! Mac !! Linux | ||
|- | |- | ||
− | | [ | + | | [https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx Visual Studio] |
| Commercial | | Commercial | ||
− | | style="background:#ccffcc;" | | + | | style="background:#ccffcc;" | {{Yes}} |
− | | style="background:#ffcccc;" | | + | | style="background:#ffcccc;" | {{No}} |
− | | style="background:#ffcccc;" | | + | | style="background:#ffcccc;" | {{No}} |
|- | |- | ||
− | |[ | + | | [http://www.monodevelop.com/download/ MonoDevelop (aka Xamarin Studio)] |
| LGPLv2 / MIT (Free) | | LGPLv2 / MIT (Free) | ||
− | | style="background:#ccffcc;" | | + | | style="background:#ccffcc;" | {{Yes}} |
− | | style="background:#ccffcc;" | | + | | style="background:#ccffcc;" | {{Yes}} |
− | | style="background:#ccffcc;" | | + | | style="background:#ccffcc;" | {{Yes}} |
|- | |- | ||
− | |[ | + | | [http://www.icsharpcode.net/OpenSource/SD/Download/ SharpDevelop] |
| Open-source (Free) | | Open-source (Free) | ||
− | | style="background:#ccffcc;" | | + | | style="background:#ccffcc;" | {{Yes}} |
− | | style="background:#ffcccc;" | | + | | style="background:#ffcccc;" | {{No}} |
− | | style="background:# | + | | 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 == | |
− | * [[Creating your first module]] | + | 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 MonoDevelop]] | ||
+ | * [[Setting up SharpDevelop]] | ||
+ | |||
+ | == See Also == | ||
+ | |||
+ | * [[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.]] | * [[CFG File Documentation#Part Modules|List of stock Part Modules.]] | ||
* [[Module code examples]] | * [[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] | * [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.