Scripts



A script is a series of commands that tells an application to perform a series of operations. You can use scripts in most Adobe applications to automate repetitive tasks, perform complex calculations, and even use some functionality not directly exposed through the graphical user interface. For example, you can direct After Effects to reorder the layers in a composition, find and replace source text in text layers, or send an e-mail message when rendering is complete.

After Effects scripts use the Adobe ExtendScript language, which is an extended form of JavaScript, similar to Adobe ActionScript®. ExtendScript files have the .jsx or jsxbin filename extension.

For a complete description of the scripting capabilities available with After Effects, see the After Effects Scripting Guide on the After Effects Developer Center section of the Adobe website.

For a list of changes to the scripting interface between After Effects CS3 and After Effects CS4, see Todd Kopriva's blog.

Loading and running scripts

When After Effects starts, it loads scripts from the Scripts folder. By default, the Scripts folder is in the following location:

  • (Windows) Program Files\Adobe\Adobe After Effects CS4\Support Files

  • (Mac OS) Applications/Adobe After Effects CS4

Several Scripts come with After Effects and are automatically installed in the Scripts folder.

Loaded scripts are available from the File > Scripts menu. If you edit a script while After Effects is running, you must save your changes for the changes to be applied. If you place a script in the Scripts folder while After Effects is running, you must restart After Effects for the script to appear in the Scripts menu, though you can immediately run the new script using the Run Script File command.

Scripts in the ScriptUI Panels folder are available from the bottom of the Window menu. If a script has been written to provide a user interface in a dockable panel, the script should be put in the ScriptUI folder. ScriptUI panels work much the same as the default panels in the After Effects user interface.

Note: The default is for scripts to not be allowed to write files or send or receive communication over a network. To allow scripts to write files and communicate over a network, choose Edit > Preferences > General (Windows) or After Effects > Preferences > General (Mac OS), and select the Allow Scripts To Write Files And Access Network option.
  • To run a loaded script, choose File > Scripts > [script name].

  • To run a script that has not been loaded, choose File > Scripts > Run Script File, locate and select a script, and click Open.

  • To run a script from the command line, call afterfx.exe from the command line. Use the -r switch and the full path of the script to run as arguments. This command does not open a new instance of the After Effects application; it runs the script in the existing instance.

    Example (for Windows):

    afterfx -r c:\script_path\example_script.jsx
    You can use this command-line technique—together with the software that comes with a customizable keyboard—to bind the invocation of a script to a keyboard shortcut.

Jeff Almasol provides a set of scripts that includes the Launch Pad script, which creates a docking panel from which you can run any other scripts that you have installed. The same package of Jeff’s scripts includes KeyEd Up, a script with which you can modify keyboard shortcuts. For information, see the Adobe After Effects Exchange on the Adobe website.

Sebastien Perier provides instructions on his website for assigning keyboard shortcuts to scripts so that you can run a script with a single keystroke. This technique relies on the KeyEd Up script.

Jeff Almasol provides a script that creates a simple console panel. The console panel includes a text area in which you can enter ExtendScript commands to be evaluated. There is no capturing of errors or messages; this console is only a simple way of entering commands without having to create a script first. For information, see Jeff Almasol's redefinery website.

Scripts included with After Effects

After Effects provides several prewritten scripts to assist you in performing common tasks, and to provide a basis for you to modify and create your own scripts.

Run the sample script Demo Palette.jsx to get an idea of what sorts of things you can do with scripts.

Writing and modifying scripts

You can write your own scripts for use in After Effects by using the script editor, which is part of the ExtendScript Toolkit. The ExtendScript Toolkit provides a convenient interface for creating, debugging, and testing your own scripts. Sometimes, all that you need to do is make a slight modification to an existing script to make it do what you want; such slight modifications can often be performed with little knowledge of computer programming and scripting languages.

 To start the script editor, choose File > Scripts > Open Script Editor.

A tutorial on the AE Enhancers forum leads the reader step by step through the creation of a script.

Jeff Almasol provides a set of scripting utilities—such as useful functions—to facilitate the creation of your own scripts on his redefinery website.

Where to find additional useful scripts

To exchange scripts, projects, and other useful items with other After Effects users, go to the After Effects Exchange on the Adobe website.

Dan Ebberts provides scripting tutorials and useful scripts in the scripting section of his MotionScript website.

Lloyd Alvarez provides a collection of useful scripts on his After Effects Scripts website.

The AE Enhancers forum provides example scripts and useful information about scripting (as well as expressions and animation presets) in After Effects.

Jeff Almasol provides a collection of useful scripts on his redefinery website.

Dale Bradshaw provides scripts and tricks on his Creative Workflow Hacks website.

The nabscripts website provides many useful scripts.

Mathias Möhl provides useful scripts—including MochaImport, KeyTweak, and Tracker2Mask—on his AExtensions website. Mathias also provides video tutorials explaining the use of the scripts.

Christopher Green provides many useful scripts on his website.