Overview

V-SwiFT is a part-variant framework for KSP2 Redux. In this workspace it is integrated as a standalone module under Ksp2Redux/Assets/Modules/V-SwiFT, with both runtime code and Patch Manager-facing authoring hooks.

What V-SwiFT solves

  • switching between multiple part variants without duplicating whole part definitions

  • turning meshes or features on and off per variant

  • modifying selected part data, resources, attach nodes, and engine modes

  • showing variant-specific information in OAB UI, including dropdown and popout workflows

  • preserving variant-driven overrides into generated part data when needed

Main building blocks

  • Data_PartSwitch: stores the authored variant data on a part

  • VariantSet: groups related choices such as tank length, fairing layout, or engine mode package

  • Variant: one concrete option inside a set

  • transformers: small classes that actually apply changes to the part or generate saved overrides

Dependencies

The shipped swinfo.json declares V-SwiFT as depending on:

  • patchmanager

  • SpaceWarp

At runtime the plugin also registers a raw Patch Manager library named VSwift that exposes the shipped mixins used in the authoring examples in this subtree.

How to read this reference

  • Start with Getting started if you want to author a part.

  • Use Authoring model to understand the data shape.

  • Use Transformer reference when choosing which changes to apply per variant.

  • Use Patch Manager integration and Runtime behavior when you need to understand how the authoring surface maps to live behavior.