Instantiating an object - unexpected rotation.

Hi!
I’ve created a 3D model in SketchUp and now I’m trying to instatiate it in Unity through a C# script.
I’m using this line to do so:

Instantiate(dynamicWall, new Vector3(0, 0, 0), Quaternion.identity);

When I try it in-game, the model is created almost flawlessly. The only porblem is that it’s rotated 90° around the X axis.
At first I thought there’s a problem with the model or the prefab I’m instantiating, but when I drag-and-drop them from the Project panel into the scene, they are rotated just as I would expect them to be. The problem only emerges when I instantiate them dynamically. Why does this happen?

its because your using Quaternion.identity, it resets the Euler rotation to (0,0,0).

uses this instead

Instantiate(dynamicWall, Vector3.zero, dynamicWall.transform.rotation);

the reason it rotates because some(most) 3d editors uses Z = up, while unity uses Y = up. so when unity imports models it imports them with a rotation of (-90,0,0) degrees to compensate.

when you instantiate using Quaternion.identity , you rotates back to (0,0,0). which is why they look rotated when you instantiated.

Hope it helps