Modding:Setting up your Development Environment: Difference between revisions

From Vintage Story Wiki
no edit summary
No edit summary
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
When you are ready to begin coding mods for Vintage Story, you probably would want to set up a development environment that simplifies the process of coding and testing your creations. But if you feel hardcore, you can even create your code mods with your most basic text editor. The game engine will compile your raw source files when it finds them in your mod folder. Otherwise, continue to read this tutorial.


= Software Installation =
== Software ==


== Install VintageStory ==
When you are ready to begin coding mods for Vintage Story, you probably would want to set up a development environment that simplifies the process of coding and testing your creations. There are several applications that aid you in the development of mods. Here are some suggestions:


First of all download VintageStory and make sure you have installed the newest version of the game, otherwise errors may occur.
* [https://www.visualstudio.com/de/vs/community/ Visual Studio Community] is a free and very powerful development environment and covered in below guide. This is also the tool the Vintage Story Team uses to build the game. It also has a [https://www.visualstudio.com/vs/mac/ MacOS Version].


== Install Development Tool ==
* [https://code.visualstudio.com/ Visual Studio Code] is very a lightweight version of Visual Studio. Our precious community member [https://twitter.com/koppeh?lang=en copygirl] is using this tool and also [https://github.com/copygirl/howto-example-mod wrote a set up guide on github]


VintageStory is developed in C#. Programming is most efficiently done in an IDE (integrated development environment). Let's install one!
* [https://www.monodevelop.com/ MonoDevelop] is another IDE that is more lightweight than Visual Studio Community.


=== Windows ===
* [https://notepad-plus-plus.org/ Notepad++] your very basic text editing tool with some extra features. You can code mods in any text editor, really. It does however lack instant context sensitive feedback while programming, which is very helpful. If you choose this way, you can use the game itself to trial and error mods by reloading them while the game is running.


VintageStory is developed using VisualStudio. You can get VisualStudio Community for free [https://www.visualstudio.com/de/vs/community/ here]. Installation should be simple and straightforward to do, but depending on your internet connection it may take a while.
== Install Development Tool ==


=== Linux ===
VintageStory is developed in C#. Choose one of the above IDEs or other alternatives. We suggest '''Visual Studio Community''' on Windows and on Linux you may want to use '''MonoDevelop''' or '''Visual Studio Code'''.


There are multiple programs you could use. The following tutorials will use '''MonoDevelop''', but you can also use '''VisualStudio Code''' which is a light-weight, cross-platform development tool ([https://github.com/copygirl/howto-example-mod tutorial]). If you want to use MonoDevelop, just stay here and continue the tutorial.
=== Installation Guide on Linux (MonoDevelop) ===


'''1. Install FlatPak'''
'''1. Install FlatPak'''
Line 30: Line 29:
This might take a few minutes depending on your internet connection. (The latest version at the time of writing was around 275MB.)
This might take a few minutes depending on your internet connection. (The latest version at the time of writing was around 275MB.)
To open up MonoDevelop enter <code>flatpak run com.xamarin.MonoDevelop</code> in the terminal.
To open up MonoDevelop enter <code>flatpak run com.xamarin.MonoDevelop</code> in the terminal.
=== Mac OS ===
Download and install '''VisualStudio for Mac''' [https://www.visualstudio.com/vs/mac/ here]. Unfortunately, nobody in our team has a mac so we don't know for sure if the following tutorials work on mac without any problems.


== Get the Modtemplate ==
== Get the Modtemplate ==


To get started download the VSModTemplate solution ([https://github.com/anegostudios/vsmodtemplate/releases/download/1.4.0/VSModTemplate-v1.4.0.zip here]). Now you simply need to extract the zip archive to your desired place:
To get started download the VSModTemplate solution ([https://github.com/anegostudios/vsmodtemplate/releases/download/1.4.1/VSModTemplate-v1.4.1.zip here]). Now you simply need to extract the zip archive to your desired place:


[[File:VSMods9.png]]
[[File:VSMods9.png]]
Line 97: Line 92:
= Project Setup (DLL) =
= Project Setup (DLL) =


A convenient setup system for dll mods is not finished yet, please refer to the samples mod repository until then: https://github.com/anegostudios/vsmodexamples
Dll mods are way more powerful than source mods, but they have two major downsides. Firstly, they are not able to carry assets which will be loaded by the game, secondly because they are so powerful they can be dangerous. Besides that dll mods can (unlike the others) have cross mod references, provide APIs and use C# 7. We recommend this type of mod for more experienced mod developers.
 
== Add Mod ==
 
''Syntax: <code>add-dll <modid></code>''
 
Adds a new mod project to your workspace. A generated <code>AssemblyInfo.cs</code> file will be in your properties folder, it contains the mod information (name, author, version, description etc.) so make sure to change them before you spread the mod to other people. The mod will be added to your visual studio solution and will be loaded by VintageStory.
 
== Delete Mod ==
 
''Syntax: <code>delete <modid></code>''
 
Before executing, make sure your project is closed, otherwise you might run into some difficulties. Running this command will delete the given mod completely (irreversible).
 
== Release Mod ==
 
Once you launch VintageStory in your workspace, the dll mod will be compiled. You can find it in your <code>mods</code> folder, with the give name: <code><modid>.dll</code>. If you want to upload this mod or share it with your friends this is the file you need to use.
Confirmedusers, Bureaucrats, editor, Administrators
1,795

edits