Imported FBX has transform of (0,0,0), but actual position is NOT at (0,0,0)

I have a problem with positioning of imported FBX models in Unity. I have Unit 5.4.2f2 Personal Edition.

I have models in NavisWorks that I export to FBX. The original model’s real location is hundreds or thousands of meters from (0,0,0), which is correct.

When importing in Unity, I drag the FBXs in the hierarchy, NOT the scene.

However, when I click the imported model in the hierarchy, its transform shows (0,0,0). Then, when I double-click the object to get it into view, its location in the 3D world is actually like in the original source model, very far away from the origin.

Then, having double-clicked the object, I create a new empty GameObject, and this GameObject’s transform shows the actual real position of the model (e.g. 15639.35120, 2350.3, 14033.324).

I want to create a script that will tell me the real position of the object without manually having to create an empty GameObject for each and then manually get its transform position.

But, when I do transform.position or transform.localPosition, it gives me (0,0,0), which I know is not true.

Any hints on how to do this and why the object does not display its real position?

Have you considered parenting the the model with the empty GameObject and then using the models parent (the empty GameObject) as a transform container?

Also see this answer: Why does Parented FBX keep transforming to 0,0,0 when i press play? - Questions & Answers - Unity Discussions