Hi mflux, replication in UE4 takes some getting used to, but is structured to be both efficient and cheat-proof. As I’ve discovered myself, trying to fight against the way UE4 wants to do replication is very difficult and frustrating, and there is always a good reason why things work like they do. You should try to keep only input and what is displayed on the screen client-side, while the server should handle all important game logic. Even if you’re prototyping I would recommend doing things the right way from the start rather than finding out that a lot of your replication hacks do not function when you refactor later. And yes, this involves using RPCs quite a bit to pass information back and forth between the client and the server.
I agree that there are some parts of the grid manger that might benefit from being exposed to the client, though. Specifically I think hover events in abilities is a good candidate, since it can potentially fire several times a second if the client quickly moves the mouse over multiple tiles, which can make the response look less smooth if every new tile hover has to be passed back and forth, for something that is only for client display and does not affect the game. However, TMap variables, such as those generated by the RunPathfinding functions, cannot be replicated in UE4. You would want to pass all the information in the pathfinding map to the client when the client activates the ability so you only have to do so once, but you would first need to convert it from a map to two separate arrays or something similar and then pass it through a RPC.
There are a few things that can only be done on the server in UE4, so I’m not surprised that ActivateGridManager does not work on the client, without being able to point to exactly what part of it does not work. In any case I would not want to store all the grid sized maps etc. on all clients as it is a waste of memory and insecure.
Perhaps you can tell me of the specific things you are having trouble implementing using RPCs and I can suggest how to solve it in a way that works both with my toolkit and UE4 replication?
By the way, if you have not read it already I highly recommend the guide by @eXi which explains in detail and in an understandable way all the most important stuff about networking in UE4. You can find it here.