Developing a New Transformer Using the FME Plug-in SDK

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2022.1


If you are looking to develop a new transformer to use within FME, a custom transformer should be your first choice as they utilize the FME interface and existing functionality. If your transformer requirements go beyond existing functionality, you can utilize the FME Plug-in SDK to create a transformer with either Python, C++, or Java. 

Step-by-step Instructions

1. Install the FME Plug-in SDK 
Install the FME Plug-in SDK if you are on Windows. The SDK contains a comprehensive set of resources for developers, all of which are found in the pluginbuilder folder of your FME installation directory (e.g., C:\apps\fme\pluginbuilder).

If you are on macOS or Linux systems, the SDK is automatically installed with FME. The resource paths are:

  • macOS: /Library/FME/<version>/pluginbuilder/samples/doc
  • Linux: /opt/<FME install folder and version>/pluginbuilder/samples/doc

2. Become Familiar with FME
Becoming familiar with FME is the most important prerequisite for successful plug-in development. You can find more information about training courses and free on-demand training on our website
3. Decide on Which Language for the Plug-in
Decide whether you want to implement your plug-in in Python, C++ or in Java. Safe Software uses C++ for the majority of its plug-in development and recommends using C++ to its partners.
4. Follow the Getting Started Guide
Follow the Getting Started Guide which is located in <FME>\pluginbuilder\samples\doc. If you do not see the pluginbuilder directory, you will need to reinstall FME with the SDK option enabled. 
You can also use other resources available to you through the SDK. These are found in the subdirectories of the pluginbuilder folder and are available for C++, Java, and Python. They include:

  • API Documentation
  • Sample factory plug-in (.fmx), which also demonstrates how to access keywords

Was this article helpful?



Please sign in to leave a comment.