Expose Class Default Object Editor via Content Browser

:memo: Feature Request: Editor for Class Default Object (CDO) Accessible via Content Browser

:small_blue_diamond: Context

Unreal Engine already exposes a tree-view of C++ classes in the Content Browser, which serves as a natural editorial entry point for class-level configuration. However, this view is currently passive: it does not allow developers or designers to assign or modify default values for EditDefaultsOnly, Config, or other class-level properties, nor does it provide visibility into the Class Default Object (CDO) associated with each class.

:small_blue_diamond: Proposal

Introduce a dedicated CDO Editor, accessible directly from the C++ Classes section in the Content Browser, enabling:

  • Visualization and editing of default values for C++ classes (via their CDO).

  • Serialization of these values in an editor-friendly location (e.g., metadata, config file, or invisible asset).

  • A simple interface similar to the existing USTRUCT editor.

  • The ability to assign default assets (e.g., UInputMappingContext, UInputAction, UMaterialInterface, etc.) without requiring Blueprint subclasses.

:small_blue_diamond: Benefits

  • Improves editorial clarity: designers can inspect and understand what a C++ class expects or provides without diving into code.

  • Reduces unnecessary Blueprint proliferation: many Blueprint subclasses exist solely to assign default assets, creating clutter.

  • Streamlines architectural design: developers can define meaningful defaults that are visible and editable.

  • Avoids hardcoded asset paths: everything remains editor-driven and safe.

  • Leverages an existing engine mechanism: the CDO is already deeply integrated into Unrealโ€™s runtime and reflection systems.

:small_blue_diamond: Technical Considerations

  • CDOs are already instantiated and accessible via GetDefault<UClass>().

  • The editor could be a lightweight extension of the Details Panel, with serialization to DefaultEngine.ini, metadata, or a hidden asset.

  • Could be limited to EditDefaultsOnly, Config, and BlueprintReadOnly properties.

:small_blue_diamond: Comparison with Unity

Unity introduced a similar feature for C# scripts, allowing default values to be assigned to UnityEngine.Object fields directly on the script asset. While limited, it provides a clear and centralized configuration point. Unreal could offer a more powerful and deeply integrated version by leveraging its reflection system and CDO architecture.