works

Plugins, tools, and games.

works/UE Plugins

Binding Configuration Arrays to Enums

On sale

SimpleAutoEnum

Bind configuration arrays to enum ranges through macros to reduce repeated initialization code.

  • Data & Configuration
  • Simple series

Platforms:Windows (Win64) / macOS / Linux / Android / iOS

Requirements:UE 5.2–5.8

Back
This page's table of contents

Overview

SimpleAutoEnum declares bindings between configuration arrays and UE enums with macros, reducing repeated initialization and configuration change handling for each enum.

It supports one-to-one bindings, multiple arrays in different ranges of one enum, and several enums sharing one configuration array.

Background and goals

Mapping configuration to enum reflection data in UE normally requires defining configuration classes, initializing enums in a subsystem, and writing similar update logic for configuration changes. As enums and settings grow, this code becomes repetitive and difficult to inspect.

The tool concentrates binding relationships in macro declarations and supplies data validation and logs to help maintain multiple bindings.

Core capabilities

Declaring array and enum bindings

For one-to-one cases, a macro maps an array in a specified configuration class to the target enum. New bindings still require target enum and configuration property definitions, but each group no longer needs a complete set of repeated initialization calls.

Combining ranges and sharing sources

To place several configuration groups in one enum, arrays can receive separate enum ranges. Several enums can also reference the same array. These approaches match bindings to configuration structure without requiring every project to use one array per enum.

Data validation and logs

The tool handles empty values, duplicates, and range boundaries, and logs binding registration, results, and duplicate values. Callers can inspect whether configuration reached enums as expected, then verify results in the Blueprints and workflows using them.

Use cases

It suits C++ projects where several UE enums receive entries from Project Settings arrays and bindings or combined sources frequently change. It particularly reduces repeated maintenance of similar enum initialization logic.

Scope and limitations

Projects must correctly define configuration classes, target enums, and range boundaries, and check that empty and duplicate value handling meets business expectations.

Dynamically changing enum contents may affect existing Blueprint references and persisted data. Projects must validate compatibility; successful binding logs alone do not establish safety.

See the user guide for macro binding, configuration examples, and manual initialization.