BeginPlay multicast fails!

Just 1 kb for 1000 intances - one boolean variable per instance takes 1 byte. You can also use bitfields (c++ only) if you want to use 1 bit per one boolean. With bitfields you can pack 8 booleans of one class (instance) in 1 byte. So if your class has more than one boolean it makes sense to use bitfields.

Also, it’s not necessary to create an extra boolean variable. You can use any other “replicated” variable that you’re changing during BeginPlay on server side. In my projects I often use just last changed “replicated” variable in chain on server side. To the moment of firing replication notifier on clients all other variables in chain already replicated.

Anyway variable’s replication notifier is the only way to be sure that client is ready to work with RPCs after BeginPlay on server. Usage of delay/timers is the worst way - it’s noticeable for the players and leads to bugs (if delay/timer duration is less than real latency).

Best,
Andy