NetworkTransform did not working with RegisterSpawnHandlers

Hello!

I try to write my own player spawning logic, which create player’s gameobject dynamically, but i have some issue with using NetworkTransform for created objects. NetowrkTransform does not want syncing gameobject positions! If i use prepared prefab with ClientScene.RegisterPrefab() all worked perfectly.

This my test script:

using UnityEngine;
using UnityEngine.Networking;

public class Test : NetworkManager
{	
	// public GameObject testPrefab;
	
	public override void OnServerAddPlayer(NetworkConnection conn, short playerCOntrollerId)
	{
		Debug.Log("Add new player!");
		// GameObject result = (GameObject)Instantiate(testPrefab, Vector3.zero, Quaternion.identity);
		// NetworkServer.AddPlayerForConnection(conn, result, playerCOntrollerId);
		GameObject result = SpawnPlayerObject(Vector3.zero, NetworkHash128.Parse("asd"));
		NetworkServer.AddPlayerForConnection(conn, result, playerCOntrollerId, NetworkHash128.Parse("asd"));
	}
	
	public override void OnClientConnect(NetworkConnection conn)
	{
		Debug.Log("New player connected!");
		// ClientScene.RegisterPrefab(testPrefab);
		ClientScene.RegisterSpawnHandler(NetworkHash128.Parse("asd"), SpawnPlayerObject, UnspawnPlayerObject);
		base.OnClientConnect(conn);
	}
	
	public GameObject SpawnPlayerObject(Vector3 position, NetworkHash128 hash)
    {   
        Debug.Log("Custom new player spawn!");
		
		GameObject result = GameObject.CreatePrimitive(PrimitiveType.Capsule);
        
		result.AddComponent<NetworkIdentity>();
        result.AddComponent<NetworkTransform>();
        
        new GameObject("player-child").transform.SetParent(result.transform);
        
		result.transform.position = position;
		
        return result;
    }
    
    public void UnspawnPlayerObject(GameObject unspawnObject)
    {
        Debug.Log("Custom player unspawn!");
		Destroy(unspawnObject);
    }
}

And this i have in result:
[58535-снимок-экрана-2015-11-21-в-183418.png|58535]

I think i do something wrong in spawhandlers registration or may be in hashes. And also confuses me pink of the spawned object on the client.

What i’m doing wrong?

Anybody can help me?

Try printing out the result from NetworkHash128.Parse("asd")
I did and got 0000000000000000

It seems like it’s actually kind of difficult to get a good random string of text from it.
I tried something longer, like: NetworkHash128.Parse("This text string"); and only got:
0000000000e00000

Mess around with a few different parse strings to get some better results.

Also, pink is the default color when objects don’t have a material assigned to them.