Instantiating Object loses rotation

I am trying to instantiate an object in the players current position + 1 for the y axis. Unfortunately I am not familiar with Quaternions so I am not really sure what I am doing when setting a custom Rotation. Here is what I have so far

	void Update () 
	{
		if(Input.GetButton("Place Sigil"))
		{
			Instantiate (sigil, new Vector3(transform.position.x, transform.position.y + 1, transform.position.z), transform.rotation);
		}
	}

I know that the transform.rotation will not do what I am trying to accomplish, I just had to put something in there. I am trying to get it’s rotation at 90, 0, 0 if that would help anyone viewing this post.

transform.rotation should be the quaternion representation of the gameobject that also has this scripts code on it. I would think what you have should work unless you have a child model that is being rotated independently or something.

Well the prefab that I am instantiating is set to 90, 0, 0. Just that I am instantiating it to match that of the player, so it overrides its current rotation/position and replaces it with the players. Here is an example of what I am seeing:

Correct:

Incorrect:

I prefer to keep my models on a child gameobject so that I can scale or rotate them without worrying about this issue.