// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreTypes.h" #include "Engine/DeveloperSettingsBackedByCVars.h" #include "LyraReplicationGraphTypes.h" #include "LyraReplicationGraphSettings.generated.h" /** * Default settings for the Lyra replication graph */ UCLASS(config=Game, MinimalAPI) class ULyraReplicationGraphSettings : public UDeveloperSettingsBackedByCVars { GENERATED_BODY() public: ULyraReplicationGraphSettings(); public: UPROPERTY(config, EditAnywhere, Category = ReplicationGraph) bool bDisableReplicationGraph = true; UPROPERTY(config, EditAnywhere, Category = ReplicationGraph, meta = (MetaClass = "/Script/LyraGame.LyraReplicationGraph")) FSoftClassPath DefaultReplicationGraphClass; UPROPERTY(EditAnywhere, Category = FastSharedPath, meta = (ConsoleVariable = "Lyra.RepGraph.EnableFastSharedPath")) bool bEnableFastSharedPath = true; // How much bandwidth to use for FastShared movement updates. This is counted independently of the NetDriver's target bandwidth. UPROPERTY(EditAnywhere, Category = FastSharedPath, meta = (ForceUnits=Kilobytes, ConsoleVariable = "Lyra.RepGraph.TargetKBytesSecFastSharedPath")) int32 TargetKBytesSecFastSharedPath = 10; UPROPERTY(EditAnywhere, Category = FastSharedPath, meta = (ConsoleVariable = "Lyra.RepGraph.FastSharedPathCullDistPct")) float FastSharedPathCullDistPct = 0.80f; UPROPERTY(EditAnywhere, Category = DestructionInfo, meta = (ForceUnits = cm, ConsoleVariable = "Lyra.RepGraph.DestructInfo.MaxDist")) float DestructionInfoMaxDist = 30000.f; UPROPERTY(EditAnywhere, Category=SpatialGrid, meta=(ForceUnits=cm, ConsoleVariable = "Lyra.RepGraph.CellSize")) float SpatialGridCellSize = 10000.0f; // Essentially "Min X" for replication. This is just an initial value. The system will reset itself if actors appears outside of this. UPROPERTY(EditAnywhere, Category=SpatialGrid, meta=(ForceUnits=cm, ConsoleVariable = "Lyra.RepGraph.SpatialBiasX")) float SpatialBiasX = -200000.0f; // Essentially "Min Y" for replication. This is just an initial value. The system will reset itself if actors appears outside of this. UPROPERTY(EditAnywhere, Category=SpatialGrid, meta=(ForceUnits=cm, ConsoleVariable = "Lyra.RepGraph.SpatialBiasY")) float SpatialBiasY = -200000.0f; UPROPERTY(EditAnywhere, Category=SpatialGrid, meta = (ConsoleVariable = "Lyra.RepGraph.DisableSpatialRebuilds")) bool bDisableSpatialRebuilds = true; // How many buckets to spread dynamic, spatialized actors across. // High number = more buckets = smaller effective replication frequency. // This happens before individual actors do their own NetUpdateFrequency check. UPROPERTY(EditAnywhere, Category = DynamicSpatialFrequency, meta = (ConsoleVariable = "Lyra.RepGraph.DynamicActorFrequencyBuckets")) int32 DynamicActorFrequencyBuckets = 3; // Array of Custom Settings for Specific Classes UPROPERTY(config, EditAnywhere, Category = ReplicationGraph) TArray ClassSettings; };