Creating a solution > Working with plug-ins > Creating custom plug-ins
Creating custom plug-ins
If you are a C or C++ programmer and familiar with calculations in FileMaker Pro and FileMaker Pro Advanced, you can create plug-ins that extend the feature set of the FileMaker application. The plug-ins can take advantage of recursion and looping or hook into other programming interfaces. To create a custom plug-in, you will need the FileMaker plug-in SDK available at
To use plug-ins, FileMaker Pro users need to allow solution files to install plug-ins and enable plug-ins. For FileMaker Server-hosted files, the server administrator needs to allow the Install Plug-In File script step to update FileMaker Server plug-ins in the Server Admin Console.
Follow these general steps to prepare your custom plug-ins:
1. Using C or C++, create a plug-in file.
In Windows, the plug-in extension must be .fmx (32-bit FileMaker Pro) or .fmx64 (64-bit FileMaker Pro). In OS X, the plug-in extension must be .fmplugin.
2. Compile and test the plug-in.
3. Install the compiled plug-in file in a container field in your FileMaker solution. See Installing plug-ins.
4. Optionally, set up the solution file to check the version of installed plug-ins and update them, if needed. See Updating plug-ins.
To make plug-ins available in a file, instruct users to:
1. Enable your plug-ins in the Preferences dialog box in FileMaker Pro. See Setting plug-in preferences.
2. Click Configure and define or edit a calculation field to access external functions provided by the plug-in, if required.
3. In the Specify Calculation dialog box, choose one of the functions provided by the plug-in as the calculation formula.
Note  To display all available external functions, select External functions from the View list.
4. If you want plug-in updates to be installed automatically, ensure Allow Solutions to Install Files is selected.
See Installing plug-ins.
Note  For security reasons, system administrators might require users to disable Allow Solutions to Install Files. Contact the system administrator at your customer site for more information.
Related topics 
External functions