Repository navigation
Project settings as DataAssets: implemented foundation #43
Description
Current State
The settings foundation is implemented in the current tree. ProjectSettingsAsset, ProjectSettingsSet and ProjectSettingsLoader discover settings by type; PlayerSettings, GraphicsSettings and InputSettings are authored as assets. ProjectSettingsFiles.MigrateLegacyProject moves legacy values into Assets/Settings and retains project.data.bak. StudioCommands opens the active settings asset in the Inspector. CompilerBase writes projectSettings.json, and the runtime loader resolves its settings IDs.
The implemented design uses the project folder and discovery by settings type, rather than retaining a central project.data with references. Bricks/manifest.json is bootstrap configuration resolved before DataAsset types are loaded. Time, audio, physics and additional export/platform settings are additive extensions owned by their subsystem issues.
Tasks
- Implement typed settings assets, per-type defaults and discovery.
- Migrate existing legacy settings with a backup.
- Open project settings assets in the Inspector.
- Write and load the build settings index.
- Cover migration, default identity, discovery, duplicate precedence and build-index IDs in ProjectSettingsFilesTests.
- Implement subsystem-specific settings as those subsystems land: Simulation: authoritative ticks, command replay and reproducible random streams #155 time, Audio: injected playback service, basic spatial components and silent backend #61 audio, Physics: backend, rigid bodies and collision #64/Physics: queries, triggers, layers and debug draw #48 physics, Player-facing graphics settings screen (resolution, vsync, frame cap, quality) at runtime #54 graphics options.
Acceptance Criteria
- The existing Player/Input/Graphics settings workflow is implemented, including legacy conversion and a build index.
- Closure covers that foundation; the unchecked additive extensions are tracked by the related issues.
- Evidence is code and existing regression-test inspection on 2026-10-01; this roadmap audit does not claim a new test run.
Related
#44, #79, #42, #54, #61, #64, #48, #155. Sources: Turian/Engine/Core/Asset/Settings/, Turian/Editor/Core/Settings/ProjectSettingsFiles.cs, Turian.Tests/Editor/Core/Settings/ProjectSettingsFilesTests.cs.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
[-]Project settings as DataAssets (Flax-style)[/-][+]Project settings as DataAssets: implemented foundation[/+]feat: add release build provenance and manifest variants MASS4ORG#43