Create custom effects plug-ins for Final Cut Pro X and Motion.
Frameworks
- Pro
Extension Host - Pro
Service - Fx
Plug
Overview
When the effect or look you want to achieve can't be created with the filters or generators provided with Final Cut Pro or Motion, use the FxPlug software development kit (SDK) to write your own custom visual effects. FxPlug is a compact, powerful image-processing plug-in architecture that lets you create unique, hardware-accelerated or CPU-based effects plug-ins with customized UI and onscreen controls.
FxPlug consists primarily of Objective-C protocol definitions. You create a plug-in by writing code in Objective-C, Objective-C++, or Swift that conforms to these protocols, implementing the methods declared by the protocols. The host application provides the capabilities in all the protocols that have the API suffix. Your plug-in is responsible for implementing the other protocols.

FxPlug 4 introduces fully “out-of-process” FxPlug plug-ins, which have no component that runs inside of the host application process. Out-of-process plug-ins provide improved security for end users and allow plug-in developers the freedom to choose from a variety of rendering technologies, such as OpenGL, Core Graphics, Core Image, or Metal to develop unique plug-ins that include on-screen controls and custom user interface elements—all running seamlessly in the host application. Plug-in developers can choose to implement in either Swift or Objective-C.
Note
OpenGL and OpenCL are deprecated in macOS. FxPlug 4 is required to use Metal rendering or Swift code.
Additionally, the new Fx
API lets third-party plug-ins render only portions of the output (known as tiles) for more efficiency, in the same manner as Apple’s own plug-ins.
This documentation highlights new and updated concepts and APIs in FxPlug 4. You can find documentation for legacy plug-ins created with FxPlug 3 in the archived FxPlug 3.1.1 documentation.