[Closed] Making a C++ plugin compatible with multiple 3ds Max versions?
I’m writing an appleseed renderer plugin for 3ds Max in C++. Since I’m building against the 3ds Max 2015 SDK, my plugin is currently restricted to 3ds Max 2015.
Is it possible for a plugin to be simultaneously compatible with multiple versions of 3ds Max, say, 2013 to 2015? If so, how is this achieved? Should my LibVersion() function report an older version of Max?
Thanks for the link. So, do I understand correctly that my plugin will work out of the box in Max 2016, without any code change?
no. it still depends on for what version of max is was originally written. if it was 2012+ you should be ok. (except several obsolete methods)
and of course it must be compiled with max 2015 or 2016 sdk libraries.
He said in his original post that he’s building with 2015 SDK, and then asked if it will work in 2016.
It will.
Sorry, I wasn’t clear: I’m really talking of binary compatibility of the plugin, out of the box, without any recompilation. Do Max plugins always target one and only one version of Max, or is there a way for a plugin to work in multiple versions simultaneously?
I work on renderer plugins as well, I work on http://luxrender.net/ ‘s LuxMaxrenderer plugin.
If you compile the plugin with 3dsmax 2015 SDK then it will work in 2016 without recompiling (so you can support 2015-2016 with same binary file).
This is what I do for the Luxrender renderer.
For earlier versions you need to set up the different SDK’s.
You typically do this by creating a new configuration for your project (like – ‘Release’ – ‘Debug’) in the top menu in visual studio, create new configs and point to the other SDK’s.
So you could have configurations for:
Release – 3dsmax 2012 (then point the configuration to that SDK directory)
Relase – 3dsmax 2014 (then point the configuration to that SDK directory)
and so on.
Thanks Stig for the answer.
I didn’t know you were working on a Max plugin for LuxRender, pretty cool.
Since you seem pretty experience with Max development, I have potentially many other questions to ask you, if you don’t mind.
If you want – you can email me directly (see contact on my home page)…
I like to share what I know, and learn new things.
And developers are not easy to find (that makes stuff like this), so it’s really nice to
share ideas and experience.