All the Ways You Can Extend 3ds Max Interactive

As introduced in the System Overview, you can make your custom plug-in hook in to the interactive editor, the runtime engine, and the project content. Depending on what you want your plug-in to do, you may need to integrate with one, two, or all three of these components.

The 3ds Max Interactive SDK is mostly focused on the first two sections below -- extending the editing tools and the runtime environment through their defined plug-in architectures. But it's worth it to lay out all the different possibilities in one place.

Editor plug-ins

Editor plug-ins add new capabilities to the interactive editor, typically for the purpose of creating and managing the raw content that makes up the project's source folder.

For more information on how to extend the editor in a plug-in, see Extend the Editor.

Most of the panels and views that you see in the interactive editor app are actually provided by plug-ins just like the ones you can write yourself:

Engine plug-ins

Engine plug-ins integrate into the runtime viewing and playback engine, typically with the purpose of changing something about the way project data is loaded, or the way the data is used at runtime during the engine loop.

For more information on how to extend the engine in a plug-in, see Extend the Engine.

Content extensions

3ds Max Interactive is a set of tools intended for creative people to use to imagine, design and create unique, new experiences that have never been done or imagined before. So the line can be very blurry between what is simply creating new project content on one hand, and what is extending the toolset on the other hand.

When you simply import new units or create new assets like shaders and levels in a project, most people would not think of that as extending the tools -- it's just using the product to create content, not changing what the tools are capable of. But what about when you add new Lua scripts? Or new custom Flow nodes and shader nodes? Assets like these are still project content -- they live in the project source folder, and they get compiled and brought into the engine along with your levels, units, animations, etc. But they often also add new ways to use the editor and the engine in order to create other content.

Content plug-ins make new assets of all kinds available to any project that you open and build in the editor. These new assets are treated in exactly the same way as the core resources -- they are "mounted" by the editor, visible in the Asset Browser, compiled by the engine, and usable in the project at runtime.

Typically, when you're working on a single project, you don't bother to create your own content as a plug-in -- you just create your content within the project's source folder. A content plug-in is only needed if you want a set of assets to be re-used across multiple projects, or if you need a set of assets to support another editor or engine plug-in.

Here are a few kinds of project assets that you may find particularly useful for extending what 3ds Max Interactive can do:

For more information on how to set up a plug-in to expose new resources to the project, see Extend the Project Content.

If you choose to Show mapped folders in the Asset Browser, you can see all the asset folders that have been mounted by all of your plug-ins:

So which do you choose?

In order to answer that question, you have to consider the role that you want your plug-in to play within the overall 3ds Max Interactive ecosystem.

Some examples: