Keep old Final Cut Pro templates for old timelines without allowing them in new timelines

If you make a custom plugin for Final Cut Pro using Apple Motion 5, your customer might ask for an update with bug fixes and new features. There might be a problem after you deliver the second version. What happens if they open a timeline that used the first version and it is no longer on the system – having been replaced by the second version? Old projects will report that the plugin is missing, or not work the way they used to.

There is a way of deprecating a Motion template. To tell Final Cut that it can be used in previous projects but can’t be applied in new projects.

From ‘Preparing Plug-ins for Use in Final Cut Pro’ on the Apple Developer website:

When you update an existing plug-in, you may also need to deprecate the older version of the Motion template. A deprecated template is considered obsolete and does not appear in the effects browser in Motion, but it will still be applied in projects that previously used it.

The second bit of the <flags> value in the Motion XML for a template indicates whether or not the template has been deprecated. A 0 value for the second bit indicates that the template has not been deprecated; a value of 1 indicates that it has been deprecated.

To deprecate a template, open the Motion XML document and take the current value of the <flags> element (a child of the <template> element) and perform a bitwise OR operation with the value 0x2. For example, if the value of <flags> was previously 1, it would now be 3:

<template>
   <flags>3</flags>
</template>

This means to deprecate a template you made in Motion, open it with a text editor and edit the <template> section so that the value of <flags> is 3.

There’ll only be a <template> section in the template if you have checked the ‘Designed for 4K’ checkbox in the Project > Properties Inspector. If there isn’t a <template> section in the Motion template, you can add your own.

To add your own <template> section, in your text editor, search for <build> and add this before it:

<template>
   <flags>2</flags>
</template>
15th December 2021

Apple Motion 5 template too new for Final Cut Pro?