Seamless Paid Upgrades for Motion Templates

FxFactory 9.0.2 offers developers a path to create paid upgrades for existing products based on Motion Templates.

This scheme works for products built from a single FxTemplates project as well as products that are bundled with an FxPack that provides plug-ins in a supporting role to your Motion Templates, such as for custom UI or object tracking.

Are your Motion Templates just wrappers for native plug-ins?

If the answer is yes, this document does not apply to your product. Native plug-ins normally target multiple video apps and are already watermarked according to their own rules, decided in the FxPack.

This document is only meant for products that are exclusive to Final Cut Pro, where watermarks are applied through the custom Watermark Generator plug-in that is specific to your product. If you are interested in creating a seamless paid upgrade for native plug-ins, look at this guide instead:

Seamless Paid Upgrades for Plug-Ins

Steps to Make this Work

Your product started at version 1.0 and perhaps received few free maintenance updates through its lifetime (1.0.1, 1.0.2, etc.) When it’s time for a bigger, paid upgrade, upload the product and let us make the necessary changes to the product’s internal configuration. When you get the editable version back, it’s time to make a few changes of your own.

If version 2.0 is going to be a paid upgrade, existing templates in the product should be kept at earlier versions, for example 1.0, 1.0.1 or 1.5:

In most cases, version 1.x templates ought to be hidden from the effect brwoser after the upgrade, or from users who don’t have a license to any version of the product. This is accomplished by turning on the Hide template when a newer version of the product is licensed option where appropriate.

The new templates, part of the paid upgrade, should be set to version 2.0. The Licensing option for these templates should be set to Requires a license for a version of this product equal or greater than the template:

Linking a version 2.0 template to the 2.0 license
Linking a version 2.0 template to the 2.0 license

From this point forward, users with an existing license to version 1.0 will see an Upgrade button on-screen. If the template happens to be a version 2.0 template, its output is watermarked. If the template happens to be a version 1.0 template, the output is not watermarked but the Upgrade button is still present:

If the user hasn’t purchased a license for the product at all, all templates render with a watermark. The familiar Buy button is displayed on-screen:

The remainder of this document discusses this process in more detail.

How It All Fits Together

Up until FxFactory 9.0.2, the version assigned to a template was only useful to the developer to keep track of multiple versions of the same template, some of which may become obsolete as the product evolves:

Product history, as recorded by template versions
Product history, as recorded by template versions

Beginning with version 9.0.2, the template version can become an additional criteria to decide if the output of the template should be watermarked. This is controlled by the Licensing option:

Selecting the third option instructs FxFactory to consider the template to be licensed only if the user has purchased a license for a version that is at least as recent as the template:

For example, if your template is at version 2.0, but the user has purchased a license for version 1.0 of your product, its output will be watermarked. If the user later purchases an upgrade to version 2.0 of your product (or perhaps an even later version, say 3.0) the template no longer watermarks its output.

Let’s review the three options provided by Licensing:

  • Does not require a license: the output of this template is never watermarked. This options is similar to not embedding a watermark generator at all. There are some important differences: adding a watermark generator, even if it never renders a watermark allows the template to provide on-screen controls for a video tutorial, help, to provide a purchase button to unlock the product as a whole.
  • Requires a license for any version of this product: the output of the template is watermarked until any version of the product is purchased. This has been and will continue to be the default option for all new templates. This is how all previous versions of FxFactory decided to apply a watermark to your template.
  • Requires a license for a version of this product equal or greater than the template: the output is watermarked both when the product is unlicensed, or if a license was purchased for a previous version of the product. When this option is enabled, the template’s version is compared to the license version.
Selecting the third option for your newest templates is all it takes to enable seamless paid upgrades. The version you assign to the template is now related to the version assigned to the product:

Linking a license to a product version
Linking a license to a product version

If your templates are bundled with a parent product, you might be accustomed to the fact that product information is not editable:

Product info cannot be edited because it is inherited from the parent product
Product info cannot be edited because it is inherited from the parent product

In this rather common scenario, the product version assigned in the FxPack is used to make decisions on whether your templates should be watermarked, and whether the product is upgradable.

It (Still) All Boils Down to the Watermark Generator

Motion Templates-based products that are exclusive for Final Cut Pro delegate the responsibility of rendering a watermark to the Watermark Generator that corresponds to your product:

Nothing about that process is affected by seamless paid upgrades. You are still responsible for adding the correct watermark generator to every template in your product.