* Added safer ways to access internal buffers held by a FNetBitArray and FNetBitArrayView
* GetWord() can be used to safely access the full 32bit value to modify 32bit entries at once.
* GetDataChecked(NumWordSize) can be used to access the raw array buffer but will also validate that the maximum word iteration count is within the bounds of the NetBitArray
* Reset() has been deprecated in favor of ClearAllBits()
Iris
* Replaced usage of deprecated NetBitArray::Reset
* Replaced a few usages of unsafe GetData() with safer GetWord and GetDataChecked
* Replaced Reset with ClearAllBits
[CL 33692839 by louisphilippe seguin in ue5-main branch]
* Support runtime NetBitArray reallocations when maximum replicated object count is hit.
* FReplicationSystemParams can now configure an initial size for netobjet lists that can grow up to the MaxReplicatedObjectCount when the initialize size is all assigned to registered netobjets.
* Use InitialNetObjectListCount to set the initial list size.
* Use NetObjectListGrowCount to set by how many indexes we grow and realloca all netobject lists.
* Hitting the maximum active replicated object limit will now cause a fatal error and kill the process.
NetDriver
* Split Iris config into two structs: ReplicationSystemConfigClient and ReplicationSystemConfigServer
#rb bradley.heath, Peter.Engstrom
[CL 33647879 by louisphilippe seguin in ue5-main branch]
* Added some utility functions to count the amount of registered replicated objects of an actor
#rnx
#rb Jon.Fairchild
[CL 33270373 by louisphilippe seguin in ue5-main branch]
This also allows SetPropertyActiveOverride macros to be called outside of PreReplicate to move towards proper push model.
Removed some old deprecated code
#rb Peter.Engstrom
[CL 32891697 by mattias hornlund in ue5-main branch]
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
Prevent clang analysis warnings for uninitialized data from FArchive derived readers
#rnx
[CL 32857977 by joe kirchoff in ue5-main branch]
* Added official NetRefHandleError enum
* Added net.Iris.EnsureNetRefHandleError cvar. Used to control if NetRefHandle error should cause an ensure or not.
-1=never ensure. 0=ensure on any error. 1..X=ensure only for specific error type
Defaults to ensure on any error
#rb Bradley.Heath
#rnx
[CL 32584172 by louisphilippe seguin in ue5-main branch]
* Added ability to add game specific attributes to the NetAnalytics framework
* To add those game attributes, Implementations of FNetAnalyticsData must call AppendGameInstanceAttributes before calling SendAttributes.
* Add or modify your game attributes with the NetDriver::SetNetAnalyticsAttributes function
* NetDriver will add some default attributes (NetDriverName, NetDriverDefinition, ReplicationModel, NetMode) when net.AddNetDriverInfoToNetAnalytics is true
#[review]-31918845
#rb Ryan.Gerleve
#ushell-cherrypick of 31917915 by LouisPhilippe.Seguin
[CL 31941572 by louisphilippe seguin in ue5-main branch]
* Make sure PushModel support is not tied to ShouldUseIrisReplication config.
* Instead the gamenetdriver will directly disable or enable pushmodel handle creation if it initalized Iris or not.
* This enables push model to work in GameModes that don't use Iris when the default engine setting from ShouldUseIrisReplication is true
* Remove crashcontext ReplicationModel attribute when GameNetDriver is shutdown on clients or listen servers.
#rnx
#rb Ryan.Gerleve
[CL 31851816 by louisphilippe seguin in ue5-main branch]
- Fixed issue with OldArraySize parameter not always propagated correctly when using iris
#jira UE-207435
#rb Peter.Engstrom
[CL 31719011 by mattias hornlund in ue5-main branch]
- Fixed issue where subobjects of objects pending dormant all would not always be polled as they should
#rb Peter.Engstrom
#ushell-cherrypick of 30915928 by Mattias.Hornlund
[CL 30920534 by mattias hornlund in ue5-main branch]