195 Commits

Author SHA1 Message Date
peter engstrom
44f0a122ad Iris - No longer group included objects should not cause scope hysteresis to kick in unless the object is dynamically filtered out.
#rnx
#rb jon.fairchild, Mattias.Hornlund

[CL 36931119 by peter engstrom in 5.5 branch]
2024-10-08 09:57:39 -04:00
mattias hornlund
d0b1fc9399 Iris
- Fixed UHT to properly create bindings for derived fastarrays.

#jira UE-225656
#rb Peter.Engstrom

[CL 36763454 by mattias hornlund in 5.5 branch]
2024-10-01 20:30:47 -04:00
louisphilippe seguin
700c0813ad Iris
* 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]
2024-10-01 20:29:06 -04:00
mattias hornlund
0b34acda8a Fixed lowleveltest failing when testing an expected failure.
#rb Peter.Engstrom

[CL 36760649 by mattias hornlund in 5.5 branch]
2024-10-01 19:58:46 -04:00
peter engstrom
0ef26db48d Iris - Fixed issue with owner and connection filtered objects and late joining clients.
#jira UE-225367
#rb LouisPhilippe.Seguin

[CL 36760574 by peter engstrom in 5.5 branch]
2024-10-01 19:58:03 -04:00
mattias hornlund
f4afaf40f2 Iris
- Removed use of forced inlined exports flag from FieldPathNetSerializerTest

#rb Peter.Engstrom

[CL 36754271 by mattias hornlund in 5.5 branch]
2024-10-01 18:58:11 -04:00
peter engstrom
ec227a3627 NetCore - Implemented FConnectionHandle which carry both parent connection and child connection information. This can be usefule for APIs where it's important to keep track of child connections as well.
#rb LouisPhilippe.Seguin, carles.fernandez

[CL 36750206 by peter engstrom in 5.5 branch]
2024-10-01 18:11:38 -04:00
peter engstrom
cd9e5cfc6a Iris - Implemented TestMessage stream operator for ENetFilterStatus
#rb Ryan.Gerleve
#rnx

[CL 36424700 by peter engstrom in 5.5 branch]
2024-09-19 05:42:08 -04:00
louisphilippe seguin
5fe2ef2b41 Iris
* 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]
2024-09-18 10:30:30 -04:00
mattias hornlund
070fd10e45 Iris
- Fixed bad init code for ReplicationSystemTest

#rb Peter.Engstrom

[CL 36381471 by mattias hornlund in 5.5 branch]
2024-09-18 04:45:56 -04:00
mattias hornlund
93d29af692 Iris/Networking
- 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]
2024-09-18 04:10:29 -04:00
peter engstrom
4a9e2953d7 Iris - Fixed off by one error in FReplicationSystemTestNode::ConvertPollPeriodIntoFrequency
#rnx
#rb peter.engstrom
[FYI] bradley.heath

[CL 36327947 by peter engstrom in 5.5 branch]
2024-09-17 03:40:58 -04:00
louisphilippe seguin
149844147d Iris:
* 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]
2024-09-12 15:23:12 -04:00
louisphilippe seguin
1985e68256 Iris
* 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]
2024-09-11 10:55:28 -04:00
louisphilippe seguin
aa93a84507 Iris
* 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]
2024-08-27 10:29:26 -04:00
mattias hornlund
8c0eaa3e29 Iris
- 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]
2024-08-26 10:14:00 -04:00
mattias hornlund
4d4ee4fd70 Iris
- 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]
2024-08-15 09:38:34 -04:00
mattias hornlund
ec2fd9a9d5 Iris
- 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]
2024-08-15 08:37:34 -04:00
louisphilippe seguin
8ff5c0479e Iris
* 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]
2024-08-12 11:53:50 -04:00
mattias hornlund
5f42219a06 Iris
- 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]
2024-08-07 07:27:33 -04:00
mattias hornlund
91df42658c Iris
- 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]
2024-08-07 02:37:16 -04:00
peter engstrom
5bf7f3353f Iris - Move InstancedStructNetSerializer to IrisCore.
#rb jon.fairchild

[CL 35306947 by peter engstrom in ue5-main branch]
2024-08-05 10:30:11 -04:00
louisphilippe seguin
10778c5ead Iris
* 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]
2024-08-05 10:05:09 -04:00
mattias hornlund
c2a2f3b1a4 Iris
Fix for compile errors in TestPropertyReplicationState

#rb Peter.Engstrom

[CL 35304486 by mattias hornlund in ue5-main branch]
2024-08-05 07:32:34 -04:00
chris constantinescu
dba23b91b0 Replication system tests fix compilation errors
#jira UE-220549
#rnx

[CL 35190415 by chris constantinescu in ue5-main branch]
2024-07-30 13:33:45 -04:00