Hello, I recently started using combine mesh script from Unity Documentation, but I have a problem, my object mesh combines perfectly, but the object position changes to World from local and my object appears near (0,0,0) position, far far away from its real position, where it should be. Here is the script which I am using: Code (csharp): #pragma strict @script RequireComponent(MeshFilter) @script RequireComponent(MeshRenderer) function Start () { var meshFilters = GetComponentsInChildren.<MeshFilter>(); var combine : CombineInstance[] = new CombineInstance[meshFilters.Length]; for (var i = 0; i < meshFilters.Length; i++){ combine[i].mesh = meshFilters[i].sharedMesh; combine[i].transform = meshFilters[i].transform.localToWorldMatrix; meshFilters[i].gameObject.active = false; } transform.GetComponent(MeshFilter).mesh = new Mesh(); transform.GetComponent(MeshFilter).mesh.CombineMeshes(combine); transform.gameObject.active = true; } I have read that people uses InverseTransformPoint http://answers.unity3d.com/questions/305080/modify-position-in-transform-matrix.html# function to fix the position, but I have no idea how to use it. Could give me a hand and help how to sort this problem?