I have UObject class (UNaveShield) that is a AActor’s property (ANavePawn)… I would like to edit the UNaveShield properties (not assigning an instance to the Actor’s property, but editing the NaveShield’s instance properties directly in Actor’s blueprint), like is possible using a component…
Is it only possible extending a UActorComponent?
UCLASS(Blueprintable)
class SPACESHOOTER2_API UNaveShield : public UObject
{
GENERATED_UCLASS_BODY()
UPROPERTY(Category = Attributes, BlueprintReadWrite, EditAnywhere)
float PulseSpeedNormal;
UPROPERTY(Category = Attributes, BlueprintReadWrite, EditAnywhere)
float PulseSpeedActive;
UPROPERTY(Category = Attributes, BlueprintReadWrite, EditAnywhere)
float OpacityMultiplierNormal;
private:
inline int32& GetEnergyRemain();
void StartShieldEffects();
};
UCLASS(Config=Game)
class SPACESHOOTER2_API ANavePawn : public APawn
{
GENERATED_UCLASS_BODY()
// COMPONENTS
UPROPERTY(Category = Collision, VisibleAnywhere, BlueprintReadOnly)
TSubobjectPtr<class UBoxComponent> CollisionComponent;
UPROPERTY(Category = "Shield", Instanced, BlueprintReadOnly)
class UNaveShield* CurrentShield;
};