Beginning with version 10.0.6, Final Cut Pro supports dynamic parameter UI implemented by native FxPlug plug-ins. The workflow described by this document no longer applies when developing products with Motion 5.0.5 (or later).

Dynamic UI vs Motion Templates

Final Cut Pro X does not allow dynamic UI in Motion Templates. Parameters can only be visible and enabled at all times. For those developing templates based on traditional plug-ins, this limitation makes the process very complicated, and it may even prompt you to drop dynamic UI altogether. For example, if you publish a parameter and then hide it or disable it as part of the development process, that parameter is instantly unpublished.

The goal is to ship products that sports dynamic parameter UI in Motion, After Effects and Final Cut Pro 7, while being available for Final Cut Pro X via templates. To help you reach this goal, there is a new option under the Developer section in the FxFactory app:

When you disable this option, any dynamic UI rules for all FxPacks under development on your system will be ignored. This will make all parameters visible and enabled all the time.

The option does not affect Dynamic UI rules for commercial products.

Without dynamic UI, you can publish all parameters at will.

The Workflow

The recommended workflow to use this new option is as follows:

  • Develop your plug-ins first, assigning any Dynamic UI rules to each plug-in as you normally would.
  • When you are ready to create the corresponding FxTemplates, turn off the Dynamic UI option before you begin creating templates.
  • Create all your templates in Motion, publishing any parameters you want to the user to be able to access.
  • Re-enable the “Dynamic UI” option and test in both Motion and Final Cut Pro X to make sure the correct UI is displayed.

The above instructions make one important point: this preference cannot be used retroactively. If you have existing Motion Templates that use your plug-in, disabling Dynamic UI globally will not actually work as expected. Motion remembers which parameters were visible and active when you saved a project, so you may have to delete and apply a new instance of your plug-in inside the Motion template in order to see all parameters.