Syntax for a game object component variable on a transform in an FBX hierarchy?

I have a known incoming transform hierarchy from Maya like this:

root|one|two|three

If I want to refer to a variable on transform three in Maya I would use:

root|one|two|three|threeShape1.var

After importing into Unity as an FBX how do I refer to a public game object component variable on transform three without sorting through everything in the scene using "find"?

Thanks!

Feb26: Wow - is this too hard? What I was expecting is something like:

transform(root/one/two/three/).gameObject.componentName.variableName

Maybe the question should be:

How do you refer to a unique game object component on a unique child transform? (From a script component on the root transform)

Do you really have to maintain a hash table of all your objects? Shouldn't Unity do that? http://answers.unity3d.com/questions/11959/transform-find-and-instantiate-do-not-return-the-same-type

I'm completely confounded by the relationship between a transform and a game object. All 3D software uses transform hierarchies as the basic organisational structure - is Unity some how different??? http://unity3d.com/support/documentation/ScriptReference/Transform.html http://unity3d.com/support/documentation/ScriptReference/GameObject.GetComponent.html

I couldn't tell for C#, but JScript goes something like this. I used this to retrieve the hand of my character so I could AddMixingTransform to an animation. Store the reference in a variable if you are to call this often.

var theHand = gameObject.transform.Find("Model1/Body2/Hand3");

That'll consider parent GameObject as the current root. Tweak around to get what you need.

EDIT: Or a long example for accessing a variable into a script from a child GameObject/Transform.

var theHandVariable = gameObject.transform.Find("Model1/Body2/Hand3").GetComponent("ScriptName").aVariable;

Once again, .Find and .Get functions are slow, cut out each one you can by storing in a variable!