Do you know the difference between "symbol name" and "instance name" in Flash? Confusing the two names is a very common mistake among the less experienced Flash users. Believe it or not, but I have received quite a few e-mails, asking "what have I done wrong in this Flash project?", and most often it turned out that one or more Symbols of theirs just didn't have an instance name.
That is why, in this tutorial, I'm going to try and draw clear dividing line between these two kinds of names. I'm also going to describe them briefly and show you where you may encounter them.
Symbol name
A Symbol name is a unique name that we assign to Symbols. To create a Symbol, select an object on the stage and press F8. In the dialog box that pops up, you can specify the Symbol name:
![]() |
Remember: Symbols names are used everywhere except Actionscript.
For example, if I create a Movieclip, name it "head_mc", and then give it an instance name of "head", I'm going to:
- have "head_mc", and not "head", in the Library (Ctrl + L)
- be able to swap "head_mc", and not "head", to some other symbolI
- be able to apply filters to "head_mc" and not "head".
And so on...
However, if I write a code like this on the first frame of the Timeline:
- _root.head_mc._x = 200
(...) my symbol won't even budge. That's bacause instead of "head_mc", there should be "head"—the instance name of our symbol!
I'm sure you get my point :-)
How to name your Symbols
Since we are at it, I thought it might be a good idea to say one or two things about naming your Symbols.
When naming Symbols, people often tend to:
a) Type just anything, like "dasdsadsadsaadsdsasaddfadgggs". I used to do that too.
|
b) Type things as general as "head". This is a totally bad habit, but still a bad one. It's just a better idea to make the name a little bit more unique. For example, "head_girl", if you are creating a Symbol of a girl's head.
I don't know how about you, but I often import Symbols from one Flash project to another. Since there is no way for two Symbols using the same name to co-exist in one Flash project, taking the extra afford to name my Symbols appropriately pays off later on. Otherwise, you often get such a warning:
|
Besides—just like in real life—one should keep everything in order :-)
The instance name
The instance name is the other kind of name that we assign to Buttons and Movieclips to address them with Actionscript.
To specify the instance name, open your Properties window (Ctrl + F4), select a Symbol and look toward the bottom left corner of the Window you have just opened. This is where you should type the instance name! :-)
![]() |
But how exactly do we use it? Let's see:
- sky._alpha = 30;
- sky._x = 400;
In these three lines of code, I change the alpha and the x coordinates of a Symbol with an instance name of "sky".
Note: We can only address the Symbol in this way if we are working on the main Timeline. The code would look different if we were working inside another Symbol, on another Timeline:
- _root.sky._alpha = 30;
- _root.sky._x = 400;
- _root.sky._y = 100
To learn more on this topic, read this tutorial.
I hope this tutorial helped you dissolve any kind of confusion you might have had around that subject. Oh, and that it was at least a little bit enjoyable read :-)
Cheers!




