How is order of children decided?

I have an empty game object with 3 children 2 empties and 1 mesh. I thought the order was alphabetical, but when I have the names as A,B,C and it will show me the order is C,B,A. They are listed in the hierarchy in proper order, but when I use GetChild(0) they give me what should be GetChild(2). Anyone know why this might be?

They are listed upon the order of creation.

in editor children are sorted, but internally not.

use

to get children by name