Skip to main content
jas85
Participating Frequently
September 20, 2015
Answered

How Is Xcode Configured For AE Plugin Developement?

  • September 20, 2015
  • 1 reply
  • 2751 views

Although there is plenty of great information in the SDK document, I haven't come across much specifically focusing on the configuration of Xcode (6.4) for plugin development.

I have created a copy of the Skeleton template from the SDK and have appropriately renamed all of the files. I then opened the project in Xcode and replaced all occurrences of Skeleton and SKELETON with the proper name, accordingly. I would now like to compile this sample plugin and utilize it within AE in order to familiarize myself with structure and functionality of a plugin as it relates to its code. What step(s) do I need to take in order to achieve the aforementioned goal?

For one thing, the SDK document specifies how to set the output folder to build the plugin into. However, when I navigate to Xcode > Preferences > Locations and select the Advanced button under Derived Data, I am expected to provide a path for Products and one for Intermediates.

For another thing, I am used to specifying to the IDE the SDK's path. Yet, the SDK document specifies nothing relating to that (that I've come across). So how does Xcode know where to locate the SDK and its Header files?

Thanks!

This topic has been closed for replies.
Correct answer Zac Lam

I STILL haven't been able to build a plugin that works in After Effects CC 2015.

Again, the directory that is created upon build completion only contains empty directories and logs.


(For any following along, the question is answered in this thread:)

https://forums.adobe.com/thread/1974572

1 reply

Inspiring
September 21, 2015

Hey Jas.

Sounds like you are on the right track, as exactly what you described is how I got started making my first plugins.

The most useful changes I made for developing AE plugins with Xcode was to setup a scheme which launches AE after I compile, and to tweak the per-configuration build products path.

First, to make the scheme run After Effects on build:

- left click on the scheme you are using.

- select "edit scheme" from the dropdown.

- pick the "run" option on the left of window that pops up

- left click next to where it says "Executable" and browse to where you have AE installed and pick the .app file ("Adobe After Effects CC 2015.app")

The other default settings should be fine on the scheme.

Now you will want to configure the project to always build the plugin directly into the AE plugins folder so that its always the one you test when running AE.

select your project in the project navigator.

- chose the Build Settings tab

You want to change the "Per-configuration build products path"  to be the plugins folder of AE. For me this is:

/Applications/Adobe After Effects CC 2015/Plug-ins/

Though I recommend putting your plugins in a subdir so its easy to manage and cleanup.

Also, if you are wanting to test your plugin in AE and Premiere, you will need to build it to a different location (I don't usually do this so I don't know the path off the top of my head)

If you are successful with the two above steps, you should now be able to debug your plugin when it runs, setting breakpoints in Xcode, or profiling with instruments.  You will also see any print statements in the output window of xcode.  (ie: std::cout << "hello world\n";)

These are the two main things I've done to help with developing in Xcode.  I'm sure there are other tips people know about.  I'd love to hear em!

good luck,

-Andy

jas85
jas85Author
Participating Frequently
September 22, 2015

Andy, thank you for the great information!

I am still confused as to how to specify the SDK's location in the project. I created a new C++ project within Xcode and copied all the necessary files into it. However, I am getting errors, because includes, such as AEconfig.h are not found.

Inspiring
September 22, 2015

I wouldn't recommend trying to create a Xcode project from scratch.  There are several custom things they setup for you in the Skeleton project and the other example plugins which I haven't been successful at configuring from scratch. 

Regarding sourcing the AE SDK headers in your project.  I believe the directory structure in the SDK dmg/zip file is how you want to keep your actual project setup.  For example, we want to have our project in the "YourPlugin" folder, like so:

./development/AE_SDK/Effect/YourPlugin/

You would unzip/copy the SDK into the AE_SDK/ folder. 

Then, make a copy of the Template/Skeleton folder to the YourPlugin folder above.

If you copied it right, the xcode project should be able to find the AE SDK header files, which will be relative to "YourPlugin" dir at:  ../../ 

- Headers

- Resources

- Util


TL;DR:  stick with the SDK directory structure and example projects as your starting point and everything is much easier.

-Andy