// PRIVATE void OnEntitySpawn( Entity entity ) { if( entity.GetOwner() != _network.GetLocalNodeIndex() || entity.GetPrefabIndex() != Prefab.PLAYER ) { // ignore any spawns that are not owned by us or that are not players Log.Info( $"Server spawned prefab: {entity.GetPrefabIndex().GetIndex()} with owner: {entity.GetOwner().GetDebugString()} but that is not our avatar." ); return; } GameObject go = entity.gameObject; AvatarSettings avatarSettings = go.GetComponent<AvatarSettings>(); if( avatarSettings == null ) { _settings.display.text += $"Spawned player entity doesn't have an AvatarSettings behaviour\n\n"; return; } Avatar avatar = new Avatar( avatarSettings, _world ); _settings.display.text += "Successfully spawned player entity with AvatarController\n\n"; _world.SetAvatar( avatar ); _exitTime = Time.time + _world.GetMinimumDisplayTime(); }