Coding Multiple Layer Interaction for After Effects Plug-ins

Taught by Bartlomiej Walczak

Course Number:
Software Version:
Original Run Date:
June 2017 
4 hours 44 minutes 
Building on the fundamentals taught in SYS204, we focus on the interaction between two layers (worlds), and how we can leverage available SDK functions to quickly perform operations such as transformation, blending, blurring, and convolution. We're going to build a seemingly simple plugin that incorporates all of these, learn the ins and outs of using PF and AEGP suites, tackle the complex issue of extent hint, and apply several best practices for working with plugins.

Contrary to SYS204, this course focuses on development on OS X using XCode, and only concerns After Effects. Watching SYS204 is a highly recommended prerequisite. Some math skills are useful, but not required. Working C/C++ knowledge is essential.

Bart Walczak wears many creative hats - an editor, a vfx artist, a developer. Among other things he's an Adobe Certified Expert in Premiere Pro and an author of a few useful Premiere and After Effects tools that you might already be using without even knowing it. You can find his plug-ins and scripts on his website -
Coding Multiple Layer Interaction for After Effects Plug-ins
Watch our overview of the course

Class Listing

Class 1

In this class we learn the current state of development tools, setup our environment on OS X using XCode, and then modify our Skeleton plugin from SYS204 to make use of more generic environment, outside of Adobe SDK.

Class 2

We learn about After Effects SDK suites, and then modernize the Skeleton template to include SmartFX pathway and move directly into 32-bit processing. In the second part we repurpose this template for our Convoluted Compositor plugin.

Class 3

We sketch out the general idea of our plugin and then proceed to build the UI. Later we learn how to check out and check in parameters in a smart way.

Class 4

In this class we finally make the two worlds collide and blend into each other. We get to know WorldTransformSuite and its functions, experiment and slowly build up the functionality.

Class 5

World transformation is the topic of this class - time to dust off your basic algebra. We learn what a matrix is, and then what the transformation matrix is. Then we make sure we know how to compound affine transformations, and all this culminates in us being able to perform a mighty feat of rotating, translating, skewing and scaling Effect Worlds.

Class 6

In this class things get blurry and convoluted. We learn how to access AEGP World Suite, how to tie AEGP Worlds with PF Effect Worlds, and then how to easily perform simple blurring. Later we learn what a convolution and convolution kernel are, and how to achieve interesting results with their use.

Class 7

This class is all about masking. We can add masks to anything in After Effects. How to do it, what can be used as a mask - this class answers these questions and more. After this class our plugin is feature complete.

Class 8

This might be the toughest class of all. We are attempting to tackle extent hint and layers of various sizes. We also meet Thales of Miletus and make extensive use of our math and geometry skills. Not for the faint-hearted, but an essential skill if you are working with SmartFX and 32-bit compatibility.

Class 9

We wrap up the course and suggest areas of further development and research.