I have a replicated with RepNotify array of structs in my game state (control points states). While trying to modify one of structs in the array (on server) and cause repnotifies (trigger functions that are bound to variable changes) on clients, I faced a really dissatisfying and horrible issues. Just imagine this is NOT working (no repnotify on client):
Any explanation why it works like that is something beyound any good or evil. BTW, I also tried adding structs without recreating them, adding structs copying them with a COPY node and a bunch of other things (none of them worked of course). I’ll probably try to switch from “array of structs” to a ‘struct with “array of structs”’ and avoid using replicated arrays of structs in the future.
I really thought something would change if I wrap an array into additional struct (because it would certainly have another reference), but no. Checked that GameState is valid, have no idea for any workaround or something else
If Unreal thinks that variable wasn’t changed, it won’t call RepNotify, even though it was explicitly called (Set w/Notify). This is not a quite obvious concept, but ok.
In my case the name I passed was not equal to ones in the array, so array would be just the same as previous => structure too => no RepNotify. After I fixed that bug, it started calling repnotify.