// Copyright (c) 2026 Reignance Studios. MIT License, see LICENSE. // Example only: copy into your game module and rename the RSExample prefix. #pragma once #include "CoreMinimal.h" #include "AbilitySystemInterface.h" #include "GameFramework/Character.h" #include "RSExampleCharacter.generated.h" class UAbilitySystemComponent; class UGameplayAbility; UCLASS() class ARSExampleCharacter : public ACharacter, public IAbilitySystemInterface { GENERATED_BODY() public: virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override; // Server: the controller possessed this pawn. virtual void PossessedBy(AController* NewController) override; // Owning client and simulated proxies: the PlayerState pointer arrived. virtual void OnRep_PlayerState() override; protected: UPROPERTY(EditDefaultsOnly, Category = "Abilities") TArray> StartupAbilities; private: void InitAbilityActorInfo(); void GrantStartupAbilities(); };