// Copyright (c) 2026 Reignance Studios. MIT License, see LICENSE. #include "RSExamplePlayerState.h" #include "AbilitySystemComponent.h" #include "RSExampleAttributeSet.h" ARSExamplePlayerState::ARSExamplePlayerState() { AbilitySystem = CreateDefaultSubobject(TEXT("AbilitySystem")); AbilitySystem->SetIsReplicated(true); // Mixed: the owning client gets full effect info (needed for prediction), // everyone else gets the minimal tags and cues. Use Full only for single-player. AbilitySystem->SetReplicationMode(EGameplayEffectReplicationMode::Mixed); // Created as a subobject of the owner, so the ASC finds and replicates it. Attributes = CreateDefaultSubobject(TEXT("Attributes")); // The engine default for PlayerState is very low; abilities and attributes // replicate through this actor, so a low rate shows up as input lag. // Lyra uses 100. Profile before going lower. SetNetUpdateFrequency(100.f); }