Macintosh or Windows
The After Effects CC 2015 Plug-in Software Development Kit contains headers defining the After Effects Plug-in APIs, sample projects demonstrating integration features, and the SDK Guide documentation.
Effect plug-ins described in the SDK can not only run in After Effects, but also Adobe Premiere Pro and Adobe Premiere Elements. AEGP plug-ins can manipulate nearly every element of After Effects projects, preferences, trigger internal commands, and call scripts. Other integration points are also described in the SDK documentation.
This update fixes some audio APIs that broke in 13.5 due to threading changes. In 13.5, when called on the UI thread, AEGP_RenderNewItemSoundData() would return A_Err_GENERIC. This restores the functionality when called on the UI thread.
Separate UI and Render Threads
This release of After Effects includes major architectural changes to separate the UI (main) thread from the render thread.
These changes are to improve interactive performance and responsiveness. At the same time, the new design introduces some new requirements and may break assumptions that existing plug-ins relied on. See the What's New docs for testing and troubleshooting tips.
The Need For More Efficient Sequence Data Handling
Starting in 13.5, as effect changes are made, serializing/flattening happens even more often. Why? AE needs to serialize/flatten project changes to send from the UI thread to the render thread, to keep them both synchronized. To optimize, a new selector, PF_Cmd_GET_FLATTENED_SEQUENCE_DATA, has been introduced.
Changes to Caching of Rendered Frames
The new function GuidMixInPtr() allows an effect to mix any additional state that affects the render into AE's internal GUID for the cached frame. We recommend reducing usage of PF_OutFlag_FORCE_RERENDER where possible, and instead triggering re-renders using GuidMixInPtr(), arb data, or PF_ChangeFlag_CHANGED_VALUE.
FORCE_RERENDER is still needed for certain situations where sequence_data needs to be copied from the UI thread to the render project/effect clone to keep them matched.
Request Frames Asynchronously Without Blocking the UI
For cases where frame requests were formerly triggered by side-effect or cancelled implicity (such as custom UI histogram drawing), and lifetime is less clear from inside the plug-in, use the new “Async Manager” which can handle multiple simultaneous async requests for effect Custom UI. A new sample, HistoGrid, demonstrates its usage.
Get Rendered Output of an Effect from its UI
Effects such as keyers or those that draw histograms of post-processed video can retrieve the needed AEGP_LayerRenderOptionsH using the new function AEGP_NewFromDownstreamOfEffect() in AEGP_LayerRenderOptionsSuite. This function may only be called from the UI thread.
AEGP Usage on Render Thread
We've tightened validation of when AEGP calls could be used dangerously (such as from the wrong thread or making a change to the project state in render). You may see new errors if code is hitting such cases. The solution is to move these calls to the UI thread.
PF_Cmd_SEQUENCE_RESETUP Called on UI or Render Thread
There is now a PF_InFlag_PROJECT_IS_RENDER_ONLY flag that is only valid in PF_Cmd_SEQUENCE_RESETUP that will tell you if the effect instance is for render-only purposes. This can be used to optimize away any UI-only initialization that render does not need.
Changes to Avoid Deadlocks
During development, it was noticed that deadlocks could occur in specific call usage. Seatbelts have been introduced to avoid this. See the What's New docs for details.
AEGP_RenderAndCheckoutFrame() (on the UI Thread). This call should generally not be used on the UI thread since synchronous renders block interactivity.
Support for Effect Version up to 127
New Installer Hints for MacOS
PF_CreateNewAppProgressDialog() - new in CC 2014 (13.1)
See the section What's New in CC 2015, in chapter 1 of the After_Effects_SDK_Guide.pdf, for more in-depth information on the changes above.
Microsoft Windows 7 64, and Visual Studio 2010 SP 1
Mac OS 10.8 or 10.9 and XCode 5.0.2.
You will also need Adobe Reader software to read the PDF documentation
For questions on using the SDK to develop a plug-in for After Effects, please visit the After Effects SDK Forum.
SDKs are generally supported for six months following the release of the next major version of the SDK.