Replication with regards to inheritance

Perhaps this is a bit of a stupid question, but I could not find the answer after half an hour of searching. Perhaps I wasn’t searching for the right keywords.

  1. I’m currently trying to port an in progress game to work with multiplayer, a listen server in particular. What I am curious about is what replicates when you replicate a parent object. For example pretending a Zoo array has many animal objects inside of it and you want to replicate the Zoo to all clients, are the animal objects (and its properties) replicated automatically or would I have to go into the base animal object and set replication flags on all of its properties.

Perhaps to go into a little more detail, pretending an animal object has a health variable and a damage variable on it, would these also automatically be replicated without individually setting replication flags when I try to replicate an array of animals?

diagram.png
In this picture for example, if I try to replicate Zoo, will everything below it also follow the same replication settings as the Zoo?

  1. My next question, to further extend this example, if I wanted to put Zoo into a GameState object would I have to set replication settings on the Zoo or would it inherit those which are defined in GameState.

  2. My last question only applies if the inheritance scenario which I describe above is true. If a Zoo array were set only to replicate, could I override animal members inside of it to Notify and Replicate?

Thanks in advance,