Developing a New Transformer Using the FME Plug-in SDK

Liz Sanderson
Liz Sanderson
  • Updated

Introduction

If you are looking to develop a new transformer for use in FME, a custom transformer should be your first choice, as it leverages 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 includes a comprehensive set of developer resources, all located in the pluginbuilder folder of your FME installation directory (e.g., C:\apps\fme\pluginbuilder).

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 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 located in the pluginbuilder folder's subdirectories 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?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.