For anyone who has tried ripping the 3D models from borderlands they will know the problems with getting it to work. I will outline the process I used to successfully get the SMG gun models. The same method works for others but I haven’t put the time in to do it for other models yet. Skip to the bottom to just download them.

The files can be downloaded as a zip here.

  1. Download UModel
  2. Place the the umodel files in your borderlands directory (C:\Program Files (x86)\Steam\SteamApps\common\Borderlands 2)
  3. Run umodel.exe and locate the ‘startup’ folder. Extract that. Close umodel.
  4. Open the file location C:\Program Files (x86)\Steam\SteamApps\common\Borderlands 2\UmodelExport\Startup\SkeletalMesh3 and you will see the gun models there. Of interest, I copied GestaltDef_SMG_GestaltSkeletalMesh.psk to my desktop for fast opening as I went through different software trying how to best work with it.
  5. Download/open Autodesk Maya (if you don’t have it, like I did not, hopefully you can get the student version from their website for free like I did). I used Maya LT 2015.
  6. Download ActorXImporteer for Maya as a plugin. Move the downloaded plugin file into Maya’s directory’s plugin folder.
  7. Open Maya, under Window > Settings/Preferences > Plug-In Manager click browse and locate/select the downloaded plugin file (not the whole folder!). Refresh the plug-in manager and check loaded and auto-load. Close the manager. You may need to restart Maya (I can’t recall). Then go to File > Import… and select the psk file.
  8. Separate the meshes. To do this, click on the item in the outliner. Go to Mesh>Separate in the toolbar. See pictures below for sequence. (Thanks to rayzen88 for letting me know I skipped over this part and providing pictures for reference)
    1. sep1
    2. sep2
    3. sep3
    4. sep4
  9. In Maya you will go to window > outliner to see each individual poly / mesh. There were 2226 polys to sort for the SMG’s. You will see them all overlapped to start.MAYA_open1MAYA_Window-Outliner
  10. Now select all of the polys from the outliner and add them to a new layer (in the display box). This will allow us to sort the parts by layer and toggle visibility as we go.
  11. I also had to go the ‘Show’ menu and select none, and then ‘Show’ > ‘Polygons’ only (if you have two branches in the outliner, both with a list of all the polys then delete one if you need to). This way only the ones in the layer will be visible. Check and uncheck the visibility next to the layer to confirm that this works. Comment below if you have trouble with this. It took some playing with to get working for me since Maya was new to me.
  12. Starting was daunting but what I did was select (arbitrarily) poly 1 from the outliner and added it to a new layer (automatically takes it out of our first layer).
  13. Then I made the first layer (named ‘unidentified’) invisible.
  14. Figuring out that the parts were at least in groups in the outliner, I took the first hundred and added them to the new layer and visually checked to see if they looked like they belonged together.
  15. I continued adding parts until I decided they no longer matched, at which point I would start the next layer.
  16. Eventually I was able to sort them out into their own unique layers as I will share below.Maya_split


A google doc detailing the splitting of the polys can be viewed here. I updated it as I went and will continue adding other guns as I complete them. For now just the SMGs have been uploaded. The current table is posted below.

SMG Poly # Body Barrel Stock Grip Sights Mod
1-177 Bandit
178-254 Tediore
255-369 Bandit
370-408 Dahl
409-446 Maliwan
447-468 Hyperion
469-564 Tediore
565-641 Bandit
642-681 Dahl
682-726 unknown
727-758 melee
759-814 accuracy
815-950 Dahl
951-1032 Hyperion
1033-1192 Maliwan
1193-1521 Tediore
1522-1574 Bandit
1575-1608 Dahl
1609-1642 Hyperion
1643-1656 Maliwan
1657-1690 Bandit
1691-1740 Dahl
1741-1771 Hyperion
1772-1775 Maliwan
1776-1784 Tediore
1785-1832 Tediore
1833-1874 Dahl
1875-1938 Hyperion
1939-1962 Maliwan
1963-2041 Tediore
2042-2082 Bandit
2083-2218 E-Tech
2219-2226 Knife

I haven’t quite figured out how to export high quality STL files. I would like to print them on my 3D printer but Repetier Host is telling me they aren’t watertight. And this may just be because they were meant for animation where the rules for edge contacts is different for printing. If anyone knows how to fix this or turn the files into solids that I can edit in Inventor, please let me know!

SMG Maliwan Repetier Error SMG Maliwan Repetier


The files can be downloaded as a zip here.

Filed under: featured, Projects


  1. Peanut:
    I've managed to separate the mesh in blender but they don't come out in the same order as Maya so it's very hard to separate the pieces
  2. parttimegamer:
    Thanks for this! What about the diffuse and normal map? I can see a combine image in the startup folder, Weap_LauncherShotgunPistol_Comp.tga and Weap_Pistols_Nrm.tga...I ca see some combined info in channels but not really able to progress. Any idea?
  3. Nikolai:
    For those who cannot find the 'startup' folder - it's actually startup.upk, located in Borderlands 2/WillowGame/CookedPCConsole. Extract this with Umodel and you should be good to go.
  4. Evan Benson:
    i also can not find the startup folder
  5. Maruktika:
    Where did you find the startup folder? I've been able to find character models, but nothing relating to weapons.
  6. BanjoFox:
    NetFabb has a pretty decent set of repair scripts that will patch holes and prep models for printing. I can run these through and see what happens. Will let you know.
Lucina / Chrom Sword (Fire Emblem)


About this site:

This is my personal webpage where I store documents and document projects and project ideas, maybe there is an idea for a store :)

I sometimes block all emails, messages, and comments from this site depending on how well the spam shields are holding. The most assured way of contacting me is through my youtube channel, my instructables account, or my thingiverse profile (probably in that order).

Calculating sub-orbital trajectories...