What (if Anything) is the Difference Between Extensions and Plug-Ins?

Searching here and over at sketchUcation didn’t turn up an answer to this question. Would someone, please, enlighten me?


within SU, Extensions are ‘registered’ Plugins, which means they have additional code the allows the user to turn them on and off from the Extensions menu in Preferences…

you don’t need to have a plugin ‘approved’ by anyone to make it an Extension, you just need to comply with internal prerequisites…

in general, extensions imply easier loading and management, but there are plugins that offer this level of control…


So (continuing from what John said,) with regard to the SketchUcation Store Manager, they refer to scripts dropped into the “Plugins” folder as “plugins”. This also includes the SketchupExtension class registrar scripts, that create the on/off switch so users can turn them on and off. (A compliant extension has it’s own sub-folder for all the rest of it’s code.)

But in reality, everything that was not native, was called a “plugin” in the old days. The term was not strictly defined.

Even now, some programmers only refer to compiled C importer and exporters as “plugins”, but they never did go in the “Plugins” folder.

Other programmers have a different idea of what the two words mean.

In an old (similar entitled) thread at SketchUcation, we debated this same topic. There was no consensus.

My point of view (was and still is,) that a script that does not comply with the SketchupExtension class, and has no sub-folder of it’s own, is simply a “script”. And that anything (compliant or not,) that extends SketchUp, is an extension. But there are different sub-kinds of “extension.” A library that is not in itself a plugin (ie, it is not visible to the end user,) is a type of extension. So is a service. Both of these may be used by scripts, plugins or other extensions. And therefore a “plugin” is also a sub-kind of extension.

I believe that the end user thinks of a “plugin” as something tangible, that they can use. (Like a tool plugin.) They really do not care what programmers nitpicky call “plugins” or “extensions.” The need for a difference in what they are, or what they do or do not do,… is lost on the end user.
Nor (I think) did they care for the switch to calling them Extensions (in the documentation and the renaming of the topmenu.) They still refer to them as “plugins”, … in the forums, requests, bug reports, etc.

So, anyway, I prefer to say that “plugins” is just the old name for “extensions.” Using the word “plugins” for anything else, and redefining it “mid-stream” to mean something else, is just a recipe for confusion.

Thank you, Gentlemen!

The fact that I had seen the terms used almost interchangeably, but not quite, made me wonder if there wasn’t some distinction. I appreciate the fact that the terms are not explicit and have meaning from context at times.

Thanks, again!!

1 Like

You’re in the minority of those, that has noticed, that some circles believe there is a distinction, and believe the distinction to be “official.”

But I am not aware of any “official” whitepaper or declaration, that has redefined “plugin” to mean “this”, and “extension” to mean “that”.

And then, we also must recognize that SketchUp does not exist by itself. It is only one of a multitude, of extensible applications in the world, that use: “plugins”, “extensions”, “snap-ins”, “add-ins”, “scripts”, “macros”, etc., etc.

The end users are deluged with multiple terms for the same end result. All they really care about is having the extra functionality they need to get the job done.

So the end users will continue to call whatever they need, whatever they want. And the world will keeping turning. And noone will lose any sleep.

1 Like