Skip to content

Compatibility

Zaldaryon edited this page Aug 28, 2026 · 14 revisions

Compatibility

Server Compatibility

Optimum is client-only. It connects to any Vintage Story server running a matching game version (1.22.7). The server does not need any modification. From the server's perspective, Optimum looks like a standard client.

Version Matching

Each Optimum build targets one Vintage Story version. Running Optimum built for 1.22.7 against a 1.22.2 or 1.23.x server will fail at the version handshake, same as vanilla. Check the release notes for the supported version.

When Vintage Story updates, Optimum's cache auto-invalidates on the next launch and re-patches against the new DLLs. If a game update changes an internal API that Optimum patches, the patcher reports the failure, restores built-in vanilla mods, and exits before game startup.

Optimum 0.3.14 targets Vintage Story 1.22.7. Install Vintage Story 1.22.7 first (Optimum does not update your Vintage Story install), then point the Optimum installer at that version. See Installation for each platform's setup.

Client Mods

Most client-side mods work with Optimum. Mods that add items, blocks, recipes, or UI elements through the standard modding API load without issues.

Mods that may conflict:

  • Mods using Harmony to patch the same methods Optimum transplants via Cecil. The patched DLL already contains the optimization, so a Harmony patch targeting the same code path may hit unexpected IL.
  • Mods that hook into entity rendering internals (custom renderers, shader injection).
  • Mods that replace engine shader files or patch shader loading.
  • Mods that replace the frame-limiting or game-loop logic.

If a mod causes problems, disable it and test. Most issues are detectable at startup (crash or log error on method resolution).

Known Mod Interactions

Mod Status Notes
OptiTime Overlaps Optimum is the successor. Disable OptiTime.
SheyderMod Requires testing Replaces engine shader files and patches shader loading. Optimum records the ownership conflict and disables affected optional shader features, but the combined render stack still needs a visual test.
Salty's Immersive Light Requires testing Changes client lighting data without replacing a shader file. Test lighting and shadow output with the current release.
Natural Foliage Compatible Texture-only package in the audited release. It does not replace an Optimum shader file.
TerraTag Compatible Map overlay labels render correctly. Seam-fix and mipmap patches work since 0.3.6.
Coria Ender Shaders Incompatible Patches the same OIT render stage Optimum guards. Crashes with NullReferenceException in BeforeOIT.OnRenderFrame. Use Ancestral Bliss or Sheyder instead.
Eco Machina Compatible Optimum preserves IL slot layout in CalculateVisibleFaces
VS Roofing Compatible LOD gate respects canChisel attribute
SmithingPlus Compatible Creative search cache crash is contained
Waypoint icon packs Compatible SVG reload fix prevents icon loss
Mods using Harmony/MonoMod Partially incompatible MonoMod's JIT hook layer references .NET 6 assemblies (e.g. PresentationFramework 6.0.2.0) that don't exist on the .NET 10 runtime Optimum ships. Harmony patches to gameplay code generally apply fine; the failure surfaces when a MonoMod-hooked path loads a missing .NET 6 assembly.

Worlds and Saves

Optimum does not modify save formats, world generation, or block/item data. You can open the same world folder with Optimum and vanilla interchangeably.

Multiplayer

Other players cannot tell you're using Optimum. No protocol changes, no gameplay differences, no server-side detection. The only change is client-side: less redundant CPU/GPU work per frame.

Failed Patch Checks

If a required patch, assembly validation, or JIT preflight fails, Optimum prints an error and exits. The launcher invalidates incomplete cache data, restores built-in vanilla mods, records Launch aborted in Logs/optimum-launcher.log, and returns a nonzero exit code. It does not launch Vintagestory.exe as a fallback. Your data path, worlds, and account remain intact. Optimum stores its settings in ModConfig/optimum.json in your data path, which vanilla ignores. Launch Vintagestory.exe yourself when you need an independent vanilla run.

Vanilla Files

Optimum never modifies vanilla files. The patched DLL lives in .optimum/cache/, a separate directory. Uninstalling Optimum or verifying game integrity leaves vanilla in the exact state it was before.

Clone this wiki locally