Setting up MonoDevelop
MonoDevelop is an IDE primarily designed for C# and other .NET languages. It is also cross compatible, as in; it will run under windows as well as Mac OSX and Linux.
- Microsoft Windows XP or above, Mac OS X, or any Linux distribution which supports Mono.
- .NET Framework 4.0
- GTK# for .NET 2.12.10
- Kerbal Space Program 0.14 X1 or above.
PCL assemblies for Linux systems
Linux systems may be missing the PCL assembly libraries, which will cause compilation to fail. (No longer an issue on newer Mono)
- .deb and .rpm based systems can follow the instructions on the Mono Project site to add the appropriate repository, and the package name is "referenceassemblies-pcl".
- Arch Linux users will need to get the package from the Arch User Repository (AUR), and are looking for the "mono-pcl" package.
- Start a new solution either by selection "Start new solution" on the welcome screen or File > New > Solution...
- Select "Library" in the C# tree (Visible by default). Name it whatever you like. (We're using MyKSPProject for this tutorial. Click forward. Then Ok.)
- Click Project > Edit References and follow the steps below:
- Click the .NET Assembly tab and use the navigation menu on the left to browse to your KSP installation folder.
- On Windows navigate to (<KSP_win>\KSP_Data\Managed) or on mac click "Browse..." and navigate to (/Users/<user>/Applications/Steam/steamapps/common/Kerbal Space Program/KSP.app/Contents/Resources/Data/Managed). Note that the KSP.app folder will show as just "KSP" (without the .app) and you can't navigate into it. Instead, navigate into there in the Finder, then right click/ctrl-click on KSP, choose "Show Package Contents", continue to the Managed directory, then drag&drop Assembly-CSharp.dll and UnityEngine.dll into the "Browse" dialog.
- Select Assembly-CSharp.dll and UnityEngine.dll. More assemblies may be required depending on exactly which things your mod needs access to.
- Press Add then Ok, they should now be visible under the "References" directory of your solution.
Great, you're all set! Now continue to creating your first module!