Toward a More Consistent Engine Configuration API #1080
untoldengine
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Starting with v0.13.2 of the engine, I've started introducing a more consistent public API style across Untold Engine.
The idea is simple:
Rather than exposing settings through a mix of globals, singleton instances, and subsystem-specific APIs, settings are organized by domain and configured through typed setters.
This approach provides:
Examples
Rendering:
Post-processing:
LOD:
Geometry Streaming:
Batching:
Logging:
Camera and Input:
XR spatial manipulation tuning follows the same pattern:
And the per-frame XR interaction lifecycle is exposed through focused free functions:
Lighting follows the same pattern through entity-specific configuration:
Scene channels also adopt the same style:
Compatibility
This change does not remove lower-level APIs.
Direct subsystem access, shared configuration objects, and explicit command-style APIs will continue to exist where they provide value, particularly for advanced workflows and one-shot operations.
The primary change is the preferred public-facing direction for engine configuration: new settings APIs should favor typed domain setters rather than introducing additional global mutation points.
Going Forward
The general pattern is:
The long-term goal is a public API that is organized around predictable domains, strongly typed settings, and compiler-guided discovery, while keeping the underlying implementation modular and extensible.
Thank you
Beta Was this translation helpful? Give feedback.
All reactions