New Flash Extension: Swap Instance for Duplicate Symbol

This extension adds a command that will take a selected symbol instance, create a new duplicate in the library, and swap the selected symbol for the newly created duplicate.

I use this command when I want to make a symbol that’s very similar to one that I’ve already got on stage. So if I have a button on stage with text inside it and I want another one exactly like it but with different text, I drag a copy using the opt key (alt on Windows), then I run this command. The command prompts me for a new name, I type it, hit OK, and now I’ve got a duplicated symbol that I can go in and edit without affecting the original.

I’ve also added a feature to replace the name if it contains the name of the original symbol. So, say your original symbol is called back and your original instance is called back_mc, if you name your new symbol next it will update the name of the new instance to next_mc. Otherwise, the original instance name (or lack thereof) will be kept.

UPDATE (9/21/09): DaveW correctly pointed out on the CHF forum that this command largely duplicates functionality that is built into Flash with right-click > Duplicate Symbol. It doesn’t do anything with the instance name, but that’s not a huge difference. In the future I may add something to make this extension more unique, if I find it’s helpful. Feel free to post ideas in the comments section.

(compatibility: Flash MX 2004 and up)
Swap Instance for Duplicate Symbol.mxp

Get updates from Ajar Productions

Sign up today and get the InDesign Split Text premium extension for free!

Unsubscribe at any time. Powered by ConvertKit

Join the Conversation

  1. James Lee says:

    Well, one problem that comes with duplicating symbols this way in Flash, is that if the symbol has a classic tween applied to it, then it’s necessary to swap out the symbol to the duplicate for every keyframe in the tween

  2. Justin says:

    That’s true, James. Then the question becomes, do you want to replace every instance of the symbol in the FLA, or just selected keyframes?

    Both are possible with JSFL.

  3. James Lee says:

    In my case, usually just the selected keyframes (or every keyframe in that tween). I use this technique if I need to have a bunch of symbols that are very similar, with slight differences (eg: crowds of people etc)

  4. Daniel says:

    Nice extension, but none of these swapping extensions work for me.
    I have a layer with three keyframes, the first keyframe is alpha=0%, then in the 60th keyframe is again alpha=0% and starts a classic tween from here to the 100th keyframe where it becomes alpha=100%. This extension only changes one of the instances, not all of them.

    Another extension that does this is called Swap Instances, can be found here:

    but unfortunately, it also does’t do the job.

    Thanks for sharing anyway!

  5. Justin says:

    Hi Daniel,
    If I recall correctly, this extension is only designed to swap one instance. Multiple instances sounds like a good idea for the future!

  6. Daniel says:

    Hi Justin,
    this extension does a good job of creating a duplicate symbol and replacing it immediately on the stage, much like the ‘right-click/duplicate symbol’ function in flash, but i use it in conjunction with the aforementioned Swap Instances extension and my workflow is greatly improved. As for the multiple instances replacement, i don’t think it would work on layers with classic tween (or any other tween) but i am not to familiar with JSFL to be sure 100%.

    I did a quick search on Google and found some other interesting stuff, here:

    Rename Multiple Library Symbols with JSFL:


    Swap Instance for Duplicate Symbol:

    (iako je ova funkcionalnost zapravo po defaultu dostupna u Flashu – desni klik na simbol, Duplicate Symbol)

    JSFL swap

    Maybe these can help you. I would sure love to see the multiple swap working across keyframes and also across multiple lyer – now that would be awesome!

Leave a comment

Your email address will not be published. Required fields are marked *