UStruct::FTableRowBase is Grayed Out in Blueprint

Been bashing my head against the wall for awhile now, hoping somebody will be able to help me here. I have a struct named FWeaponData that extends FTableRowBase:

   USTRUCT(BlueprintType)
    struct GENERIC_API FWeaponData : public FTableRowBase
    {
    	GENERATED_USTRUCT_BODY()
    public:
    	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "VISUALS")
    	FString						Name;
    };

I made a unique asset with a factory named UWeaponDataInstance:

UCLASS(BlueprintType)
class GENERIC_API UWeaponDataInstance : public UObject
{
	GENERATED_BODY()
	
public:
	// Sets default values for this character's properties
	UWeaponDataInstance(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());

	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "DATA")
	FWeaponData					WeaponData;
};

my problem is that whenever I made a blueprint version of “UWeaponDataInstance” the “FWeaponData” is all grayed out. I’m unable to modify anything in the struct. If I add a property to UWeaponDataInstance I can modify it just fine. Hope that makes sense.

thanks for reading!

Thanks for being so fast Mahoukyou!

I tried what you said, still didn’t work with the EditDefaultsOnly. It does work with EditAnywhere. Not quite sure the state that I’m in that is different then you. The most important thing is that it works!

thanks so much!

If you want to change the default value of a variable you have to change the VisibleAnywhere to EditDefaultsOnly or something different depending on your needs. The BlueprintReadWrite means that you can edit and read the variable during runtime in the event graph. UPROPERTY documentation can be found [here][1]. The two screenshots below show the difference.

232866-default.png

232867-runtime.png