Что такое EditDefaultsOnly
EditDefaultsOnly — спецификатор UPROPERTY, который позволяет редактировать переменную только в настройках класса по умолчанию.
Значение можно менять в Blueprint Defaults или в C++-классе в редакторе, но нельзя изменять его для отдельных экземпляров на уровне.
- в настройках самого Blueprint (Asset)
Когда использовать EditDefaultsOnly
- Нужно задать значение один раз для всего класса
- когда настройки должны примениться ко всем экземплярам на уровне
- когда это настройка для класса, а не индивидуальная настройка объекта
Пример кода
UCLASS()
class MYGAME_API AMyClass : public AActor
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere)
FString Property = "";
UPROPERTY(EditDefaultsOnly)
FString DefaultOnlyProperty = "";
};
Как это выглядит в редакторе
В Class Defaults меняешь → влияет на все новые экземпляры.
В размещённом экземпляре не отображается

Сравнение с EditAnywhere и EditInstanceOnly
| Спецификатор | Class Defaults | Экземпляр на уровне | сценарий |
|---|---|---|---|
| EditAnywhere | Да | Да | Универсальный (самый популярный) |
| EditDefaultsOnly | Да | Нет | Глобальные настройки класса |
| EditInstanceOnly | Нет | Да | Только индивидуальные корректировки |