Skip to content
ARTINEXT

BIM & Revit

What is a Revit plugin? How add-ins work, and when you need one

A plugin with one button isn't a simple plugin. The button is the summary of every decision made beforehand so the user doesn't have to make them again.

Digital Systems StudioPublished

The team that designs and builds custom Revit plugins for architecture, structural and MEP offices.

Contents
  1. The short answer
  2. How a plugin works
  3. Plugin, add-in, add-on
  4. Dynamo, pyRevit, macros
  5. What plugins do
  6. Installing and managing
  7. Ready-made or custom
  8. Conclusion
  9. FAQ

What is a Revit plugin? It's a program installed on top of Revit that adds new commands or features through the Revit API. Autodesk calls it an add-in. Most plugins show up as one or more buttons on the ribbon. You press the button, and the add-in does inside the model what used to take dozens of clicks or an afternoon by hand: naming sheets, checking model quality, exporting to Excel, placing elements by a rule.

Technically, a plugin is a DLL, usually written in C# on .NET, plus a small text file with an .addin extension that tells Revit where to load that DLL from. Revit reads those files at startup and puts the add-in's commands in front of the user.

One plugin the founder built took a process that normally ran about two weeks, sometimes closer to a month, down to roughly 10 minutes. Its whole interface is one button.

That's the part people misread. A simple interface is compressed history. Every decision made while building the add-in is a decision the user no longer has to make each time.

Close-up of coloured source code on a dark monitor, the kind of code that sits behind a plugin's one button

How a Revit plugin works

Screwdrivers with coloured handles hanging from a red rack on a wall, each one for a specific job

A plugin has two parts. The first is a .NET assembly, the DLL, which holds the code. The second is an .addin manifest, a short XML file naming the DLL's path, the class to run, and a unique ID (a GUID). At startup Revit reads manifests from two folders: one shared by all users under ProgramData, and one for the current user under AppData, each with a subfolder named for the Revit version year.

The code implements one of two Revit API interfaces. IExternalCommand is a single command: press the button, it runs, it finishes. IExternalApplication loads when Revit opens and can build its own ribbon tab and panels, or respond to events such as a file opening or saving. Most complete plugins use both, an application that builds the ribbon and several commands behind its buttons.

Every change an add-in makes to the model happens inside a transaction, the same way a change made by hand does. So the add-in's changes can be undone, and they land in the model's history. The structure of a Revit API project is covered in more depth in Revit API development.

Plugin, add-in, add-on: same thing

These words name one thing. Autodesk's Revit API documentation says add-in. The Autodesk App Store calls them apps. Users and vendors mostly say plugin or add-on.

The real difference isn't the name, it's how the thing is built. A compiled C# add-in, a Dynamo script and a macro inside Revit can all automate the same task. They differ a lot in how they're installed, maintained and rolled out to a team.

Revit plugin vs Dynamo, pyRevit and macros

There are four common ways to add a capability to Revit:

  • Compiled add-in: a DLL and an .addin manifest, usually C#. Fastest to run, full user interface, ships with an installer. Needs a developer to build.
  • Dynamo script: visual programming by wiring nodes, run inside Dynamo or through Dynamo Player. Good for repeated tasks inside one team and for quick prototypes. Depends on the Dynamo version and the packages installed.
  • pyRevit: a free, open-source add-in that runs Python scripts as ribbon buttons. Quick for small tools, and it ships with a set of ready-made tools of its own.
  • Macro: code written and run through Revit's Macro Manager. Enough for a small job in one file or for one user. Hard to distribute and maintain across a team.

Rough rule: if one person does the task once a week, a Dynamo script or a pyRevit button is usually enough. If the whole office relies on the tool every day, needs a proper interface, or has to run across several Revit versions, a compiled add-in is the better fit. Custom Dynamo script development draws that line in more detail.

What Revit plugins actually do

Commercial and free plugins mostly fall into a few groups: rendering and live visualisation, model quality and warning review, sheet management and PDF or DWG export, moving data between Revit and Excel, family and library management, and discipline tools for structure and MEP such as system design and rebar.

Custom plugins usually do something that only exists in that form in one office: that office's naming standard, the report format its client asks for, or converting another program's output into native Revit elements. Nobody sells those ready-made, because only one team does them that way.

How to install, enable and remove Revit add-ins

Most plugins come with an installer that puts the files in the right Addins folder. After installing, close Revit and open it again. If the add-in isn't digitally signed, Revit shows a security prompt at startup asking whether to always load it, load it once, or not load it.

Each Revit version has its own folder, and a plugin built for Revit 2024 won't necessarily run in 2025. From 2025, the Revit API moved to .NET 8, and add-ins written for .NET Framework have to be rebuilt. Before an office upgrades Revit, list the plugins the team depends on and check each one.

To remove a plugin, use Windows' installed apps list or the add-in's own uninstaller. If a load error remains afterwards, there's usually an .addin file left behind in one of the Addins folders; delete it. Only install add-ins from a source you can name. A plugin has access to every file Revit opens.

Ready-made or custom plugin

Before commissioning a plugin, check the Autodesk App Store, pyRevit's tools and the Dynamo package library. Plenty of generic jobs, batch renaming, sheet ordering, Excel export, already have a ready-made tool that does the same thing for less. If one of those does your job, you don't need us, or anyone like us.

A custom plugin earns its place when the office's workflow runs on the office's own rules, when several people repeat the task every day, or when a manual error in it has a known cost. Then the tool gets designed around how the team actually works. How that work is priced is in how much Revit plugin development costs, and the service itself is Revit plugin development.

Conclusion

A Revit plugin is a .NET add-in that adds commands to Revit through the Revit API, loaded by an .addin manifest in the Addins folder. Dynamo, pyRevit and macros are lighter ways to do the same job, and for plenty of needs they're enough. When one button replaces two weeks of manual work, the simplicity of that button is the record of the decisions made before it existed. What's the first thing you'd automate?

FAQ

What is a plugin in Revit?

A program installed on top of Revit that adds commands or features through the Revit API. Most show up as ribbon buttons and do their work inside the open model.

Is there a difference between a Revit plugin, add-in and add-on?

No. Autodesk uses add-in; plugin and add-on are common names for the same thing.

Is Dynamo a plugin?

Dynamo is a visual programming environment that installs with Revit and runs inside it. Dynamo scripts do plugin work, but they're .dyn files run in Dynamo or Dynamo Player rather than compiled DLLs.

What language are Revit plugins written in?

Mostly C# on .NET, because the Revit API is a .NET library. VB.NET works too, and tools such as pyRevit and Dynamo let you use Python.

Where are Revit add-ins installed?

The .addin files live in Autodesk\Revit\Addins under a folder for the version year, either in ProgramData for all users or in AppData for the current user. The DLL can sit anywhere the manifest points to.

Why did my plugin stop working after a Revit upgrade?

Each Revit version has its own Addins folder, and the API can change between versions. From Revit 2025 the API runs on .NET 8, so older add-ins have to be rebuilt for the new version.

Are Revit plugins safe to install?

A plugin has full access to the files Revit opens, so install only add-ins from a known source, such as the Autodesk App Store or a developer you can identify. Take Revit's prompt for unsigned add-ins seriously.

Back to top

Next step

Tell us the process you'd change first

Bring the workflow, not the spec. If a tool is the wrong answer, we'd rather tell you that in the first conversation than at the end of a build.

We are not a fit if you want an off-the-shelf template or a generic plugin installed without a process review.