Hi,
I’m seeing an issue where a replicating a type based on FFastArraySerializer in a UPROPERTY with ReplicatedUsing=OnRep_Func asserts with Iris, in FFastArrayReplicationFragmentBase since the resultant replication fragment has both HasRepNotifies and KeepPreviousState flags. The OnRep function takes an ‘old value’ parameter.
(offending snippet below)
This is testing Iris with our game in UE 5.5.
- Is this combination of FastArraySerializer and ReplicatedUsing with old value param supported in Iris?
- If so, is this a known issue with 5.5, and fixed in later version of the engine
Thanks,
Alistair
if (EnumHasAnyFlags(InTraits, EReplicationFragmentTraits::CanReceive))
{
if (EnumHasAnyFlags(InDescriptor->Traits, EReplicationStateTraits::HasRepNotifies))
{
if (EnumHasAnyFlags(InDescriptor->Traits, EReplicationStateTraits::KeepPreviousState))
{
check(false);
}
Traits |= EReplicationFragmentTraits::HasRepNotifies;
}
// For now we always expect pre/post operations for legacy states, we might make this optional
Traits |= EReplicationFragmentTraits::NeedsLegacyCallbacks;
}