SyncVar problems with visibility
Ok, so I have a strange problem and I'm not sure how to solve it elegantly...
I have a variable, "level", I have sync'ed in a Unet based game. Everything works fine as long as the clients stay within "visRange" of each other (based on the proximity checker for visibility).
Say there are two clients, c1 and c2. As soon as c1 gets >visRange away from c2, c2 is no longer an observer, so the value of "level" is lost. When c1 comes back into range, c1 shows a level of 1, the default at initialization. c1 stays out of sync on c2 until level changes again, forcing a sync.
I really don't want the overhead of sync'ing the variable regularly. Has anyone seen this and is there a way to work around this behavior? Am I missing something? It really seems like this should not happen to begin with.