Modding:Mod-Engine Compatibility

From Vintage Story Wiki
Jump to navigation Jump to search

The Vintage Story Game engine is not immune to code deprecation. When new releases are made, some API components may become obsolete or removed entirely. However, we the VS Team do very carefully consider every API breaking change to minimize breakage as much as possible. In general, if your mod consists mostly of JSON assets, you are likely safe from breakage across several major updates. And even if your mod contains C# code, I'd like to believe 9 out of 10 times, the breakage on a major update, if any, should be minimal and fixable within an hour or two. Every API change is also documented in every devlog entry, to help you with your migration process.

We also have a prolonged and consistent release cycle to prepare modders for a new major update.

1. pre: A preview release, we consider the major API changes to be 90% complete at this point, but there can still be adjustments. The main focus in later previews is finishing up minor game content and any issues which have emerged during the preview phase.
2. rc: A release candidate, we consider all major API changes to be complete by this stage as well as all game features. The main focus is bugfixing.
3. stable: A stable version. We only change the API in extraordinary circumstances after this point.

If you experience a pattern of major breakage that requires many hours of updating to get your mod working again - the dev team always has an open ear for suggestions. Please also keep in mind, we are not perfect. Sometimes breakage does happen, sometimes unintentionally.


Modding
Template:Navbox/modding/code require C# coding
Basics

Getting Started | Mod Types | Simple Examples

Asset System | Textures | Items | Recipes | Blocks | Model Creator | Animation Basics | VTML & Icons | Mod Packaging & Release | Modinfo | Debugging

Advanced

JSON Patching | Advanced JSON Items | The Remapper | Server-Client Considerations

Template:Navbox/modding/code

Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code

Data Management

Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code | Template:Navbox/modding/code

Worldgen

WorldGen Concepts | Terrain | Ores | Trees | Template:Navbox/modding/code

Rendering

Template:Navbox/modding/code

Property Overview

Item | Entity | Block | Block Behaviors | Block Classes | Block Entities | Block Entity Behaviors

Workflows & Infrastructure

Modding Efficiency Tips | Template:Navbox/modding/code | Template:Navbox/modding/code

Additional Resources

List of server commands | List of client commands | Client startup parameters | Creative Starter Guide | ServerBlockTicking | Bot System | WorldEdit | Cinematic Camera

Example Mods | API Docs | GitHub Repository