Many people probably have the idea of using custom models into the map but having a hard time with importing models into the engine, importing animation for the models, importing texture for the model, creating up your hero without cosmetic problem, and especially, doing this with .mdx format which is originally from Warcraft 3 since many people seems to want to port maps from warcraft 3 to source 2. Here is the tutorial on how to do so.

This tutorial will mainly focus on importing .mdx to source 2 engine for hero's use. But the steps are also usable with other models, units, and extensions as well if it has base model and animation ready. If you have any suggestion, question or improvement to this tutorial, do not hesitate send me a message or leave a comment.

Credits:

- Dun1007, on importing mdx to source 2
- Tailer007, for the model in this example (not sure who was the original modeler)
- BMD, for his timers' file

Required materials:

- Dota 2
- Dota 2 Workshop Tools Alpha
- 3ds max
- timers.lua, can be found here
- model, in this example, I will use Asuna from SAO in this link. Click here
- impexpmdx_v2.0.4.ms, this is only required for .mdx format
- Warcraft 3 Model editor, this is only required for .mdx format, can get via this link
- GCFScape, for opening the vpk file

Table of Contents

Step 1: Preparation for mdx format
Step 2: 3ds max importing and exporting
Step 3: Getting the textures
Step 4: Setting up for Source 2 Model Editor
Step 5: Setting up material
Step 6: Setting up the base model
Step 7: Importing Animation
Step 8: Attachment Points
Step 9: Different approaches on Scripting and its pros and cons
Step 10-1A: Space Optimization Part one: Preparing KV Files
Step 10-1B: Space Optimization Part two: Lua scripting
Step 10-2: Performance-based

Note: You don't need to go beyond step 8 if your model will not be used as a hero.</h></p>