All you wanted to know about viewing your items with Dota engine

With this blog I wanted to compile the stuff about the Dota 2 workshop that’s useful, tricky or not really known. In a bunch of posts you’ll see compiled guides on how you can extract, compile, preview and test your(and not only) items in-game and in the model viewer. We’re kinda forced to use this methods before proper SDK is implemented, but guys at Valve work hard to smooth out the workshop experience as much as they can.

So today we’re going to discuss ways to test your items ingame

Right now there are three four way to test out your items with Dota 2 engine. First and the earliest method is to compile them manually and view through the model viewer. Alien Swarm SDK is the main tool for this, mainly because it supports most of the Dota 2 shaders (unlike the CS:GO SDK), with the exception of the metalness mask. I recommend it, if you want a closer look on your items, because it’s free and brings the closest to Dota look possible via model viewer.

Wyk’s blog has great guide on it, and Cyborgmatt wrote up a nice guide on setting up your model viewer

In short, you’ll need GCFscape to extract Dota 2 resources, StudioCompiler to decompile original models (and you’ll get .qc file so you can just quickly fix it, instead of writing you own).


.qc file


As you can see, there’s not much difference, and for the viewing sake you’ll just need to change some paths.

After you’re done with your model, you’ll compile it with GUI Studio MDL. Also, you’ll need VTFedit to be able to open/import/extract .vtf files.  After moving compiled files to your SDK folder and if your .qc file was done right you’ll see everything in the model viewer!

Model Viewer

While this path require a lot of work and understanding it’ll allow you to preview any model in the viewer, and though there are some bugs with it is still is the best way to preview your items with proper lighting and wraps until the proper SDK is released.

note: you will HAVE to do this method in order to test ward and courier, even if you want to see them ingame. Want to know why? Read on!



Second way we got, is to use the ingame compiler, which is very easy to use, but also sort of limiting you to the fixed camera and set animations.

Publish menu

Note: It’s recommended to resize your textures manually, at least to 512 on the big side. This way your archive will be smaller, and you’ll fill out your quota for workshop items (yes, there is maximum amount of stuff you can put into the workshop, i learned this the hard way :D) slower. Also, by resizing your stuff yourself you won’t be in mercy of the dota resizing and smudging your texture.

While devs are working hard to bring more features to it, like the portrait view and maybe some camera control, right now it’s the easiest and truest method for testing your items, with the set camera angles for your standard profile and Dota view.

Also, this method is really messy, right now Dota doesn’t delete anything, and if you’re a doing bunch of test, you’ll fill out your HDD quick. Just delete everything in ..\Steam\SteamApps\common\dota 2 beta\content and you’ll be fine.


Note for the .qc wizards: Don’t try to smuggle custom vmt’s (because items use hero material), particles and jigglebones, because Dota 2 doesn’t uses jigglebones and every item is tested by devs anyway. Just for the particle requirements and cloth simulation instructions.

And last, but not least is the method of putting your models truly ingame, by replacing original items with your custom items.

Folks at polycount did a neat job and put a nice guide on how to do this. Props go to Tvidotto, lancemaker and D4V1DC.

Note that this method will require you to compile your models, extract game files, replace original files with yours (I suggest using Dota Test for this, so you won’t get VAC banned or anything like that), and keep note that your hero has to have items in the slots you’re replacing (this means thatmisc items won’t be tested). I’ll put in here with little comments, just in case.

You should it all on Dota 2 test.
1. In the Dota 2 beta folder, extract all folders to the Dota 2 test folder. Unpack all the files, using CGFScape just like in the first method, open pak01_dir.vpk to extract all. After this you must rename all the .vpk files (there is an easy way using the command prompt, but you can do it manually). Rename them something like .vpk0 so the game won’t register it.

2. Compile your items in Dota 2 test
When importing your custom pieces post them as the default names (check those first). Like beastmaster_arms, beastmaster_head or beastmaster_weapon. Compile your item using the default names.
When you extract the files from the compiled archives they’ll be already renamed to the default name (which you put in when importing). What you do with the defaults is put them in a folder and/or move them somewhere outside of the dota 2 test dir or just delete them, so you can replace them with your compiled files.

3: Find the geometry folder as the example:
“..\Steam\steamapps\common\dota 2 test\dota\models\items\yourhero\crazynumber\your item”
now copy (its very important that you copy and don’t erase these files) the content and paste here:
..\Steam\steamapps\common\dota 2 test\dota\models\heroes\yourhero (example: “beastmaster/(your files go into this dir”) not deleting those files you’ll have 2 copies in different directories, don’t worry, it works like this.

If you skipped Step 2, rename the default files so u can use the respective slot with your own geometry, rename your authored files to the default ones and you are set.
After this you will see all your geometry loaded in-game on all possible views including loadout. (check the loadout if something is wrong here you did something wrong, redo till you get it right.)

This is the trickiest method, but combined with the camera hacks can give you the best presentation out there.



As you can see, this method combines a bit of your first method and uses importer from the second method. This way you can even test your wards and couriers, just by following steps from the first method and putting everything in the Dota 2 test.

While some of this is confusing as hell, devs are working hard to bring you more ways of presentation, like the portrait view, courier importing or custom camera angles, so worry not, one day it’ll be much easier.

UPDATE! As of 18.01.2013 there are lots of new ways of importing, including wards, couriers and additional wearables. Check out this post to find out more!


You can leave your feedback and suggestion on what workshop functionality you want to see on dev forums. They are reading it.


  • Thiago Vidotto

    nice post Vlad, its great that you are helping the community =]