3ds Max C++ API Reference
Version Macros

Max SDK Version Numbers.

The SDK version number is updated every time a build of Max containing SDK changes is distributed to 3rd party plugin developers.

This can be an alpha, beta or release candidate build. Although we make every effort to keep Max backward compatible with plugins built against previous versions of the Max SDK, occasionally plugins are required to be re-built against the latest version of the Max SDK in order for Max to load them. Plugins built against a certain version of the Max SDK will not load in previous versions of Max. Note that the Max SDK version number is encoded in VERSION_3DSMAX.

SDK backward compatibility history:

  • 3ds Max R5 is binary compatible with 3ds Max R4
  • 3ds Max R8 is binary compatible with 3ds Max R6
  • 3ds Max R9.0 not binary compatible with previous releases
  • 3ds Max R10 is binary compatible with 3ds Max R9
  • 3ds Max R11 not binary compatible with previous releases
  • 3ds Max R12 not binary compatible with previous releases
  • 3ds Max R13 is binary compatible with 3ds Max R12
  • 3ds Max R14 not binary compatible with previous releases
  • 3ds Max R15 not binary compatible with previous releases
  • 3ds Max R16 is binary compatible with 3ds Max R15
  • 3ds Max R17 not binary compatible with previous releases
  • 3ds Max R18 is binary compatible with 3ds Max R17
  • 3ds Max R19 not binary compatible with previous releases
  • 3ds Max R20 not binary compatible with previous releases
  • 3ds Max R21 not binary compatible with previous releases
  • 3ds Max R22 not binary compatible with previous releases
  • 3ds Max R23 is binary compatible with 3ds Max R22
  • 3ds Max R24 is not binary compatible with previous releases
  • 3ds Max R25 is not binary compatible with previous releases
See also
VERSION_3DSMAX
LibVersion
CoreExport bool IsMaxVersionNewerOrSame (unsigned int maxRelease, unsigned int maxExt)
 Returns true if the current Max version is newer than maxRelease or the same but an extension equal or newer than the one specified as maxExt is present. More...
 
CoreExport unsigned int GetMaxExtensionVersion ()
 Returns the 3ds Max extension number. More...
 
#define MAX_API_NUM_R20   4
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R25   5
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R30   6
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R31   7
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R40   8
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R42   9
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R50   11
 3ds Max 5 SDK. More...
 
#define MAX_API_NUM_R60_PRE_REL   12
 3ds Max 6 SDK pre-release. More...
 
#define MAX_API_NUM_R60   13
 3ds Max 6 SDK. More...
 
#define MAX_API_NUM_R70_PRE_REL   14
 3ds Max 7 SDK pre-release. More...
 
#define MAX_API_NUM_R70   15
 3ds Max 7 SDK. More...
 
#define MAX_API_NUM_R80_PRE_REL   16
 3ds Max 8 SDK pre-release. More...
 
#define MAX_API_NUM_R80   17
 3ds Max 8 SDK. More...
 
#define MAX_API_NUM_R90_ALPHA   18
 3ds Max 7 SDK pre-release. More...
 
#define MAX_API_NUM_R90_BETA1   19
 3ds Max 9 Beta 1 SDK. More...
 
#define MAX_API_NUM_R90_BETA3   20
 3ds Max 9 Beta 3 SDK. More...
 
#define MAX_API_NUM_R90   21
 3ds Max 9 SDK. SDK incompatible with 3ds Max 8. More...
 
#define MAX_API_NUM_R100_BETA5   22
 3ds Max 10 Beta 5 SDK. More...
 
#define MAX_API_NUM_R100   23
 to 3ds Max 10 SDK. SDK compatible with 3ds Max 9. More...
 
#define MAX_API_NUM_R110_ALPHA   24
 3ds Max 2009 Alpha SDK. SDK is incompatible with 3ds Max 10. More...
 
#define MAX_API_NUM_R110   25
 3ds Max 2009 SDK. SDK is compatible with 3ds Max 2009 Alpha More...
 
#define MAX_API_NUM_R120_ALPHA2   26
 3ds Max 2010 Alpha 2 SDK. SDK is incompatible with 3ds Max 2009. More...
 
#define MAX_API_NUM_R120_ALPHA3   27
 3ds Max 2010 Alpha 3 SDK. SDK is incompatible with 3ds Max 2010 Alpha 2. More...
 
#define MAX_API_NUM_R120_ALPHA4   28
 3ds Max 2010 Alpha 4 SDK. SDK is incompatible with 3ds Max 2010 Alpha 3. More...
 
#define MAX_API_NUM_R120_BETA1   29
 3ds Max 2010 Beta 1 SDK. SDK is incompatible with 3ds Max 2010 Alpha 4. More...
 
#define MAX_API_NUM_R120_BETA3   30
 3ds Max 2010 Beta 3 SDK. SDK is compatible with 3ds Max 2010 Beta 1 (Beta 2 was identical to Beta 1). More...
 
#define MAX_API_NUM_R120_BETA4   31
 3ds Max 2010 Beta 4 SDK. SDK is compatible with 3ds Max 2010 Beta 3. More...
 
#define MAX_API_NUM_R120_BETA5   32
 3ds Max 2010 Beta 5 SDK. SDK is compatible with 3ds Max 2010 Beta 4. More...
 
#define MAX_API_NUM_R120   33
 3ds Max 2010 SDK. SDK is compatible with 3ds Max 2010 Beta 5. More...
 
#define MAX_API_NUM_R130_BETA1   34
 3ds Max 2011 Beta 1 SDK. SDK is compatible with 3ds Max 2010 and 3ds Max 2011 Alpha builds except for new APIs. More...
 
#define MAX_API_NUM_R130   35
 3ds Max 2011 SDK. SDK is compatible with 3ds Max 2010 and 3ds Max 2011 Alpha and Beta builds except for new APIs. More...
 
#define MAX_API_NUM_R140_ALPHA1   36
 3ds Max R14 Alpha 1 SDK. SDK is incompatible with 3ds Max 2011. More...
 
#define MAX_API_NUM_R140_BETA2   37
 3ds Max R14 Beta 2 SDK - incompatible with 3ds Max 2012 Beta 1 and earlier. More...
 
#define MAX_API_NUM_R140   38
 3ds Max R14 SDK - incompatible with 3ds Max 2011, compatible with 3ds Max 2012 Beta 2 and later. More...
 
#define MAX_API_NUM_R150_ALPHA_MBCS   39
 3ds Max R15 pre-Alpha mbcs SDK - incompatible with 3ds Max 2012 and 3ds Max 2013 unicode builds More...
 
#define MAX_API_NUM_R150_ALPHA_UNICODE   40
 3ds Max R15 pre-Alpha unicode SDK - incompatible with 3ds Max 2012 and 3ds Max 2013 mbcs builds More...
 
#define MAX_API_NUM_R150   MAX_API_NUM_R150_ALPHA_UNICODE
 3ds Max R15 SDK - incompatible with 3ds Max 2012, remains the version number set for the pre-Alpha unicode SDK This was decided because it was not incremented at SDK freeze, despite breaking changes. More...
 
#define MAX_API_NUM_R160_ALPHA1   41
 3ds Max R16 Alpha 1 SDK. SDK is compatible with 3ds Max 2013 builds except for new APIs. More...
 
#define MAX_API_NUM_R160   42
 3ds Max R16 SDK. SDK is compatible with 3ds Max 2013 builds except for new APIs. More...
 
#define MAX_API_NUM_R170_PREVIEW   43
 3ds Max R17 (2015) Preview SDK; incompatible with 3ds Max R16 (2014). More...
 
#define MAX_API_NUM_R170   44
 3ds Max R17 (2015) SDK; incompatible with 3ds Max R16 (2014). More...
 
#define MAX_API_NUM_R180_PREVIEW   45
 3ds Max R18 (2016) Preview SDK; compatible with 3ds Max R17 (2015). More...
 
#define MAX_API_NUM_R180   46
 3ds Max R18 (2016) SDK; compatible with 3ds Max R17 (2015). More...
 
#define MAX_API_NUM_R190_PREVIEW   47
 3ds Max R19 (2017) Preview SDK; incompatible with 3ds Max R18 (2016). More...
 
#define MAX_API_NUM_R190   48
 3ds Max R19 (2017) SDK; incompatible with 3ds Max R18 (2016). More...
 
#define MAX_API_NUM_R200_PREVIEW   49
 3ds Max R20 (2018) Preview SDK; incompatible with 3ds Max R19 (2017). More...
 
#define MAX_API_NUM_R200   50
 3ds Max R20 (2018) SDK; incompatible with 3ds Max R19 (2017). More...
 
#define MAX_API_NUM_R210_PREVIEW   51
 3ds Max R21 (2019) Preview SDK; incompatible with 3ds Max R20 (2018). More...
 
#define MAX_API_NUM_R210   52
 3ds Max R21 (2019) Final SDK; incompatible with 3ds Max R20 (2018). More...
 
#define MAX_API_NUM_R220_PREVIEW   53
 3ds Max R22 (2020) Preview SDK; compatible with 3ds Max R21 (2019). More...
 
#define MAX_API_NUM_R220_PREVIEW2   54
 3ds Max R22 (2020) Preview 2 SDK (upgrade to Visual Studio 2017); incompatible with 3ds Max R21 (2019). More...
 
#define MAX_API_NUM_R220   55
 3ds Max R22 (2020) Final SDK; upgrade to Visual Studio 2017; incompatible with 3ds Max R21 (2019). More...
 
#define MAX_API_NUM_R230_PREVIEW   56
 3ds Max R23 (2021) Preview SDK; compatible with 3ds Max R22 (2020). More...
 
#define MAX_API_NUM_R230   57
 3ds Max R23 (2021) Final SDK; compatible with 3ds Max R22 (2020). More...
 
#define MAX_API_NUM_R240_PREVIEW   58
 3ds Max R24 (2022) Preview SDK; incompatible with 3ds Max R23 (2021). More...
 
#define MAX_API_NUM_R240_PREVIEW2   59
 3ds Max R24 (2022) Preview 2 SDK; incompatible with 3ds Max R23 (2021). More...
 
#define MAX_API_NUM_R240   60
 3ds Max R24 (2022) Final SDK; incompatible with 3ds Max R23 (2021). More...
 
#define MAX_API_NUM_R250_PREVIEW   61
 3ds Max R25 (2023) Preview SDK; incompatible with 3ds Max R24 (2022). More...
 
#define MAX_API_NUM_R250   62
 3ds Max R25 (2023) Final SDK; incompatible with 3ds Max R24 (2022). More...
 
#define MAX_API_NUM   MAX_API_NUM_R250
 The 3ds Max SDK current version number. More...
 
#define MAX_SDK_REV   0
 Denotes the revision of the SDK for a given API. More...
 
#define VERSION_3DSMAX   ((MAX_RELEASE<<16)+(MAX_API_NUM<<8)+MAX_SDK_REV)
 This is the value that is required to be returned by a plug-in DLL's implementation of LibVersion(). More...
 

3ds Max Release Identifiers

#define MAX_RELEASE_UNSUPPORTED   (-1)
 
#define MAX_RELEASE_R7   7000
 3ds Max 7 release ID More...
 
#define MAX_RELEASE_R8_ALPHA   7800
 3ds Max 8 alpha release ID More...
 
#define MAX_RELEASE_R8   8000
 3ds Max 8 release id More...
 
#define MAX_RELEASE_R9_ALPHA   8900
 3ds Max 9 alpha release id More...
 
#define MAX_RELEASE_R9_ALPHA2   8901
 3ds Max 9 alpha 2 release id (file format change) More...
 
#define MAX_RELEASE_R9   9000
 3ds Max 9 release id More...
 
#define MAX_RELEASE_R10_ALPHA   9900
 3ds Max 10 alpha release id More...
 
#define MAX_RELEASE_R10   10000
 3ds Max 10 release id More...
 
#define MAX_RELEASE_R11_ALPHA   10900
 3ds Max 2009 alpha release id More...
 
#define MAX_RELEASE_R11   11000
 3ds Max 2009 release id More...
 
#define MAX_RELEASE_R12_ALPHA   11900
 3ds Max 2010 alpha release id More...
 
#define MAX_RELEASE_R12   12000
 3ds Max 2010 release id More...
 
#define MAX_RELEASE_R13_ALPHA   12900
 3ds Max 2011 alpha release id More...
 
#define MAX_RELEASE_R13   13000
 3ds Max 2011 release id More...
 
#define MAX_RELEASE_R14_ALPHA   13900
 3ds Max R14 (2012) Alpha, Beta release id More...
 
#define MAX_RELEASE_R14   14000
 3ds Max R14 (2012) release id More...
 
#define MAX_RELEASE_R15_ALPHA_MBCS   14800
 3ds Max R15 (2013) pre-Alpha mbcs release id (SimCity main branch, mbcs build) More...
 
#define MAX_RELEASE_R15_ALPHA_UNICODE_MBCS   14850
 3ds Max R15 (2013) pre-Alpha mbcs build / unicode branch release id (SimCity Unicode branch, mbcs build) More...
 
#define MAX_RELEASE_R15_ALPHA_UNICODE_UNICODE   14900
 3ds Max R15 (2013) Alpha, Beta Unicode release id (SimCity Unicode branch, unicode build) More...
 
#define MAX_RELEASE_R15   15000
 3ds Max R15 (2013) release id More...
 
#define MAX_RELEASE_R16_ALPHA   15900
 3ds Max R16 (2014) Alpha release id More...
 
#define MAX_RELEASE_R16_ALPHA2   15901
 3ds Max R16 (2014) Alpha, Beta release id - new asset metadata stream More...
 
#define MAX_RELEASE_R16   16000
 3ds Max R16 (2014) release id More...
 
#define MAX_RELEASE_R17_ALPHA   16900
 3ds Max R17 (2015) Alpha release id More...
 
#define MAX_RELEASE_R17   17000
 3ds Max R17 (2015) release id More...
 
#define MAX_RELEASE_R18_PREVIEW   17900
 3ds Max R18 (2016) Preview release id More...
 
#define MAX_RELEASE_R18   18000
 3ds Max R18 (2016) release id More...
 
#define MAX_RELEASE_R19_PREVIEW   18900
 3ds Max R19 (2017) Preview release id More...
 
#define MAX_RELEASE_R19   19000
 3ds Max R19 (2017) release id More...
 
#define MAX_RELEASE_R20_PREVIEW   19900
 3ds Max R20 (2018) Preview release id More...
 
#define MAX_RELEASE_R20   20000
 3ds Max R20 (2018) release id More...
 
#define MAX_RELEASE_R21_PREVIEW   20900
 3ds Max R21 (2019) Preview release id More...
 
#define MAX_RELEASE_R21_PREVIEW2   20901
 3ds Max R21 (2019) Preview 2 (ShapeObject revisions) More...
 
#define MAX_RELEASE_R21   21000
 3ds Max R21 (2019) release id More...
 
#define MAX_RELEASE_R22_PREVIEW   21900
 3ds Max R22 (2020) Preview release id More...
 
#define MAX_RELEASE_R22   22000
 3ds Max R22 (2020) release id More...
 
#define MAX_RELEASE_R23_PREVIEW   22900
 3ds Max R23 (2021) Preview release id More...
 
#define MAX_RELEASE_R23   23000
 3ds Max R23 (2021) release id More...
 
#define MAX_RELEASE_R24_PREVIEW   23900
 3ds Max R24 (2022) Preview release id More...
 
#define MAX_RELEASE_R24   24000
 3ds Max R24 (2022) release id More...
 
#define MAX_RELEASE_R25_PREVIEW   24900
 3ds Max R25 (2023) Preview release id More...
 
#define MAX_RELEASE_R25   25000
 3ds Max R25 (2023) release id More...
 
#define MAX_RELEASE   MAX_RELEASE_R25
 Identifier of the current 3ds Max release. More...
 
#define MAX_RELEASE_EXTERNAL   MAX_RELEASE
 MAX_RELEASE_EXTERNAL is an alternative for MAX_RELEASE that can be used for UI when the internal version of the product is different from the branded version number. More...
 

Macros for extracting parts of VERSION_3DSMAX

#define GET_MAX_RELEASE(x)   (((x)>>16)&0xffff)
 
#define GET_MAX_API_NUM(x)   (((x)>>8)&0xff)
 
#define GET_MAX_SDK_REV(x)   ((x)&0xff)
 
#define GET_MAX_SDK_NUMREV(x)   ((x)&0xffff)
 

Detailed Description

Macro Definition Documentation

◆ MAX_RELEASE_UNSUPPORTED

#define MAX_RELEASE_UNSUPPORTED   (-1)

Represents an unsupported 3ds Max version.

◆ MAX_RELEASE_R7

#define MAX_RELEASE_R7   7000

3ds Max 7 release ID

◆ MAX_RELEASE_R8_ALPHA

#define MAX_RELEASE_R8_ALPHA   7800

3ds Max 8 alpha release ID

◆ MAX_RELEASE_R8

#define MAX_RELEASE_R8   8000

3ds Max 8 release id

◆ MAX_RELEASE_R9_ALPHA

#define MAX_RELEASE_R9_ALPHA   8900

3ds Max 9 alpha release id

◆ MAX_RELEASE_R9_ALPHA2

#define MAX_RELEASE_R9_ALPHA2   8901

3ds Max 9 alpha 2 release id (file format change)

◆ MAX_RELEASE_R9

#define MAX_RELEASE_R9   9000

3ds Max 9 release id

◆ MAX_RELEASE_R10_ALPHA

#define MAX_RELEASE_R10_ALPHA   9900

3ds Max 10 alpha release id

◆ MAX_RELEASE_R10

#define MAX_RELEASE_R10   10000

3ds Max 10 release id

◆ MAX_RELEASE_R11_ALPHA

#define MAX_RELEASE_R11_ALPHA   10900

3ds Max 2009 alpha release id

◆ MAX_RELEASE_R11

#define MAX_RELEASE_R11   11000

3ds Max 2009 release id

◆ MAX_RELEASE_R12_ALPHA

#define MAX_RELEASE_R12_ALPHA   11900

3ds Max 2010 alpha release id

◆ MAX_RELEASE_R12

#define MAX_RELEASE_R12   12000

3ds Max 2010 release id

◆ MAX_RELEASE_R13_ALPHA

#define MAX_RELEASE_R13_ALPHA   12900

3ds Max 2011 alpha release id

◆ MAX_RELEASE_R13

#define MAX_RELEASE_R13   13000

3ds Max 2011 release id

◆ MAX_RELEASE_R14_ALPHA

#define MAX_RELEASE_R14_ALPHA   13900

3ds Max R14 (2012) Alpha, Beta release id

◆ MAX_RELEASE_R14

#define MAX_RELEASE_R14   14000

3ds Max R14 (2012) release id

◆ MAX_RELEASE_R15_ALPHA_MBCS

#define MAX_RELEASE_R15_ALPHA_MBCS   14800

3ds Max R15 (2013) pre-Alpha mbcs release id (SimCity main branch, mbcs build)

◆ MAX_RELEASE_R15_ALPHA_UNICODE_MBCS

#define MAX_RELEASE_R15_ALPHA_UNICODE_MBCS   14850

3ds Max R15 (2013) pre-Alpha mbcs build / unicode branch release id (SimCity Unicode branch, mbcs build)

◆ MAX_RELEASE_R15_ALPHA_UNICODE_UNICODE

#define MAX_RELEASE_R15_ALPHA_UNICODE_UNICODE   14900

3ds Max R15 (2013) Alpha, Beta Unicode release id (SimCity Unicode branch, unicode build)

◆ MAX_RELEASE_R15

#define MAX_RELEASE_R15   15000

3ds Max R15 (2013) release id

◆ MAX_RELEASE_R16_ALPHA

#define MAX_RELEASE_R16_ALPHA   15900

3ds Max R16 (2014) Alpha release id

◆ MAX_RELEASE_R16_ALPHA2

#define MAX_RELEASE_R16_ALPHA2   15901

3ds Max R16 (2014) Alpha, Beta release id - new asset metadata stream

◆ MAX_RELEASE_R16

#define MAX_RELEASE_R16   16000

3ds Max R16 (2014) release id

◆ MAX_RELEASE_R17_ALPHA

#define MAX_RELEASE_R17_ALPHA   16900

3ds Max R17 (2015) Alpha release id

◆ MAX_RELEASE_R17

#define MAX_RELEASE_R17   17000

3ds Max R17 (2015) release id

◆ MAX_RELEASE_R18_PREVIEW

#define MAX_RELEASE_R18_PREVIEW   17900

3ds Max R18 (2016) Preview release id

◆ MAX_RELEASE_R18

#define MAX_RELEASE_R18   18000

3ds Max R18 (2016) release id

◆ MAX_RELEASE_R19_PREVIEW

#define MAX_RELEASE_R19_PREVIEW   18900

3ds Max R19 (2017) Preview release id

◆ MAX_RELEASE_R19

#define MAX_RELEASE_R19   19000

3ds Max R19 (2017) release id

◆ MAX_RELEASE_R20_PREVIEW

#define MAX_RELEASE_R20_PREVIEW   19900

3ds Max R20 (2018) Preview release id

◆ MAX_RELEASE_R20

#define MAX_RELEASE_R20   20000

3ds Max R20 (2018) release id

◆ MAX_RELEASE_R21_PREVIEW

#define MAX_RELEASE_R21_PREVIEW   20900

3ds Max R21 (2019) Preview release id

◆ MAX_RELEASE_R21_PREVIEW2

#define MAX_RELEASE_R21_PREVIEW2   20901

3ds Max R21 (2019) Preview 2 (ShapeObject revisions)

◆ MAX_RELEASE_R21

#define MAX_RELEASE_R21   21000

3ds Max R21 (2019) release id

◆ MAX_RELEASE_R22_PREVIEW

#define MAX_RELEASE_R22_PREVIEW   21900

3ds Max R22 (2020) Preview release id

◆ MAX_RELEASE_R22

#define MAX_RELEASE_R22   22000

3ds Max R22 (2020) release id

◆ MAX_RELEASE_R23_PREVIEW

#define MAX_RELEASE_R23_PREVIEW   22900

3ds Max R23 (2021) Preview release id

◆ MAX_RELEASE_R23

#define MAX_RELEASE_R23   23000

3ds Max R23 (2021) release id

◆ MAX_RELEASE_R24_PREVIEW

#define MAX_RELEASE_R24_PREVIEW   23900

3ds Max R24 (2022) Preview release id

◆ MAX_RELEASE_R24

#define MAX_RELEASE_R24   24000

3ds Max R24 (2022) release id

◆ MAX_RELEASE_R25_PREVIEW

#define MAX_RELEASE_R25_PREVIEW   24900

3ds Max R25 (2023) Preview release id

◆ MAX_RELEASE_R25

#define MAX_RELEASE_R25   25000

3ds Max R25 (2023) release id

◆ MAX_RELEASE

#define MAX_RELEASE   MAX_RELEASE_R25

Identifier of the current 3ds Max release.

◆ MAX_RELEASE_EXTERNAL

#define MAX_RELEASE_EXTERNAL   MAX_RELEASE

MAX_RELEASE_EXTERNAL is an alternative for MAX_RELEASE that can be used for UI when the internal version of the product is different from the branded version number.

MAX_RELEASE_EXTERNAL is defined in maxversion.h

◆ MAX_API_NUM_R20

#define MAX_API_NUM_R20   4

3ds Max 5 SDK.

◆ MAX_API_NUM_R25

#define MAX_API_NUM_R25   5

3ds Max 5 SDK.

◆ MAX_API_NUM_R30

#define MAX_API_NUM_R30   6

3ds Max 5 SDK.

◆ MAX_API_NUM_R31

#define MAX_API_NUM_R31   7

3ds Max 5 SDK.

◆ MAX_API_NUM_R40

#define MAX_API_NUM_R40   8

3ds Max 5 SDK.

◆ MAX_API_NUM_R42

#define MAX_API_NUM_R42   9

3ds Max 5 SDK.

◆ MAX_API_NUM_R50

#define MAX_API_NUM_R50   11

3ds Max 5 SDK.

◆ MAX_API_NUM_R60_PRE_REL

#define MAX_API_NUM_R60_PRE_REL   12

3ds Max 6 SDK pre-release.

◆ MAX_API_NUM_R60

#define MAX_API_NUM_R60   13

3ds Max 6 SDK.

◆ MAX_API_NUM_R70_PRE_REL

#define MAX_API_NUM_R70_PRE_REL   14

3ds Max 7 SDK pre-release.

◆ MAX_API_NUM_R70

#define MAX_API_NUM_R70   15

3ds Max 7 SDK.

◆ MAX_API_NUM_R80_PRE_REL

#define MAX_API_NUM_R80_PRE_REL   16

3ds Max 8 SDK pre-release.

◆ MAX_API_NUM_R80

#define MAX_API_NUM_R80   17

3ds Max 8 SDK.

◆ MAX_API_NUM_R90_ALPHA

#define MAX_API_NUM_R90_ALPHA   18

3ds Max 7 SDK pre-release.

◆ MAX_API_NUM_R90_BETA1

#define MAX_API_NUM_R90_BETA1   19

3ds Max 9 Beta 1 SDK.

◆ MAX_API_NUM_R90_BETA3

#define MAX_API_NUM_R90_BETA3   20

3ds Max 9 Beta 3 SDK.

◆ MAX_API_NUM_R90

#define MAX_API_NUM_R90   21

3ds Max 9 SDK. SDK incompatible with 3ds Max 8.

◆ MAX_API_NUM_R100_BETA5

#define MAX_API_NUM_R100_BETA5   22

3ds Max 10 Beta 5 SDK.

◆ MAX_API_NUM_R100

#define MAX_API_NUM_R100   23

to 3ds Max 10 SDK. SDK compatible with 3ds Max 9.

◆ MAX_API_NUM_R110_ALPHA

#define MAX_API_NUM_R110_ALPHA   24

3ds Max 2009 Alpha SDK. SDK is incompatible with 3ds Max 10.

◆ MAX_API_NUM_R110

#define MAX_API_NUM_R110   25

3ds Max 2009 SDK. SDK is compatible with 3ds Max 2009 Alpha

◆ MAX_API_NUM_R120_ALPHA2

#define MAX_API_NUM_R120_ALPHA2   26

3ds Max 2010 Alpha 2 SDK. SDK is incompatible with 3ds Max 2009.

◆ MAX_API_NUM_R120_ALPHA3

#define MAX_API_NUM_R120_ALPHA3   27

3ds Max 2010 Alpha 3 SDK. SDK is incompatible with 3ds Max 2010 Alpha 2.

◆ MAX_API_NUM_R120_ALPHA4

#define MAX_API_NUM_R120_ALPHA4   28

3ds Max 2010 Alpha 4 SDK. SDK is incompatible with 3ds Max 2010 Alpha 3.

◆ MAX_API_NUM_R120_BETA1

#define MAX_API_NUM_R120_BETA1   29

3ds Max 2010 Beta 1 SDK. SDK is incompatible with 3ds Max 2010 Alpha 4.

◆ MAX_API_NUM_R120_BETA3

#define MAX_API_NUM_R120_BETA3   30

3ds Max 2010 Beta 3 SDK. SDK is compatible with 3ds Max 2010 Beta 1 (Beta 2 was identical to Beta 1).

◆ MAX_API_NUM_R120_BETA4

#define MAX_API_NUM_R120_BETA4   31

3ds Max 2010 Beta 4 SDK. SDK is compatible with 3ds Max 2010 Beta 3.

◆ MAX_API_NUM_R120_BETA5

#define MAX_API_NUM_R120_BETA5   32

3ds Max 2010 Beta 5 SDK. SDK is compatible with 3ds Max 2010 Beta 4.

◆ MAX_API_NUM_R120

#define MAX_API_NUM_R120   33

3ds Max 2010 SDK. SDK is compatible with 3ds Max 2010 Beta 5.

◆ MAX_API_NUM_R130_BETA1

#define MAX_API_NUM_R130_BETA1   34

3ds Max 2011 Beta 1 SDK. SDK is compatible with 3ds Max 2010 and 3ds Max 2011 Alpha builds except for new APIs.

◆ MAX_API_NUM_R130

#define MAX_API_NUM_R130   35

3ds Max 2011 SDK. SDK is compatible with 3ds Max 2010 and 3ds Max 2011 Alpha and Beta builds except for new APIs.

◆ MAX_API_NUM_R140_ALPHA1

#define MAX_API_NUM_R140_ALPHA1   36

3ds Max R14 Alpha 1 SDK. SDK is incompatible with 3ds Max 2011.

◆ MAX_API_NUM_R140_BETA2

#define MAX_API_NUM_R140_BETA2   37

3ds Max R14 Beta 2 SDK - incompatible with 3ds Max 2012 Beta 1 and earlier.

◆ MAX_API_NUM_R140

#define MAX_API_NUM_R140   38

3ds Max R14 SDK - incompatible with 3ds Max 2011, compatible with 3ds Max 2012 Beta 2 and later.

◆ MAX_API_NUM_R150_ALPHA_MBCS

#define MAX_API_NUM_R150_ALPHA_MBCS   39

3ds Max R15 pre-Alpha mbcs SDK - incompatible with 3ds Max 2012 and 3ds Max 2013 unicode builds

◆ MAX_API_NUM_R150_ALPHA_UNICODE

#define MAX_API_NUM_R150_ALPHA_UNICODE   40

3ds Max R15 pre-Alpha unicode SDK - incompatible with 3ds Max 2012 and 3ds Max 2013 mbcs builds

◆ MAX_API_NUM_R150

#define MAX_API_NUM_R150   MAX_API_NUM_R150_ALPHA_UNICODE

3ds Max R15 SDK - incompatible with 3ds Max 2012, remains the version number set for the pre-Alpha unicode SDK This was decided because it was not incremented at SDK freeze, despite breaking changes.

◆ MAX_API_NUM_R160_ALPHA1

#define MAX_API_NUM_R160_ALPHA1   41

3ds Max R16 Alpha 1 SDK. SDK is compatible with 3ds Max 2013 builds except for new APIs.

◆ MAX_API_NUM_R160

#define MAX_API_NUM_R160   42

3ds Max R16 SDK. SDK is compatible with 3ds Max 2013 builds except for new APIs.

◆ MAX_API_NUM_R170_PREVIEW

#define MAX_API_NUM_R170_PREVIEW   43

3ds Max R17 (2015) Preview SDK; incompatible with 3ds Max R16 (2014).

◆ MAX_API_NUM_R170

#define MAX_API_NUM_R170   44

3ds Max R17 (2015) SDK; incompatible with 3ds Max R16 (2014).

◆ MAX_API_NUM_R180_PREVIEW

#define MAX_API_NUM_R180_PREVIEW   45

3ds Max R18 (2016) Preview SDK; compatible with 3ds Max R17 (2015).

◆ MAX_API_NUM_R180

#define MAX_API_NUM_R180   46

3ds Max R18 (2016) SDK; compatible with 3ds Max R17 (2015).

◆ MAX_API_NUM_R190_PREVIEW

#define MAX_API_NUM_R190_PREVIEW   47

3ds Max R19 (2017) Preview SDK; incompatible with 3ds Max R18 (2016).

◆ MAX_API_NUM_R190

#define MAX_API_NUM_R190   48

3ds Max R19 (2017) SDK; incompatible with 3ds Max R18 (2016).

◆ MAX_API_NUM_R200_PREVIEW

#define MAX_API_NUM_R200_PREVIEW   49

3ds Max R20 (2018) Preview SDK; incompatible with 3ds Max R19 (2017).

◆ MAX_API_NUM_R200

#define MAX_API_NUM_R200   50

3ds Max R20 (2018) SDK; incompatible with 3ds Max R19 (2017).

◆ MAX_API_NUM_R210_PREVIEW

#define MAX_API_NUM_R210_PREVIEW   51

3ds Max R21 (2019) Preview SDK; incompatible with 3ds Max R20 (2018).

◆ MAX_API_NUM_R210

#define MAX_API_NUM_R210   52

3ds Max R21 (2019) Final SDK; incompatible with 3ds Max R20 (2018).

◆ MAX_API_NUM_R220_PREVIEW

#define MAX_API_NUM_R220_PREVIEW   53

3ds Max R22 (2020) Preview SDK; compatible with 3ds Max R21 (2019).

◆ MAX_API_NUM_R220_PREVIEW2

#define MAX_API_NUM_R220_PREVIEW2   54

3ds Max R22 (2020) Preview 2 SDK (upgrade to Visual Studio 2017); incompatible with 3ds Max R21 (2019).

◆ MAX_API_NUM_R220

#define MAX_API_NUM_R220   55

3ds Max R22 (2020) Final SDK; upgrade to Visual Studio 2017; incompatible with 3ds Max R21 (2019).

◆ MAX_API_NUM_R230_PREVIEW

#define MAX_API_NUM_R230_PREVIEW   56

3ds Max R23 (2021) Preview SDK; compatible with 3ds Max R22 (2020).

◆ MAX_API_NUM_R230

#define MAX_API_NUM_R230   57

3ds Max R23 (2021) Final SDK; compatible with 3ds Max R22 (2020).

◆ MAX_API_NUM_R240_PREVIEW

#define MAX_API_NUM_R240_PREVIEW   58

3ds Max R24 (2022) Preview SDK; incompatible with 3ds Max R23 (2021).

◆ MAX_API_NUM_R240_PREVIEW2

#define MAX_API_NUM_R240_PREVIEW2   59

3ds Max R24 (2022) Preview 2 SDK; incompatible with 3ds Max R23 (2021).

◆ MAX_API_NUM_R240

#define MAX_API_NUM_R240   60

3ds Max R24 (2022) Final SDK; incompatible with 3ds Max R23 (2021).

◆ MAX_API_NUM_R250_PREVIEW

#define MAX_API_NUM_R250_PREVIEW   61

3ds Max R25 (2023) Preview SDK; incompatible with 3ds Max R24 (2022).

◆ MAX_API_NUM_R250

#define MAX_API_NUM_R250   62

3ds Max R25 (2023) Final SDK; incompatible with 3ds Max R24 (2022).

◆ MAX_API_NUM

#define MAX_API_NUM   MAX_API_NUM_R250

The 3ds Max SDK current version number.

It is used to verify a plug-in's binary compatibility with a specific version of 3ds Max. It is encoded into VERSION_3DSMAX which is the version number plug-in must return from their implementation of LibVersion(). The GET_MAX_API_NUM macro can be used to extract the SDK version number from a the library version (VERSION_3DSMAX).

◆ MAX_SDK_REV

#define MAX_SDK_REV   0

Denotes the revision of the SDK for a given API.

This is incremented. when the SDK functionality changes in some significant way (for instance a new GetProperty() query response is added), but the headers have not been changed. While in beta, increment Rev for beta build.

◆ VERSION_3DSMAX

#define VERSION_3DSMAX   ((MAX_RELEASE<<16)+(MAX_API_NUM<<8)+MAX_SDK_REV)

This is the value that is required to be returned by a plug-in DLL's implementation of LibVersion().

◆ GET_MAX_RELEASE

#define GET_MAX_RELEASE (   x)    (((x)>>16)&0xffff)

◆ GET_MAX_API_NUM

#define GET_MAX_API_NUM (   x)    (((x)>>8)&0xff)

◆ GET_MAX_SDK_REV

#define GET_MAX_SDK_REV (   x)    ((x)&0xff)

◆ GET_MAX_SDK_NUMREV

#define GET_MAX_SDK_NUMREV (   x)    ((x)&0xffff)

Function Documentation

◆ IsMaxVersionNewerOrSame()

CoreExport bool IsMaxVersionNewerOrSame ( unsigned int  maxRelease,
unsigned int  maxExt 
)

Returns true if the current Max version is newer than maxRelease or the same but an extension equal or newer than the one specified as maxExt is present.

Parameters
maxReleasethe version of max from the Version Macros Version Macros to check against
maxExtthe extension version to check against

◆ GetMaxExtensionVersion()

CoreExport unsigned int GetMaxExtensionVersion ( )

Returns the 3ds Max extension number.

It returns 0 if there's no extension installed.