Yes, thats the idea. Serialize() takes a reference to the variable and hopefully puts something meaningful in it.
isWriting is a property of the BitStream which is passed into the OnSerializeNetworkView function. Then the BitStream.isWriting property indicates if the bitstream is being sent over the network (isWriting=true) or being received (isWriting=false).
This script is attached to a specific one of those network views which has a specific view ID number. You can print out networkView.viewID inside the script, but that should also be plain to see in the editor.
Yes, health changes, and such notifications are best handled through RPCs.
You can actually change the frequency of updates through Network.sendRate. This affects how often state is synchronized on all network views. If you use ReliableDiffCompressed network views then it only synchronizes when something changes, which can be a completely different rate than the sendRate but never more frequently.
It changes for the entire game, not just a selected networkView - I know we spoke about this, but since I’m planning long term, will it be added in the near future ?