// Copyright (c) 2026 Reignance Studios. MIT License, see LICENSE. // Example only: copy into your game module and rename the RSExample prefix. // Tutorial: https://reignancestudios.com/tutorial-gas-asc-on-playerstate #pragma once #include "CoreMinimal.h" #include "AbilitySystemInterface.h" #include "GameFramework/PlayerState.h" #include "RSExamplePlayerState.generated.h" class UAbilitySystemComponent; class URSExampleAttributeSet; UCLASS() class ARSExamplePlayerState : public APlayerState, public IAbilitySystemInterface { GENERATED_BODY() public: ARSExamplePlayerState(); virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override { return AbilitySystem; } protected: // The ASC lives here so abilities, effects and attributes survive pawn death and respawn. UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Abilities") TObjectPtr AbilitySystem; UPROPERTY() TObjectPtr Attributes; };