Log (warn) when an actor is removed from networking when it is already marked garbage.
Report actors that are not removed from ReplicationGraph when the world is cleaned up.
#tests Lego Fortnite flying around for several minutes, entering & exiting caves, with PktEmulation average.
#rb Ryan.Gerleve
[CL 34023091 by ted percival in ue5-main branch]
-Only supports dynamically spawned actors, not placed actors
-UNetDriver::NotifyActorRenamed now has a PreviousOuter parameter
-Net driver notifies any ReplicationDriver (replication graph) of actor renames
-ReplicationGraph APIs added to update internal actor level tracking (this can be toggled with the cvar Net.RepGraph.HandleDynamicActorRename)
-Added cvar net.CleanUpRenamedDynamicActors that will tell clients to destroy an actor if the server moves it to a level that's not currently visible on the client (disabled by default to preserve current behavior)
#jira UE-201875
#rb LouisPhilippe.Seguin
[FYI] Todd.Eckert, Jon.Sourbeer
[CL 31915797 by ryan gerleve in ue5-main branch]
- Attempting to avoid a rare crash and log more info about the circumstances.
#rb Matt.Harris, Ryan.Gerleve
[CL 31600892 by arciel rekman in ue5-main branch]
* Added ValidateActorReferences to RepGraph and RepGraphNode types
* Iterates over all nodes in the RepGraph and checks for potentally stale actor references
## Performance
Tested on a Win64 Test Server
* ValidateActorReferences: 10-20us
[CL 26714029 by urias rooney in ue5-main branch]
* Fix log spam caused by actors going outside the legal world bounds and staying OOB.
* Now we will only log a warning once when the actor goes OOB
* net.ReplicationGraph.PrintGraph now prints the list of DynamicSpatializedActors monitored by the Grid2D node.
#rb Ryan.Gerleve
[CL 25934977 by louisphilippe seguin in ue5-main branch]
* Deprecated NetServerMaxTickRate variable and replaced them with Get/Set functions.
* Added FOnNetServerMaxTickRateChanged delegate. Register to receive callbacks when the server tick rate changes.
#jira UE-185786
#rb Ryan.Gerleve
[CL 25793458 by louisphilippe seguin in ue5-main branch]
- TimeToLife for cell to send destruction is configurable and overridable by the game per GridSpatialization2DNode
- Exposed ReplicatedDormantDestructionInfosPerFrame CVar to have control over optimization levers
- Added Profiler markers to measure impact of enabling dormant actor cleanup
#rb brian.bekich, LouisPhilippe.Seguin
[FYI] andrew.ladenberger
#tests PIE
[CL 23781800 by anton dunchev in ue5-main branch]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#preflight 63c08f4a2a6acaf1622bcc73
#rb none
[CL 23674775 by henrik karlsson in ue5-main branch]
* Refactored Dependent actor lists so the child actors are stored by streaming levels
* Now dependent actors are not replicated if the connection does not have the streaming level loaded
* Added FLevelBasedActorList struct to RepGraph plugin. Holds actors based on their level (permanent or streaming)
#jira UE-159638
#rb Ryan.Gerleve, Brian.Bekich
[CL 23480107 by louisphilippe seguin in ue5-main branch]
The grid is densely stored and risks very high memory usage at large coordinates.
#jira UE-165198
#rb louisphilippe.seguin
#preflight 6334c113691c0168b71c21f7
[CL 22240520 by ryan gerleve in ue5-main branch]
Replaced "master" with "main" at ReplicationGraph.h/.cpp
#jira UE-158584
#review @thomas.sarkanen
#preflight 62cea5eaf30df2b55bed965f
[CL 21069494 by jaime cifuentes in ue5-main branch]
* Prevent actors outside the destruction radius but inside the current OutOfRange radius check from being added to the OutOfRange list.
* Instead keep actors in the PendingDestructionList until they get inside the send radius or outside the OutOfRange radius.
#rb Brian.Bekich, Jon.Sourbeer
#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20229549 via CL 20229567 via CL 20229593 via CL 20229612
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20231614 by louisphilippe seguin in ue5-main branch]