Skip to main content

Write Your Custom Project Setup Script

Learn how to write your own tools with Automation Blocks - no programming skills required!

In this course, you'll create your own custom project setup script to do all the tedious tasks that need to be done when you start a new project. And since everybody's workflow is different, you'll learn how to write this tool yourself - and how to tailor it exactly to your own needs.

Here are some of the things that our Project Setup Script will be capable of:

  • Ask you for the project name.
  • Create a project folder on your harddrive.
  • Create a new Ae project in that folder.
  • Create your favorite bin structure in the project panel.
  • Check if your camera's memory card is mounted, and if so copy all footage from the card to the project folder, then import it into the project.
  • Create a main composition with guides and a background shape layer.

Most likely your workflow won't need all of these features, but since we will create the script together from start to finish, you can cherry-pick just the parts you need. And even better: The skills you learn in this course will enable you to also write any other kind of tool with Automation Blocks.

If you want to follow along but don't want to write the block code yourself, you'll also find the block code in our Community Library in the folder Courses/Write Your Custom Project Setup Script.

Class 1: Getting Started and Creating Project Bins

In this class, we get started with writing our own Automation Blocks scripts. We'll write a script that creates a new Ae project and some project bins, as well as giving a quick overview of the available blocks and learn where to find their documentation.

Class 2: Creating a Basic UI and System Folders

In this class, we extend our script so it prompts the user for a project name. The script then saves the project using that name, and also sets up a folder structure for us. On the technical side, you'll learn how to work with texts, file paths and also how to use variables.

Class 3: Copying Files and Working with "If" Blocks

In this class, we extend our script so that it checks if the memory card of our camera is currently mounted. If this is the case, it copies all footage files from the camera to our project folder. Of course, you can also use this method to copy files from USB sticks or other locations.

On the technical side, you'll learn how to work with if blocks and logic values in Automation Blocks. These allow you to execute a part of your script only if certain conditions are true (like if the memory card is mounted, or the active composition has a particular resolution, for example).

Class 4: Importing Files and Syncing Entire Folders

In this class, you'll learn how to import files into an After Effects project with Automation Blocks. We cover both importing individual files and syncing entire system folders with project bins.

Class 5: Creating Comps and Guides

In this class, you'll learn how to create new compositions in After Effects with Automation Blocks, and also how to add guides to comps. We also cover how to do mathematical calculations and how to retrieve attributes of compositions - as an example of this, we first retrieve the width of a composition and then divide it by two, in order to place a guide exactly in the middle of the composition.

Class 6: Creating Shapes

In this class, you'll learn how to create solid layers and shape layers with Automation Blocks. While solids can be created with a single block, for shape layers you have to first create the layer itself and then add its contents step by step, which consists of groups, shape paths, fills, strokes etc. This modular approach also allows you to create shape layers with more complex content.

Amazing - you're almost done with this course! Last but not least, in this class you'll learn how to ask the community for help if you have any questions while you create your own Automation Block scripts. You'll also learn how to add comments and web links to your scripts and how to share them in our community library.