* Implementing RegisterReplicationFragments in a replicated class is no longer mandatory.
* Now we detect if the user implemented is own fragment definition and if not we call FReplicationFragmentUtil::CreateAndRegisterFragmentsForObject to do it automatically for him.
#jira UE-225675
UE-225675
#rb Peter.Engstrom
[CL 36763321 by louisphilippe seguin in 5.5 branch]
* Added PostInit callback to UNetObjectFactory
* Moved PostInit code from bridges to their respective factory
#rnx
#rb Mattias.Hornlund
[CL 36390399 by louisphilippe seguin in 5.5 branch]
- Enabled use of NetTokens/NetTokenStore and NetTokenDataStores outside of Iris to facilitate exporting data from shared serialization paths
- NetTokenStore and NetTokenDataStores are now owned by NetDriver.
- Added support for CustomExport bunches to carry data assoiciated with NetTokenExports
GameplayTags
- GameplayTagNetSerializer now respects settings from GameplayTags.ini
- Implemented placeholder GameplayTagNetTokenDataStore.
GameplayTags are now using NetTokens to export data if running in the new dynamic mode.
#rb jodon.karlik, Ryan.Gerleve
[CL 36380672 by mattias hornlund in 5.5 branch]
* Added NetObjectFactory API
* Users can now create their own net object factories to handle discovery and instantiation of any replicated object types.
* An exemple of using this factory is to create your own replicated root objects that are not derived from the Actor class.
Iris ActorBridge:
* Created new Actor and SubObject net object factories.
* Deleted existing code handling discovery and instantiation of actors from the Bridge
ReplicationSystemTest:
* Converted Test bridge to use the new net object factory API
#jira UE-223565
#rb Mattias.Hornlund
[CL 36240214 by louisphilippe seguin in 5.5 branch]
* Fix bitarrayview issue when the NetRefHandleManager max internal index grows during the PreUpdate phase.
* Moved PreUpdate call from poller struct to the ObjectBridge directly.
#jira UE-222370
#rnx
#rb Peter.Engstrom
[CL 36194786 by louisphilippe seguin in 5.5 branch]
* Demystify BeginReplication functions in the bridges by renaming them to what type of replicated object they create.
* Renamed FCreateNetRefHandleParams to FRootObjectReplicationParams.
* Removed FCreateNetRefHandleParams from SubObject BeginReplication function. All of the params could only be set on Root Objects.
#rb Mattias.Hornlund
[CL 35824786 by louisphilippe seguin in ue5-main branch]
- NetTokens now has a concept of authority and can override local exported tokens with token received from authority so that will be used instead.
- Removed IsLocal from FNameAsNetTokenNetSerializer as it is no longer needed
- Cleaned up how we access type specific NetTokenDataStores as a step towards exposing NetTokens for use outside of iris.
- Refactored LastResortNetSerializer and CharacterNetworkSerializationMovemenPackedBitsNetSerializer to support capturing and exporting FNames and NetTokens in addition to ObjectReferences.
- Can be disabled with "net.iris.EnableIrisPackageMapNameExports 0"
#jira UE-221753
#rb Peter.Engstrom
[CL 35797849 by mattias hornlund in ue5-main branch]
- Implemented support for exporting FNames using NetTokens to avoid constantly sending them as strings
#rb Peter.Engstrom
#ushell-cherrypick of 35526415 by Mattias.Hornlund
[CL 35561634 by mattias hornlund in ue5-main branch]
- Refactored NetTokens a bit to allow export of data associated with NetTokens during serialization to be able to support exporting arbitrary data.
- Now passes full context when quantizing default state for future support of assymetric quantization.
- Support capturing NetToken exports when preserializing NetBlobs/RPCs
#rb Peter.Engstrom
[CL 35560630 by mattias hornlund in ue5-main branch]
* Deleted use of static DefaultCreateNetRefHandleParams. The FCreateNetRefHandleParams default parameter values should be used instead.
* Deleted bCanReceive param from FCreateNetRefHandleParams. This was only used by some unit tests.
* Removed unused cache option param in InternalFlushStateData
* Misc API cleanup
#rnx
#rb Peter.Engstrom
[CL 35454663 by louisphilippe seguin in ue5-main branch]
- Disabled test of bad values until we figured out how to silence intentional failure
#rb Peter.Engstrom
[CL 35365165 by mattias hornlund in ue5-main branch]
- No longer disconnect when encountering nan (still disconnects but now we zero out data in quantize if we detect nan) for PackedVectors
#rb Peter.Engstrom
[CL 35362270 by mattias hornlund in ue5-main branch]
* Fix dormant objects still getting replicated when one of their push model property was dirty.
* Now caching NetFlush request of dormant objects instead of simply setting them dirty.
* Dormant objects will now be NetFlushed when an RPC is called on them. This makes Iris behave the same as generic replication.
* Added cvars to modify these behaviors: net.Iris.RPC.AllowOnDormantObjects (default true), net.Iris.RPC.AutoNetFlushOnDormantObjects (default true)
#jira UE-219859
#rb Mattias.Hornlund
[CL 35306430 by louisphilippe seguin in ue5-main branch]