(Unet) Issue with Sending a TargetRPC

Hello,

i have a problem sending data from my Server to Clients.
This should happen: On Start the Server generates positions and stores them in a position storage.
After this happened, the Server generates Cubes at the generated positions.

When a client connects to the Server, it is supposed to fetch the position Info and also generate Cubes at this position.
However the data transferred from my server to my client by a targetRPC is null, and i cannot understand what i am doing wrong.

This is the code:

    private PositionStorage positionStorage;
    private int[,] positionInfo;

    void Start()
    {
        positionStorage = GameObject.Find("PositionContainer").GetComponent<PositionStorage>();
        if (isServer)
        {
            positionStorage.GeneratePositions();
            positionInfo = positionStorage.GetPositionInfo();
            positionStorage.GenerateCubesAtPosition(positionInfo);

        }
        else
        {
            CmdGetPositionInfo();
        }
    }

    [Command]
    void CmdGetPositionInfo()
    {
        TargetSendPositionToClient(connectionToClient, positionInfo);
    }



    [TargetRpc]
    public void TargetSendPositionToClient(NetworkConnection target, int[,] info)
    {
        positionStorage.GenerateCubesAtPosition(info);
    }

Am i doing a fundemental mistake somewhere?
Thanks for your help!

This might be a way to sync your info to the client:

private PositionStorage positionStorage;
private int[,] positionInfo;
private SyncListStruct<int[]> positionList;

void Start()
{
	positionList = new SyncListStruct<int[]> ();
	positionList.Callback = processPositions;
	positionStorage = GameObject.Find("PositionContainer").GetComponent<PositionStorage>();
	if (isServer)
	{
		positionStorage.GeneratePositions();
		positionInfo = positionStorage.GetPositionInfo();
		positionStorage.GenerateCubesAtPosition(positionInfo);
		for (int i = 0; i < positionInfo.GetLength (0); i++) {
			positionList.Add (positionInfo *);*
  •   	}*
    
  •   }*
    
  • }*
  • void processPositions(SyncListStruct<int>.Operation op, int item)*
  • {*
  •   //this is called on the client when positionList updates*
    
  • }*