After Effects ExtendScript Training: Ep. 18 Part 1, 2, & 3

ExtendScript Script Writing Training

Welcome to episode 18 of the After Effects ExtendScript Training series. This week We tackle our fourth full length script and it will involve roughly 260 lines of code. Today we will build a functioning dockable GUI that contains a button that launches our process to search for all effects plugins applied to our layers, then sorts the resulting data and removes duplicate info from our results, then populates that data into a two column listbox. We will also have a button that will easily save that final data to a text file for offsite review or handoff to a third party. Four completely new functions will need to be created as well as modifying some previous functions we’ve made. After this episode, you’ll have reusable functions that grab all effects that have been applied to layers in your project, populates a multi-column listbox, strips the file extension and gives you only the file name, sorts and removes duplicate array info, and more. We will also be dealing with assigning onClick events for our buttons. I did my best to shorten this tutorial, but it still came in at just under two hours long, so there is a lot to go over here. Let’s do this.

If you missed any of the previous episodes in this series, follow the links below.

Previous episodes in the series:

Episode 1 (Intro)

Episode 2 (Javascript Basics p1)

Episode 3 (Javascript Basics p2)

Episode 4 (After Effects Object Model structure overview / Script Preparation and development tips / Single Item Access of various project items, comps and layers)

Episode 5 (Access Renderqueue items, output modules and file paths / Multiple item access of project items, comps and layers / Batch change all renderqueue items file paths)

Episode 6 (Collecting data into an Array() / Changing values / Various tips)

Episode 7 (Create new comps and folders / Create Null, Solid, and Text layers)

Episode 8 (Create multiple comps of various sizes / Use Undo group / Add solids to match each comp / Various tips)

Episode 9 (Globally change blue solids to red / Replace solid name blue with red)

Episode 10 (Build a custom function to collect all CompItem objects / Modify function to dynamically allow for choice of CompItem, FolderItem or FootageItem)

Episode 11 (Build floating GUI)

Episode 12 Part 1 & 2 (Build dockable/floating combo GUI)

Episode 13 (ExtendScript Developer Utility script / Retrieve list of project item footage file paths)

Episode 14 (Processing text strings)

Episode 15 Part 1 & 2 (Reading, writing, and transferring Keyframes)

Episode 16 Part 1 & 2 (Creating text layers from external text files.)

Episode 17 Part 1 & 2 & 3 (Export property information to text files.)

In this episode:
– Build a dockable GUI.
– Load resulting data into a multi-column listbox.
– Create function to strip a file extension and return just the file name.
– Create function to populate a listbox.
– Create function to sort and remove duplicate result information.
– Assign onClick button events.


The video title card on this part 3 video is currently mislabled as part 1, but the video content is correctly part 3. I appologize for the confusion this may cause. I will try to fix this when I can.


Support ProVideo Coalition
Shop with Filmtools Logo

Share Our Article

David Torno is a Visual Effects professional based in Los Angeles, California. His work over the years has included commercials, feature films, music videos, and multimedia projects. During his free time, David enjoys expanding his…