Modding:Setting up your Development Environment
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, have a look at one of the following guides:
- Setting up your Development Environment on Windows
- Setting up your Development Environment on Linux
- A tutorial for Setting up VSCode by copygirl
Software Installation
Install VintageStory
First of all download VintageStory and make sure you have installed the newest version of the game, otherwise errors may occur.
Install Development Tool
VintageStory is developed in C#. Now it's about to install a development program, which allows you to write and compile mods. There is a tutorial for each platform.
Windows
VintageStory is developed using VisualStudio. Luckily you can get VisualStudio Community for free here. Installation should be simple and straight forward to do, but depending on your internet connection it may take a while.
Linux
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 (tutorial). If you want to use MonoDevelop, just stay here and continue the tutorial.
1. Install FlatPak
It is required to install MonoDevelop so if you already have FlatPak then you can skip this step. FlatPak have their own guides of how to install it for many distributions here.
2. Install MonoDevelop
Simply open up a terminal and run the following command:
flatpak install --user --from https://download.mono-project.com/repo/monodevelop.flatpakref
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 flatpak run com.xamarin.MonoDevelop
in the terminal.
Mac OS
Download and install VisualStudio for 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.
Project Setup (ZIP)
Get the Modtemplate
To get started download the VSModTemplate solution (here). Now you simply need to extract the zip archive to your desired place:
Navigate to VSMods
and double click VSMods.sln
(only works if VisualStudio is installed). Alternatively you can also start VisualStudio hit Open Project/ Solution
, navigate to the extracted folder and select VSMods.sln
.
But before you can start to work, you have to setup the ModTools first.
Run ModTools
The ModTools allow you to do various tasks rather easily by typing in a command. Each platform requires a different way to start it.
Windows
Double-click vsmodtools.exe
.
Linux
Open a terminal and navigate to this folder and enter mono vsmodtools.exe
.
Mac OS
Double-click modtools.command
.
Setup
Syntax: setup [optional path]
Before doing anything else you have to setup your workspace. Just type in setup
and it will automatically try to locate your VintageStory installation directory. If it cannot find it, you will be asked to type in the full path. Once you have entered your path, it will update your project files so you can start to work with it. Now open the project again and run your first test by hitting start
. If everything has been done correctly VintageStory should start.
Add Mod
Syntax: add <modid>
Allows you to add a mod to your workspace. It's fully automated and will generate an assets
and a src
folder, including a modinfo.json
file. The mod will be added to your project and will be loaded by VintageStory. Also make sure to fill in all additional information in modinfo.json
.
Delete Mod
Syntax: delete <modid>
Make sure your project is closed, otherwise you might run into some difficulties. It will delete the given mod completely (irreversible).
Pack Mod
Syntax: pack <modid>
Creates a mod zip file and places it in /releases/<modid>/<modid>_v<modversion>.zip
. This file is ready for use and can be shared with other people.
Syntax: pack-all
Packs all mods in your workspace at once.