I made a standalone build and deployed it to two machines. One machine hosted a game and the other machine joined. On the client machine, it’s rendering its own pawn, even though bOwnerNoSee=true on all renderable components in that pawn’s blueprint. (No client should ever render its own pawn.)
I added a bunch of logging to verify that the pawn has a valid owner, that the owner is correct, and that bOwnerNoSee is in fact true. I’m logging that stuff in Tick in case it ever changes. But the values are all correct, and they never change. Still, the pawn renders.
Weirdly, this only occurs under this particular networking scenario. If I run a host and client in PIE (by setting the number of players to 2 in the PIE settings dropdown) the issue also does not occur. The issue only occurs if my client and host are running in distinct processes (it doesn’t matter if they’re on different physical machines or running on the same machine).
I’m… kind of at a loss. Are there other things that could affect this, that could override/ignore the bOwnerNoSee flag?
(Side note: it’s kinda frustrating how I get different net sync results between two physically separate machines vs two standalone instances on the same machine vs two PIE instances. Makes things real difficult to debug…)