Include better comments/warnings for certain edge cases when using dependent actors with RepGraph

Networking - Aug 17, 2021

A recent UDN brought up two scenarios with dependent actors in RepGraph that could use better comments/warnings. The first is that calling ForceNetUpdate on an actor that is only replicated as a de ...

TextRenderComponents exist on editor dedicated server instances

Networking - Aug 3, 2021

It seems as though TextRenderComponents are not intended to exist on dedicated servers. In BaseEngine.ini, they are explicitly excluded: "+ClassesExcludedOnDedicatedServer=TextRenderComponent" This ...

Setting replicated TArray in PostLoad prevents repnotify from being called

Networking - Jul 12, 2021

See linked UDN for more details and a sample project reproducing the issue. The issue seems to be that the object's archetype doesn't have any changes made to the array in PostLoad, so the shadow st ...

Once an actor channel is closed by NetCullDistance, root motion movement synchronization stops working

Networking - Jul 12, 2021

Properties that uses DOREPLIFETIME_ACTIVE_OVERRIDE (ex. RepRootMotion ) will also skip replication when an actor channel is newly opened. This means that if the variables on the server side do not c ...

Delta struct serialized fast arrays replicating new elements with no changelist

Networking - Jun 14, 2021

There is a scenario where delta struct serialized fast arrays can replicate changes that introduce additional elements to the array, but without changelists containing the new data. This needs furt ...

Replay streamers missing Flush implementation

Networking - Jun 7, 2021

The SaveGame Replay Streamer, Null Streamer, In-Memory Streamer, and HTTP Streamer do not implement Flush. ...

HeaderMarkForPacketInfo.GetNumBits() == 0 when closing NetConnection during Tick

Networking - May 12, 2021

Licensee reported getting this error on PS4 after losing internet connection or putting the console into rest mode. See linked UDN for callstack. The NetConnection calls Close during its Tick, due ...

Multicast RPC from PlayerController with RepGraph results in an invalid swap message

Networking - Mar 4, 2021

Since a player controller only exists on the server and on the owning client, calling a multicast from one isn't really a supported operation. However, this case is still handled cleanly when RepGra ...

Dynamic Spatial Frequency not working with dependent actors

Networking - Feb 25, 2021

In UReplicationGraphNode_DynamicSpatialFrequency::CalcFrequencyForActor, the ActorChannelCloseFrameNum is updated for the actor but not its dependents when calculating FramesTillReplicate. As a resu ...