I specifically check for listen servers as servers in the code for it and have tested with them.
However is not set until first tick ( is when the engines default controllers decide locally controlled as well). So I assume that your grip code is taking place during Begin Play? Which is prior to when the controllers start checking for their owning state and net state.
I can probably just set it on begin play as well (there aren’t role transitions), I think that the blueprint event for it should fire after the controllers code event. I didn’t anticipate people gripping objects prior to the players actually controlling the pawn.
Prior to a code change though you can spawn it sometime after begin play and grip, or just attach instead since you didn’t plan on using the grip functions.