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

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