BellekSoft - Variant Manager Importer

Build Level Variant Sets from JSON, CSV, or Excel — in one click.

Editor plugin that converts JSON, CSV, or Excel files into a fully populated LevelVariantSets asset, with actor bindings and Visibility / Material / Static Mesh captures wired up automatically.

Variant Manager Importer turns variant data authored in JSON, CSV, or Excel into a fully populated LevelVariantSets asset — wired up to the actors in your level — through a single editor dialog. It is purpose-built for archviz, configurator, and product-visualization workflows where variant data lives in a spreadsheet, a design tool, an ERP/PIM export, or a script-generated file, and needs to land in the built-in Variant Manager without manual click-throughs.

What it does

  • Parses JSON, CSV, and XLSX with one shared schema.

  • Creates or updates a real ULevelVariantSets asset, identical to one authored by hand in the Variant Manager.

  • Captures Visibility (actor- or component-level), Material slot overrides, and Static Mesh swaps.

  • Resolves actors by soft object path, label, or unique name — including loaded sub-levels and World Partition cells.

  • Re-imports cleanly with three conflict modes: Skip Existing, Overwrite, or Append / Merge.

  • Surfaces every warning and error in an in-dialog scrollable log panel next to the Output Log entries.

Why use it

  • One-click round trips between your data sheet and the engine — no copy/paste, no manual binding.

  • Lets non-technical team members (or generated tooling) drive variant content.

  • Idempotent re-imports work great with version control.

  • Editor-only; nothing is added to your packaged game.

Plugins this depends on:

- Variant Manager (engine plugin, enabled by default)

- Variant Manager Content (engine plugin, enabled by default)

Supported capture types

TypeCapturesRequired dataVisibilityActor bHidden or SceneComponent bVisibleVisible (boolean)MaterialOverrideMaterials[slot] on a Static Mesh ComponentComponent, slot index, asset pathStatic MeshThe component's StaticMeshComponent, asset path

Sample Files

Sample CSVExcel files: https://drive.google.com/drive/folders/1hUwtSiiXplatgoK2adbHvBkLLiPyDZeo?usp=sharing

File format quick look (CSV)

VariantSet,Variant,Actor,Component,PropertyType,MaterialSlot,Asset,Visible

Visibility Demo,Hide Cube,Cube,StaticMeshComponent,Visibility,,,FALSE

Visibility Demo,Show Cube,Cube,StaticMeshComponent,Visibility,,,TRUE

Color Schemes,Red,Cube,StaticMeshComponent,Material,0,/Game/Materials/M_Red.M_Red,

JSON and XLSX use the same fields. See the bundled Docs for the complete schema.

What's in the box

  • Two editor modules (VariantManagerImporterCore, VariantManagerImporterEditor)

  • Slate import dialog wired into Tools ▸ Variant Manager ▸ Import Variants… and a Level Editor toolbar button

  • Three working samples in Examples/: full multi-set JSON, a CSV, and a ready-to-test HideCube.csv / HideCube.xlsx

  • Full source (C++) and Markdown documentation

Programmatic API

The same import pipeline is exposed through FVariantImportManager::ImportFromFile, so you can drive it from your own editor utility, Python, or C++ tools.

Requirements

  • Unreal Engine 5.4 or newer

  • Engine plugins Variant Manager and Variant Manager Content (auto-enabled)

  • Editor-only — no runtime impact on your shipping build