How is "fileIDToRecycleName" generated?

Hi, I am trying to understand how is unity generating game object childs

Inside a .meta file of an asset (e.g. myfile.obj.meta) I can find several patterns for fileIDToRecycleName

e.g.

100000: Terrain_Proto
100002: //RootNode
400000: Terrain_Proto
400002: //RootNode
2300000: Terrain_Proto
3300000: Terrain_Proto
4300000: Terrain_Proto
6400000: Terrain_Proto

or in another case

100000: //RootNode
100002: default
100004: default_MeshPart0
100006: default_MeshPart1
100008: default_MeshPart10
100010: default_MeshPart11
100012: default_MeshPart12
100014: default_MeshPart2
100016: default_MeshPart3
100018: default_MeshPart4
100020: default_MeshPart5
100022: default_MeshPart6
100024: default_MeshPart7
100026: default_MeshPart8
100028: default_MeshPart9
400000: //RootNode
400002: default
400004: default_MeshPart0
400006: default_MeshPart1
400008: default_MeshPart10
400010: default_MeshPart11
400012: default_MeshPart12
400014: default_MeshPart2
400016: default_MeshPart3
400018: default_MeshPart4
400020: default_MeshPart5
400022: default_MeshPart6
400024: default_MeshPart7
400026: default_MeshPart8
400028: default_MeshPart9
2300000: default_MeshPart0
2300002: default_MeshPart1
2300004: default_MeshPart10
2300006: default_MeshPart11
2300008: default_MeshPart12

My question is why sometimes the Rootnode has 100000 id and sometimes the Rootnode gets 100002 id.
What is the meaning of 100xxx ? (mesh?)
What is the meaning of 400xxx ? (collider?)
What is the meaning of 2300xxx ? ???

Thanks in advance,
jimver

1 Like

I have not find exactly the answer but

  • The last five digits are serial indexes incrementing always by 2 (Why ?).

  • The other digits in front of the five (one or two digits) correspond to the YAML class IDs (Unity - Manual: YAML Class ID Reference)

For example
1 is game object
4 is transformation
23 is MeshRender
6x are various types of colliders.

Still I have not figured out why the RootNode is 100000 in some models but 100002 in others ???

1 Like

It seems that my answer above (yesterday) is quite right as I have validated today.

My only question is why RootNode functuates. It is sometimes 100000 and sometimes 100002 as below

i.e.

100000: default
100002: //RootNode

vs

100000: //RootNode
100002: default

I have tested almost everything nothing works. grrrrr. Now I am trying to decimate manually some models to see if the size plays some role :frowning:
Next, I will try to rename them to see if the file name plays some role.

D.

1 Like

I think I found it

It is in the obj tag.

if the obj starts from the β€˜g’ tag then RootNode is 100000, and the 100002 is gets the name of the β€˜g’ tag.
However, if the obj starts from the β€˜o’ tag then RootNode is 100002, and the 100000 gets the name β€˜default’

i.e.

β€˜g’ case

100000: // RootNode
100002: mynicemesh

β€˜o’ case

100000: default
100002: // Rootnode

So it is better all my models to have the β€˜g’ tag but not the β€˜o’ tag.

:slight_smile:

1 Like