# Expose Class Default Object Editor via Content Browser

**URL:** <https://forums.unrealengine.com/t/expose-class-default-object-editor-via-content-browser/2662091>\
**Category:** Editor Scripting\
**Tags:** cdo, unreal-engine\
**Created:** [October 3, 2025, 4:47pm UTC](https://forums.unrealengine.com/t/expose-class-default-object-editor-via-content-browser/2662091 "2025-10-03T16:47:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![codx](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@codx](https://forums.unrealengine.com/u/codx)\
**Post date:** [October 3, 2025, 4:47pm UTC](https://forums.unrealengine.com/t/expose-class-default-object-editor-via-content-browser/2662091/1 "2025-10-03T16:47:58Z")

</div>

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

### 🔹 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.

### 🔹 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.

### 🔹 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.

### 🔹 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.

### 🔹 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.
