User Guide Cancel

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 email message when rendering is complete.

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

For a description of the scripting capabilities available with After Effects, refer to After Effects Scripting Guide.

Load and run scripts

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

  • Windows: Program Files\Adobe\Adobe After Effects <version>\Support Files

  • macOS: Applications/Adobe After Effects <version>

Several scripts come with After Effects and are automatically installed in the Scripts folder. and all loaded scripts are available from the File > Scripts menu.

Note:
  • 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:

By default, scripts are not allowed to write files or send or receive communication over a network. To allow scripts to write files and communicate over a network,

  • Windows: Select Edit > PreferencesScripting & Expressions > select Allow Scripts To Write Files And Access Network.
  • macOS: Select After Effects > SettingsScripting & Expressions > select Allow Scripts To Write Files And Access Network.
  • 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 select Open.

  • To stop a running script, press Esc.

  • 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, and it runs the script in the existing instance.

    For example (Windows): afterfx -r c:\script_path\example_script.jsx

Note:

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.

You can view the list of 10 most recently run scripts in After Effects. To view the list, select File > Scripts > Recent Script Files.

To rerun any of the 10 most recently run scripts,

  • macOS: Cmd + Option + Shift + D
  • Windows: Ctrl + Alt + Shift + D
Note:

On the AE Scripts website, Lloyd Alvarez offers a tip on how to run .jsxbin scripts if you don't have access to the Scripts or ScriptUI Panels folder.

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.

Tip:

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

Write and modify 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.

Refer to the After Effects scripting guide for more information.

Scripting access

Motion Graphics templates scripting access

Scripts can add properties to the Essential Graphics panel and export a Motion Graphics template using the following scripting methods:

  • Property canAddToMotionGraphicsTemplate() method
app.project.item(index).layer(index).propertySpec.canAddToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.canAddToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.canAddToMotionGraphicsTemplate(comp) 

Test whether or not the property can be added to the Essential Graphics panel for the specified composition. Returns true if the property can be added, false otherwise. If the property can not be added, it is either because it is not one of the supported property types or the property has already been added to that composition. After Effects presents a warning dialog. 

Supported property types:

  • Checkbox
  • Color
  • Numerical Slider (a single-value numerical property, such as Transform > Opacity or the Slider Control expression control effect)
  • Source Text

Parameters:

comp

The composition that you want to test adding the property to, compItem.

Returns: Boolean.


  • Property addToMotionGraphicsTemplate() method
app.project.item(index).layer(index).propertySpec.addToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.addToMotionGraphicsTemplate(comp)
app.project.item(index).layer(index).propertySpec.addToMotionGraphicsTemplate(comp)

Add the property to the Essential Graphics panel for the specified composition. Returns true if the property is successfully added, false otherwise. If the property is not added, it is either because it is not one of the supported property types or the property has already been added to that composition. After Effects will present a warning dialog. Use the canAddToMotionGraphicsTemplate() method to test whether the property can be added to a Motion Graphics template.

Parameters:

comp

The composition that you want to test adding the property to, compItem.

Returns: Boolean.


  • CompItem motionGraphicsTemplateName attribute 
app.project.item(index).motionGraphicsTemplateName
app.project.item(index).motionGraphicsTemplateName
app.project.item(index).motionGraphicsTemplateName

Read or write the name property in the Essential Graphics panel for the composition. The name in the Essential Graphics panel is used for the file name of an exported Motion Graphics template, for example, My Template.mogrt. The following example sets the name for the active composition and then returns it as an alert: 

app.project.activeItem.motionGraphicsTemplateName = "My Template";
alert(app.project.activeItem.motionGraphicsTemplateName);
app.project.activeItem.motionGraphicsTemplateName = "My Template"; alert(app.project.activeItem.motionGraphicsTemplateName);
app.project.activeItem.motionGraphicsTemplateName = "My Template";
alert(app.project.activeItem.motionGraphicsTemplateName);

Type: String; read/write.


  • CompItem exportAsMotionGraphicsTemplate() method
app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting, file_path)
app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting, file_path)
app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting, file_path)

Export the composition as a Motion Graphics template. Returns true if the Motion Graphics template is successfully exported, false otherwise. The name in the Essential Graphics panel is used for the file name of the Motion Graphics template for example, My Template.mogrt. Use the motionGraphicsTemplateName attribute to set the name. Optionally specify the path to the folder where the Motion Graphics template file is saved. If not specified, the file will be saved in the current user's Essential Graphics folder:

  • macOS: /Users//Library/Application Support/Adobe/Common/Essential Graphics/
  • Windows: C:\Users\\AppData\Roaming\Adobe\Common\Essential Graphics\

If the project is changed since the last time it was saved, After Effects prompts the user to save the project. To avoid this, use the project save() method before exporting the Motion Graphics template.

Parameters:

doOverWriteFileIfExisting

Whether to overwrite an exsiting file of the same name, boolean. Required.

file_path

Path to the folder where the file will be saved. Optional.

Returns: Boolean.


  • CompItem openInEssentialGraphics() method
app.project.item(index).openInEssentialGraphics()
app.project.item(index).openInEssentialGraphics()
app.project.item(index).openInEssentialGraphics() 

Where to find additional useful scripts

Find scripts, projects, and other useful items on the Adobe Add-ons website.

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

Get help faster and easier

New user?