User reported that Soft Object Pointers may not fire RepNotifies properly.
This is likely also the case with Weak Object Pointers (and other similar wrappers).
The main problem is that these all get bundled as ObjectProperties, and RepLayout has custom logic which will attempt to resolve the Object before comparing pointers.
This means that for Soft Object Pointers, when a given object isn't loaded yet (due to Level Streaming, haven't been explicitly loaded, etc.), the resolved object will always be null. So, even if two Soft Object Pointers don't point to the same object, if neither object has been loaded they will both resolve to Null and won't fire a RepNotify that is not marked as "Always" fire.
See UDN for context.
Expected:
When the property is changed, it will be replicated and trigger the RepNotify regardless of whether or not the objects are loaded.
Actual:
When changing the value between multiple unloaded assets, the property will not replicate or trigger rep notifies.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-74146 in the post.
1 |
Component | UE - Networking |
---|---|
Affects Versions | 4.22.0 |
Target Fix | 4.24 |
Fix Commit | 8641675 |
---|
Created | May 3, 2019 |
---|---|
Resolved | Sep 11, 2019 |
Updated | Feb 26, 2020 |