Testing Source 2 VMDL Export

Started by wallworm, December 27, 2023, 12:19:59 AM

Previous topic - Next topic


The next release of WW will have support for the Counter-Strike 2 version of Source 2; HL:Alyx and Dota 2 are not supported. In this release, Wall Worm can export models from WWMT Helpers as well as their materials and textures.

This thread will detail the current capabilities and known issues.

If you want to test these tools before they are officially released, simply contact me directly for an installer.

With this first release of Source 2 support, Wall Worm will only have limited support of the features that work for Source/Goldsource. At this time, the capabilities are limited to models and their materials and textures. Level exporting has been started but does not work yet. There are no importers and the MDL loader is not yet working for Source 2.

Setting Up WW

To properly set up WW for Source 2 you will have to manually configure your global WW Settings for Source 2. There is no GameConfig.txt file that WW can use to configure your settings. You will also need to install the CS2 Workshop tools from the DLC. You can do this in your Steam library by right-clicking CS2, clicking properties, then going to the DLC section.


You need to set the modelsrc, materialsrc and mapsrc paths to the models, materials and maps folder in your CS2 content addons folders.

Set the GameInfo folder. The default is:

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo
Then set the Bin Dir to the Bin folder for the compile tools. By default that is:

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\bin\win64
For the FGD settings, you need to manually point WW to the FGD file. by default that is:

C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\csgo.fgd
Finally, set the Engine to Source 2.


Exporting Assets

The workflow for assets is very similar to Source but there are a few differences.

#1) Only use the PBR Material (Metal/Rough) (PBRMetalRough()) on your models. You can use them with Multi/Sub-Object Materials. This material maps extremely well to the Source 2 materials.

#2) Not every feature of WWMT yet works in the export.

The features that will work:
  • Meshes
  • Hulls
  • LODS**
  • Bodygroups
  • Sequences
  • Multiple Skins
  • Attachments
  • PropData
  • Custom Gibs
  • Materials***

** LOD Material Replacements not yet supported.
*** You should set the texture names to .tga and the Material names to use .vmat.

When you export the models with custom materials, the materials will continue to appear red in the modeldoc tools in Source 2. I don't know why yet, so at this time you have to open the model after compile and select materials in the modeldoc and double-click them--they will open in the material editor and suddenly work. Click the Save All button in the material editor to keep the textures working.


Wall Worm now supports the CS2 FGD for entities. It will honor the new @exclude command as well as the @OverrideEntity and delete_keys command.

VMap Exporter

The Level Exporter now has limited VMap export. At this time, entities should export as expected. However, displacements and world meshes are not yet exported correctly and will crash Hammer if you try to load a VMAP exported from Wall Worm with anything other than entities.

That is it as of now. Please share feedback as you test it.


Things to note:

The process of exporting a WWMT Helper to a model is the same as it was for Source. This means that the tutorials/docs are generally the same:

  • Assign Meshes to WWMT
  • Export the Materials/VTF with the Export VTF button in WWMT
  • If using custom gibs, compile them from the Prop Data & Custom Gibs rollout
  • Export the WWMT

Key differences:
  • WWMT uses the PBRMetalRough() material for Source 2 instead of the Standard Material
  • Some advanced settings like $jigglebones, IKs, QC Eyes, etc are not yet exported

SMF spam blocked by CleanTalk