Spawning gameObject with child

Hello, I’m trying to make spawnpoint where enemies are spawned, but I faced problem. When gameObject is cloned child - is not.
alt text

weapon object is created, but it is still on “original” gameObject.

This is how I spawn Objects: Instantiate (priesas, new Vector2(7f, -2.4f), Quaternion.Euler(0f, 0f, 0f));

This is script on weapon:

		if (GameObject.Find ("enemy").transform.rotation.y == 0) {
			position.x -= 0.8f;
			position.y += 0.35f;
			this.transform.position = position;
			transform.rotation = Quaternion.Euler(0f, 0f, 0f);


		} 

		if (GameObject.Find ("enemy").transform.rotation.y == 1) {
			position.x += 0.8f;
			position.y += 0.35f;
			this.transform.position = position;
			transform.rotation = Quaternion.Euler (0f, 180f, 0f);

		}

Because you find the first “enemy”, moreover your clones have different name so they will never be found. Instead you should do this in your code:

private Transform thisEnemyTransform;
private void Awake()
{
    thisEnemyTransform = transform.parent.GetComponent<Transform>();
}
//and then change all your references from this:
GameObject.Find ("enemy").transform
//to this:
thisEnemyTransform

Also it is always a better idea to get references in the other way then using “find by name”. Moreover you should store your references instead of “finding” them each time in Update - that will improve your game performance.

P.S. You can also just use (the example above was for better understanding of the process):

thisEnemyTransform = transform.parent;