Skip to main content

Toolchain overview

xresloader converts Excel design data into structured configuration. Batch tools, validators and generated loaders connect it to your game project.

Capabilities​

  • Cross-platform batch conversion: a Java 17+ engine, native Rust CLI and Tauri GUI work on Windows, macOS and Linux. Includes share settings across manifests.
  • Multiple output formats: export the same workbook as protobuf, MsgPack, Lua, JavaScript, JSON, XML or UE DataTable JSON / CSV. Output matrices separate client and server formats.
  • Complete schema structures: proto2 / proto3, nested messages, repeated fields and nested arrays, oneof, map and in-cell Plain structures.
  • Enums and descriptors: export schema enums, constants and descriptors as Lua / JavaScript code or JSON / XML data, with custom options for reflection.
  • Unreal Engine integration: export DataTable JSON / CSV and generate loading code for UE workflows.
  • Aliases and validation: field and enum aliases, macros and cross-table references make spreadsheets readable. Ranges, logical composition and custom validators check data before export.
  • Custom output and merged sources: schema extensions control output; merge multiple Excel sources into one file, map names with regular expressions, select ranges and transpose data.
  • Formula and output controls: read saved formula caches or explicitly enable evaluation. Trim or retain empty arrays, set data versions and configure directories and renaming for each format.
  • Loaders for multiple languages: C++, C#, Go, upb, pbc and lua-protobuf integrations. Lua supports global / require / module; JavaScript supports global / Node.js / AMD.
  • Inspectable binaries: xresloader-dump-bin uses descriptors to display bin headers and records and extract strings or tagged fields.

The homepage presents these capabilities and the complete component catalog, repositories and latest downloads.

Components​

ComponentPurposeDownload
xresloaderExcel conversion engineLatest release
xresconv-cliCLI batch converterLatest release
xresconv-guiGUI batch converterLatest release
xresloader-dump-binInspect exported binary dataLatest release
xres-code-generatorData loader generatorCurrent source
xresconv-confXML configuration and GUI extensionsCurrent source
xresloader-protocolData headers and schema extensionsCurrent source

Components without a stable release offer their current source. See Download and install for latest versions and platform packages. The documentation repository contains configuration, scripts and sample sources.

Where to start​

GoalGuide
Quick startQuick start: download a ready-to-use example and check four outputs
Install the toolsDownload and install: Java, platform packages and WebViews
Automate conversionCLI usage and migration: native Rust, arguments and exit status
Select tables interactivelyGUI usage and migration: desktop workspace, logs and display settings
Maintain project manifestsXML and output matrices: paths, includes, formats and filters
Extend the desktop appScripts and selectors: events, tree mirrors and buttons
Modify the implementationBuild and validate, Architecture and interfaces

Verified components​

The releases verified on 2026-10-05 were xresloader 2.23.7, xresconv-cli 2.0.2, xresconv-gui 3.0.0 and xresloader-dump-bin 2.6.0. They release independently; see the installation guide for runtime requirements.

  • Engine: Java 17+, proto2/proto3, nested messages, repeated, oneof, map and in-cell Plain structures.
  • Output: protobuf bin, MsgPack, Lua, JavaScript, JSON, XML and UE DataTable JSON/CSV. Loading is explained in Output formats.
  • Batch tools: Rust CLI for pipelines; Tauri GUI for selections, output matrices and extensions. Both reuse XML, with some differences in includes and GUI events.
  • Validation: aliases, ranges, cross-table references and logical composition; see Validators.
  • Mapping: merged sources, ranges, transposition, arrays and macros; see Data mapping, Data types and Advanced usage.
  • Runtime integration: Data loader generation and Ecosystem tools.

Upgrade notes​

CLI 2.x no longer requires Python for its main program; the old Python files forward to the native executable. GUI 3.0 replaces Electron. Project scripts no longer receive DOM, jQuery or Electron APIs. Each component guide covers installation and migration.

The engine reads saved Excel formula caches by default; --enable-excel-formular explicitly enables evaluation. Streaming mode does not detect date formats. Lowering the compiler target alone does not make the current Java source compatible with JDK 8.

Development and project information​

The downloadable starter sources are under source/sample/current; English sources are under its en/ directory. Other samples retain their historical context. Regenerate bindings using your protoc and runtime versions.