Что такое BlueprintReadWrite
BlueprintReadWrite — спецификатор UPROPERTY, который открывает свойство для чтения и записи в Blueprints (Event Graph, Construction Script, Function Calls).
Без этого спецификатора свойство недоступно из Blueprint-нод вообще.
С BlueprintReadWrite ты можешь:
- читать значение переменной из любой Blueprint-ноды (Get)
- записывать новое значение (Set)
- использовать свойство в Break / Make нодах для структур
Когда использовать BlueprintReadWrite
- свойство должно быть доступно в Blueprint как для чтения, так и для изменения
- ты хочешь дать разработчику возможность настраивать логику в Event Graph
- параметр или конфигурация, которую нужно менять во время игры из Blueprint
Пример кода
UCLASS()
class MYGAME_API AMyActor : public AActor
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite)
float Health = 100.0f;
UPROPERTY(BlueprintReadWrite)
FString CharacterName = TEXT("Hero");
};
Как это выглядит в редакторе
В Blueprint Editor для BlueprintReadWrite автоматически создаются ноды Get и Set:
Get — читает текущее значение. Set — записывает новое значение. Работает с любым типом переменной.
Сравнение с BlueprintReadOnly
| Спецификатор | Get (чтение) | Set (запись) | Сценарий |
|---|---|---|---|
| BlueprintReadWrite | Да | Да | Свойство доступно для чтения и изменения |
| BlueprintReadOnly | Да | Нет | Только чтение — значение нельзя изменить |
