Trying to understand child and its position inthe world but under a parent.

So I have a Player , who has a spawn point infront of him as a child.

I use this spawn point to spawn bullets coming from his forward direction, but when i do that it ends up in the wrong area and i'm guesing it's to do with local and world?

GameObject star = (GameObject)Instantiate(Resources.Load("Bullet"));
star.transform.position = player.transform.FindChild("starSpawnPoint").transform.position;

EDIT--- So when I try to get an object to take the position of another object. It dosen't spawn correctly to that position.

 star = (GameObject)Instantiate(Resources.Load("NinjaStar"),GameObject.Find("starSpawnPoint").transform.position,Quaternion.identity);

This code does work and the sphere does end up at 0,0,0.

GameObject go = (GameObject)GameObject.CreatePrimitive(PrimitiveType.Sphere);
    go.transform.position = Vector3.zero;

Try to see in your moddeling software if your model are in the middle of the scene.

In Unity just put your bullet model in the scene, let it alone, without parent and set the positions to 0,0,0, if it isn't in the center of the world scene, so, your model are out of align.