Posted By James Haywood

There are three key components to getting .Net 4.0 working inside of Max 2011...

  1. Recompile the mxsdotNet.dlx file using Visual Studio 2010.
  2. Modify the 3dsMax.exe.config file.
  3. Install the Visual C++ 2010 components.

I'll describe each in detail below, but first I should mention that this is not officially supported by Autodesk.  So if you run into trouble because of it, you're on your own.  Kind of like hacking your video card to make it run faster.

I've been running Max 2011 with .Net 4.0 WPF tools running within it for a couple months now without any noticable issues.  But I can't gaurantee that this will be the case for everyone.  And I've only been using the 64-bit version, although I can't think of why this wouldn't work with the 32-bit version as well.  As for versions of Max before 2011, I have no idea if this will work or not.

So, on to the instructions...

1. Recompiling the mxsdotNet plugin is pretty straighforward.  Just install the SDK, open the ...\samples\maxscript\mxsdotNet\mxsdotNet.sln file and compile.  If you don't have Visual Studio 2010, you can download the already recompiled 64-bit version below.

2. Open the ...\Autodesk\3ds Max 2011\3dsmax.exe.config file in a text editor and add the following lines right before the closing </configuration> tag...

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

3.  Lastly, if you haven't already installed Visual Studio 2010, you'll need to manually install the Visual C++ 2010 components.  But if you have, then these should be installed for you already.  You can download the installers here...


And that's it.  Once you've got all the necessary files modified correctly, you'll be able to load and use .Net 4.0 assemblies directly in Max.  The DataGridView control alone is worth the effort.

Download 64-bit .Net plugin and config file here.

9 Comment(s):
thuan said...
cho me load this software.
March 1, 2012 10:01 PM
Alejandro said...
What the hell happened to line breaks? Is it possible for me to fix my previous post? it looks like spam...
November 2, 2011 1:07 AM
Alejandro said...
Oh my... Hi James, if isn't too much trouble, I have some questions. I would like to see the whole picture! Basically, what's achievable with all this MaxScript + .NET matter? Yeah, I know, too big of a question... 1. I have been lately using MAXScript for things like renaming objects, changing materials, cleaning up after RawLighting bakes, etc... mostly string manipulation that actually MaxScript does handle very well, but, does this means I could do the same in a WPF window? like having a TreeView of all the objects name (as textboxes) with it's current material name and change them with a single click, or autochange them all with a clever function triggered by a WPF button? How do you handle strings from max (or better arrays of strings) back and forth between .NET and MXS? (I would like to send all the string objects, manipulate them and then send back to maxscript only those that have changed). 2. (Related to 1) Suppose I have a .NET Library that has a super cool noise function, is it possible for me to send the array of vertices of the geometry, manipulate them inside .NET and then spit back the results? The thing is (and excuse me, I do feel shortsighted) there is incompatibility between the data types of MXS and NET right?. For example (can I do this to begin with???), I would need to manually send each vertex position (and every other required data: normals, uv, etc) to .NET, like for example, I make a Vector3 inside .NET, then inside MXS each mesh's vertex position has to be translated to the NET Vector3 class to finally send it (or an Array of Vector3 for that matter). If the above can be done (directly or copying and sending compatible data types) isn't all that bad either, having access to geometry data inside .NET is a powerfull thing, just manipulating the UV using DX's (via SlimDX) UVAtlas would be awesome! 3. (Crazyness caused by the hype) Can I launch anything besides a WPF windows? Something like an XNA app? That could receive (or read?) geometry data, render it and save to a file? That would give access to awesome realtime render engines for cool quality scene previews... (that comes with it's own set of problems, i.e there is the matter of modifiers and animated vertex to deal, like sending the collapsed geometry each frame is what would be needed... slow as hell). Ok I already got stuck by sending and receiving geometry data, see? I have a bandana covering my eyes... Any ideas of what can be done with MXS + .NET? something more straightforward, couple of them to get the brain started... In the mean time, time to play with this. Thanks a lot man! PS: Sorry, this post isn't quite related to the .NET 4.0 hack...
November 2, 2011 1:04 AM
Alex Kramer said...
Thanks. it also works in max 2009.
May 19, 2011 3:19 PM
loocas said...
Hi there, James, first off, thanks a LOT for all your tips, tricks and scripts! As for this particular mod, unfortunately, I'm getting a ton of errors on .NET controls in Max, incl. the CAT capture anim dialog, ListView wrapper scripts etc... And Max seems to run a whole lot slower too. I'm on Max 2011 x64, Windows 7 Pro x64. Cheers, loocas
February 21, 2011 5:41 PM
PP said...
This is neat. Max seems to sue about 250MB more RAM in my test scene tho (without actually loading a single assembly). Have you noticed this too?
February 17, 2011 9:25 AM
LoneRobot said...
Hi James, I can clarify that the recompiled mxsdonet works with a .net 4.0 compiled assembly in max 2010 64bit. cheers, Pete
September 7, 2010 3:20 PM
DeKo said...
Amazing. Thanks for tips...
August 24, 2010 4:32 AM
48design said...
Cool idea! Any comments on speed improvements or something? :o)
August 24, 2010 1:30 AM
Leave a Comment:
Name: * Email: *
Home Page URL:
Comment: *
   char left.

Enter the text shown in the image on the left: *
 Remember Me?
* fields are requried


User Profile
James Haywood
Seattle, WA


You have 545297 hits.