Hi, we were just wondering about general guidance around deprecating IsReplicationPaused (CL24499658). We have a few questions about this subject:
1-How is this being deprecated? More specifically, are we deprecating this API or the entire functionality of pausing replication?
2-What are alternatives we should use, if any, for determining actor relevancy?
3-Is there a timeline for this? The original deprecation message says 5.3, but we still see this code in 5.6.
Thank you in advance!
Hi,
To answer your questions:
- The entire functionality is being deprecated, not just the API.
- The replication pausing functionality was deprecated in favor of using dormancy, although depending on your project’s needs, this might not give you the behavior you’re looking for. For custom control over actor relevancy, projects can override AActor::IsNetRelevantFor, use the Replication Graph, or set up filters for actors if using Iris.
- I’m not aware of any timeline, but I have opened an internal task to make sure the deprecated code is removed.
Thanks,
Alex
On Unreal 5.3, we put breakpoints around our code to test if bIsReplicationPaused is true at any point and we were hitting these breakpoint, suggesting not all paths to pausing replication is turned off. Is this normal?
Hi,
As far as I’m aware, there shouldn’t be anywhere in the base engine that uses replication pausing. If bIsReplicationPaused is being set to true on an actor channel, this would indicate that an actor class has overridden IsReplicationPausedForConnection to return true in some cases, as AActor::IsReplicationPausedForConnection only returns false by default.
Thanks,
Alex