BlueprintReadOnly

BlueprintReadOnly — спецификатор UPROPERTY, который открывает свойство только для чтения в Blueprints. Значение можно получить через Get-ноду, но нельзя изменить через Set.

Этот спецификатор используется, когда значение должно быть видно в Blueprint, но изменять его должен только C++ код.

  • значение должно быть видно в Blueprint, но изменять его должен только C++ код
  • состояние объекта, которое можно читать, но нельзя перезаписывать из Blueprint
  • внутренние расчётные данные, которые нужно показывать для отладки
UCLASS()
class MYGAME_API AMyActor : public AActor
{
    GENERATED_BODY()

public:

    UPROPERTY(BlueprintReadOnly)
    float CurrentSpeed = 0.0f;

    UPROPERTY(BlueprintReadOnly)
    bool bIsAlive = true;

    virtual void Tick(float DeltaTime) override;
};
СпецификаторGet (чтение)Set (запись)Когда использовать
BlueprintReadWriteДаДаКогда нужен полный доступ из Blueprint
BlueprintReadOnlyДаНетКогда менять значение должен только C++

Если статья была полезна оцените ее звездочкой

2 звезды