(For new projects, you should use the new networking system introduced in 5.1. This information is for legacy projects using the old networking system.)
Функция Network.Instantiate обеспечивает простой способ создания экземпляра префаба на всех клиентах, по эффекту схожий с Object.Instantiate для одного клиента. Создающий клиент будет контролировать объект (т.е. класс ввода Input будет доступен из скриптов, запущенных на экземпляре клиента), но изменения будут отображаться по всей сети.
Список аргументов для Network.Instantiate():
static function Instantiate (prefab : Object, position : Vector3, rotation : Quaternion, group : int) : Object
Как и с Object.Instantiate, первые три параметра описывают создающийся префаб с его желаемой позицией position и вращением rotation. Параметр group (группа) позволяет определять подгруппы объектов, чтобы контролировать фильтрацию сообщений и может быть выставлен равным нулю, если фильтрации не требуется (см.ниже Communication Groups).
Если расписать подробно, что в действительности происходит, то выяснится, что создание объектов по сети строится вокруг вызова RPC, содержащего идентификатор для префаба вместе с позицией и другими деталями. Этот вызов RPC всегда помещается в буфер, подобно иным вызовам RPC, так что созданные объекты появятся и у новых клиентов, когда они подключатся. См. страницу RPC для большей информации о буферизации.
Communication groups (Коммуникационные группы) могут быть использованы для выбора клиентов, которые будут получать индивидуальные сообщения. Например, два подключенных игрока могут находиться в различных областях игрового мира и даже не иметь возможности встретиться. Следовательно, нет никакого смысла в передаче состояния игры между клиентами этих двух игроков, однако вам всё ещё может быть необходима возможность создания чата между ними. В этом случае, сетевое создание новых объектов не требуется передавать для объектов, определяющих ход игры, но не для объектов, осуществляющих функцию чата, поэтому их следует поместить в различные группы.