* Added ability to override the default class setting for individual actors via FActorBeginReplicationParams
* Added Net.Iris.PrintDynamicFilterClassConfig to be able to print the current class mappings
#jira UE-122442
#rb Mattias.Hornlund
#rnx
[CL 28836508 by louisphilippe seguin in ue5-main branch]
Filter inclusion groups are processed after dynamic filtering, filters implemented via UNetObjectFilter implementations, and their only purpose is to optionally enable replication of objects that were filtered out. This allows for example an object to be spatially filtered out but then enabled by a team or view target group for example. No such groups are implemented by default, it's up to the user to implement the relevant game logic to create, update and destroy such groups. Only root objects may be added to filter inclusion groups, subobjects will be filtered like the root object.
#jira UE-180996
#rb mattias.hornlund, louisphilippe.seguin
[CL 28747651 by peter engstrom in ue5-main branch]
- Implemented optimized path only dequantizing dirty members of received statedata during apply
#rb Peter.Engstrom
[CL 28666208 by mattias hornlund in ue5-main branch]
- Added support for sending attachments flagged as SendImmediate from PostDispatchTick
#jira UE-122456
#rb Peter.Engstrom
[CL 28318795 by mattias hornlund in ue5-main branch]
The max number of huge objects in transit is controlled via the cvar net.Iris.ReplicationWriterMaxHugeObjectsInTransit, defaulting to 16, but will be at least one. There's a tradeoff mainly between the connection characteristics to support and normal object replication scheduling when tweaking this value. On one hand you don't want to end up stalling object replication because the top priority objects are huge. So you want to be able to keep replicating huge objects during the maximum latency, including latency variation, and packet loss scenarios you want to provide the best experience possible for. On the other hand object deletion cannot be performed once the object is in the huge object queue. Consider this and how long time it will take to replicate the huge object queue depending on the average payload of a huge object.
#jira UE-123370
#rb mattias.hornlund
[CL 28283681 by peter engstrom in ue5-main branch]
-Added CVar to allow for additonal data packets to be written by ReplicationWriter as long as bandwidth settings are respected
#rb Peter.Engstrom
[CL 28136556 by mattias hornlund in ue5-main branch]
* Split scope bitarray into GlobalScopeList and ScopeFrameData
* The GlobalScopeList is always up to date and should mostly be used outside the NetTickFlush update
* ScopeFrameData is synced at the start of NetTickFlush and valid until the end of the SendUpdate().
* The lists contained in ScopeFrameData are now protected from illegal access outside of NetTickFlush
* Added ensures that prevents creating new replicated root object during the SendUpdate operations.
* Added ensures that prevent changing filter conditions during the SendUpdate operations.
* Added support for replication of subobjects created inside a PreReplication callback.
#jira UE-195717
#rb Mattias.Hornlund, Peter.Engstrom
#rnx
[CL 28100078 by louisphilippe seguin in ue5-main branch]
* Move PreUpdate into its own loop and call it on all polling objects.
* Properly manage objects that set dirtyness on other objects inside PreUpdate/PreReplication
* Now objects that get set dirty inside PreReplication but are not set to be polled will still be set dirty on the next frame.
* Deleted code that tested if such dependencies existed
#jira UE-192518, FORT-639953
#rb Peter.Engstrom
#rnx
[CL 27955686 by louisphilippe seguin in ue5-main branch]
* Iris creation data will now replicate the true Outer of replicated subobjects.
* Refactored CallWriteNetRefHandleCreationInfo and made CallWriteNetRefHandleDestructionInfo.
#jira UE-127405, FORT-650140, FORT-650133, FORT-650141
#rb Mattias.Hornlund
#rnx
[CL 27798306 by louisphilippe seguin in ue5-main branch]
- Added friend declaration for inlined subclass to comply with recent compilers.
#rb Peter.Engstrom
[CL 27407575 by mattias hornlund in ue5-main branch]
- Implemented initial support for being able to skip over data for objects that fail to be instantiated
#rb Peter.Engstrom
[CL 27371360 by mattias hornlund in ue5-main branch]