Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

MonoBehaviour.OnSerializeNetworkView(BitStream,NetworkMessageInfo)

Switch to Manual

Description

Used to customize synchronization of variables in a script watched by a network view.

It is automatically determined if the variables being serialized should be sent or received, see example below for a better description. This depends on who owns the object, i.e. the owner sends and all others receive.

	// This objects health information

var currentHealth : int = 0; function OnSerializeNetworkView(stream : BitStream, info : NetworkMessageInfo) { if (stream.isWriting) { var healthC : int = currentHealth; stream.Serialize(healthC); } else { var healthZ : int = 0; stream.Serialize(healthZ); currentHealth = healthZ; } }

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public int currentHealth = 0;
    void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) {
        if (stream.isWriting) {
            int healthC = currentHealth;
            stream.Serialize(ref healthC);
        } else {
            int healthZ = 0;
            stream.Serialize(ref healthZ);
            currentHealth = healthZ;
        }
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public currentHealth as int = 0

	def OnSerializeNetworkView(stream as BitStream, info as NetworkMessageInfo) as void:
		if stream.isWriting:
			healthC as int = currentHealth
			stream.Serialize()
		else:
			healthZ as int = 0
			stream.Serialize()
			currentHealth = healthZ