Fixed for both 'net.SupportFastArrayDelta' on/off paths.
#JIRA UE-131494
#rb Mattias.Hornlund
#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 20291436 via CL 20291664 via CL 20291702 via CL 20291717
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)
[CL 20304942 by john barrett in ue5-main branch]
* Added CVar that controls if actors and actorcomponent classes use the new subobject replication by default or not
* net.SubObjects.DefaultUseSubObjectReplicationList needs to be enabled to opt-in to the new method by default.
* Classes can still choose their own method by setting bReplicateUsingRegisteredSubObjectList in their constructor
#jira UE-123417
#rb Mattias.Hornlund, John.Barrett
#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20280976 via CL 20282847 via CL 20283096
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20285706 by louisphilippe seguin in ue5-main branch]
* Added define to setup a project to use the subobject list by default without having to use the config.
#jira UE-123417
#rb John.Barrett, Mattias.Hornlund
#ROBOMERGE-OWNER: louisphilippe.seguin
#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20241400 via CL 20241428 via CL 20241435
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20242867 by louisphilippe seguin in ue5-main branch]
* Added new ELifetimeCondition COND_NetGroup, that is only supported on replicated subobjects.
* Any subobject using COND_NetGroup must be part of a netcondition group via the NetConditionGroupManager world subsystem for it to get replicated.
* PlayerControllers can be members of a group via IncludeInNetConditionGroup
* When a netgroup subobject replicates to a connection we will only replicate it if the playercontroller of the connection is a member of atleast one group of that subobject.
* NetGroupOwner and NetGroupReplay are special groups that automatically replicate to the owner's connection or the replay net driver.
* This feature is only available to Actors or Actorcomponents with bReplicateUsingRegisteredSubObjectList = true
#jira UE-132891
#rb Ryan.Gerleve, Mattias.Hornlund, John.Barrett
#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20076279 via CL 20076546 via CL 20076844
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20106219 by louisphilippe seguin in ue5-main branch]
#JIRA UE-149491
#rb Ryan.Gerleve
#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 20022630 via CL 20022646 via CL 20022649 via CL 20022666 via CL 20022679
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 20023072 by john barrett in ue5-main branch]
Stored per object, and can be set from any game code, not just PreReplication
#rb ryan.gerleve, peter.engstrom
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19909058 via CL 19911194 via CL 19911458
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
[CL 19913111 by brian bekich in ue5-main branch]
Fixes for tick.DoAsyncEndOfFrameTasks.ValidateReplicatedProperties
DiffProperties skips empty layouts
FGuidReferences copy constructor to deep copy container references, needed by FFastArraySerializer properties using delta structs
Update the validation to occur around the slate tick and not during the async recording
#jira UE-142550
#rb ryan.gerleve
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19843364 via CL 19843433 via CL 19852406 via CL 19861535 via CL 19861613
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19870884 by brian bekich in ue5-main branch]
#[review]-19826837
[FYI] louisphilippe.seguin
#ushell-cherrypick of 19844913 by Peter.Engstrom
#ROBOMERGE-AUTHOR: peter.engstrom
#ROBOMERGE-SOURCE: CL 19845138 via CL 19859933 via CL 19859991
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19869530 by peter engstrom in ue5-main branch]
#jira UE-142550
#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19839033 via CL 19839388 via CL 19843762 via CL 19859314 via CL 19859320
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19869382 by brian bekich in ue5-main branch]
- DiffProperties skips empty layouts
- FGuidReferences copy constructor to deep copy container references, needed by FFastArraySerializer properties using delta structs
- Update the validation to occur around the slate tick and not during the async recording
#jira UE-142550
#rb ryan.gerleve
#ROBOMERGE-OWNER: brian.bekich
#ROBOMERGE-AUTHOR: brian.bekich
#ROBOMERGE-SOURCE: CL 19838285 via CL 19838713 via CL 19843726 via CL 19859239 via CL 19859288
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19869366 by brian bekich in ue5-main branch]
#rb trivial
#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19751934 via CL 19751954 via CL 19751957 via CL 19751973 via CL 19751980
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)
[CL 19801904 by john barrett in ue5-main branch]
* Actor classes can officially control which of their ActorComponent get replicated or not.
* Classes that want to control component replication need to override AllowActorComponentToReplicate to do so.
* Classes can also return a ELifetimeCondition in the new function and set a net condition to specific components.
* The override and net condition only works for classes that set bReplicateUsingRegisteredSubObjectList to true
# Added AllowActorComponentToReplicate to some Fortnite classes that used ReplicatedSubObjects to selectively control when to replicate some components.
#jira UE-144977
#rb Ryan.Gerleve, Mattias.Hornlund, Brian.Bekich
#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19478548 via CL 19481298 via CL 19483197 via CL 19494270 via CL 19494411
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)
[CL 19498369 by louisphilippe seguin in ue5-main branch]
#rb Peter.Engstrom
#ROBOMERGE-AUTHOR: john.barrett
#ROBOMERGE-SOURCE: CL 19427330 via CL 19427826 via CL 19432275 via CL 19436672 via CL 19436780
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)
[CL 19442403 by john barrett in ue5-main branch]