When seamlessly traveling, FNetworkObjectList will have its data cleared. However, because FNetworkObjectList::Reset is called before FNetworkObjectList::ResetDormancyState, AllNetworkObjects will be empty when resetting the dormancy state. This means that for dormant actors persisted through the travel, the DormantConnections on their FNetworkObjectInfo is not actually cleared in ResetDormancyState, but NumDormantObjectsPerConnection is still cleared as expected.
After travelling, FNetworkObjectList::MarkActiveInternal will hit a check if the actor is flushed/woken up, as "NetworkObjectInfo->DormantConnections.Remove(Connection) > 0" will return true while the NumDormantObjectsPerConnection is 0.
Dynamically spawn a dormant, replicated actor.
Seamlessly travel, ensuring that this actor is persisted through the entire travel on both the client and server.
Observer the check(NumDormantObjectsPerConnectionRef > 0) hit in FNetworkObjectList::MarkActiveInternal.
error message when install in U.E 5.3 - IS-IN-FCO2-82
How do I set a material as a post-processing material?
How does TextureRenderTarget2D get TArray<uint8> type data?
What is the difference between Camera and CineCamera?
Why does the REMOVE method of map container remove elements have memory leaks?
UMG RichText not appear image when packaged
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How to delete some elements correctly when deleting an array loop?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-200510 in the post.
0 |
Component | UE - Networking |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.4 |
Created | Nov 15, 2023 |
---|---|
Resolved | Nov 17, 2023 |
Updated | May 1, 2024 |