Best Practices for Networked PvE

Options
TLDR: what is the best way of having a bunch of AI-controlled enemies without killing the msgs/sec from a bunch of views.

So I've tried out some sample projects and have a good idea of how to handle PvP and deal with lag compensation on projectiles.

I want to do Co-Op PvE though, and based on the message traffic and the number of enemies I want onscreen at once can't give them all views. I was hoping I could get some feedback on how I THINK this should be handled and if I am completely off-base.

Instead of having a view per enemy, there would be a single manager object with a view. It would transmit updates about the position and health of enemies from the master client. Everyone else would keep track of the "true position" of the enemies in this manager object when the receive the update and then lerp enemies towards where they should be.

Their behavior is fairly deterministic assuming their targets are all synced. So I was thinking that the master client, instead of having the enemies move right away, would instead, after having them all pick a target wait 100ms (or somewhere around there), then make the RPC. That way all clients could all have the start of enemy motion be synced, minimizing any effects from lag. I could then hide this short delay by varying the animation speeds.

Does this make sense? Is this how other people do it? Trying to do research it seemed like most of what I found was focused on basically just having Players with views and mostly just PvP. If people who have done this sort of thing before could give me some feedback it would be greatly appreciated.

Thanks!

(The project is basically a top-down dungeon crawler).