UnityException: Transform child out of bounds
GUI_Buttons.Start () (at Assets/Codes/GUI_Buttons.js:12)
that is mah error
#pragma strict
//icon variables are the ones that selected are is. Don’t judge my groamar.
var useAllVariables : boolean;
var Icon: Material;
var Icon2: Material;
var Text: Material;
var backImage: Material;
var normalIcon: Material;
function Start () {
normalIcon[0] = renderer.material;
normalIcon[1] = transform.GetChild(0).renderer.material;
if(!useAllVariables)
return;
normalIcon[2] = transform.GetChild(1).renderer.material;
normalIcon[3] = transform.GetChild(2).renderer.material;
}
function OnMouseEnter () {
renderer.material = backImage;
transform.GetChild(0).renderer.material = Icon;
if(!useAllVariables)
return;
transform.GetChild(1).renderer.material = Icon2;
transform.GetChild(2).renderer.material = Text;
}
function OnMouseExit () {
renderer.material = normalIcon[0];
transform.GetChild(0).renderer.material = normalIcon[1];
if(!useAllVariables)
return;
transform.GetChild(1).renderer.material = normalIcon[2];
transform.GetChild(2).renderer.material = normalIcon[3];
}
Formatted for you. Next time, I suggest you do this yourself or people will not give you the time of day.
pragma strict
// icon variables are the ones that selected are is.
// Don't judge my groamar.
var useAllVariables : boolean;
var Icon: Material;
var Icon2: Material;
var Text: Material;
var backImage: Material;
var normalIcon: Material[];
function Start ()
{
normalIcon[0] = renderer.material;
normalIcon[1] = transform.GetChild(0).renderer.material;
if(!useAllVariables)
return; normalIcon[2] = transform.GetChild(1).renderer.material;
normalIcon[3] = transform.GetChild(2).renderer.material;
}
function OnMouseEnter ()
{
renderer.material = backImage;
transform.GetChild(0).renderer.material = Icon;
if(!useAllVariables)
return; transform.GetChild(1).renderer.material = Icon2;
transform.GetChild(2).renderer.material = Text;
}
function OnMouseExit ()
{
renderer.material = normalIcon[0];
transform.GetChild(0).renderer.material = normalIcon[1];
if(!useAllVariables)
return; transform.GetChild(1).renderer.material = normalIcon[2];
transform.GetChild(2).renderer.material = normalIcon[3];
}
Error Message: “Transform child out of bounds GUI_Buttons.Start () (at Assets/Codes/GUI_Buttons.js:12)”
As for an answer, best guess is that the GameObject does’t have three children and you are trying to access transform.GetChild(2) which is the third child. Change that number in all of the functions.
Good luck!
As already answered here: Child Transform Out of Bounds - Unity Answers
You are trying to access a child (transform.GetChild(0) ) of a Transform without making sure that it actually does have children in the first place…