Post tutorial RSS TUTORIAL: How to make 'Propper' work for CSGO using CSS

I always had trouble with Propper and csgo, i never got around to getting it to work properly, but now i managed to find a workaround using Counter-strike: Source Its pretty easy.

Posted by on - Basic Mapping/Technical

In this tutorial, i will show you How to make a static model using 'Propper', and how to use 'Propper' for CSGO.
What you need:

  • ⦁ *Counter-strike: source*
    ⦁ *Source SDK* (you just do, idk why exactly)
    ⦁ *Counter-strike:global offensive + SDK*
    ⦁ *HxD tool* -
    ⦁ *VtfEdit* -
    ⦁ *GCFSCAPE* -
  • Latest version of 'Propper' : (If this one doesn't work, download the previous .31 version)
    In this tutorial, i will explain how to Compile your brush work into static models, and how to make it work in csgo.
    Remember, i assume you ain't a potato, and know a bit of the program hammer editor. So please read carefully so you don't miss anything important! And don't be lazy...

DISCLAIMER: Games like Counter-strike:source, Half-life 2, and all similiar games from that era, will let you swiftly compile using propper with no problems at all. Only games such as CSGO and portal 2 and newer games require some workarounds. And because of this, you WILL NEED Counter-strike: Source or similiar (such as tf2, but i don't know if that'll work or not) For use in the compiling process. If you do not use CS:S or Hl2, or similiar, your model WILL fail to compile! And might otherwise not work in said game.

If you are having trouble and/or you couldn't really understand what i wrote, comment about it below and i shall try and correct any mistakes! My English is not a 100% unfortunately.

A quick guide to installation and setup of Propper:

*download the latest version*Copy and paste the contents into your Counter-strike:source/bin folder (Where hammer editor is located. And do the same for CSGO. (Counter-strike:global offensive/bin). Propper only has two files, a .exe and .fgd file!

Open Hammer under the game with which you will use Propper (In our case both), and click Tools:Options.
Find the section for "Game Data Files", and click the "Add" button. (Game config should be under Counter-strike: Source) Open propper.fgd when prompted (It will be right there if you installed correctly). Then Click OK or Apply to save the settings. Finally, restart Hammer so the settings take effect.
Once you have restarted hammer, only open CSS's hammer editor for now, you can close CSGO's hammer editor for now.
You'll want to open a new map, and press F9 on your keyboard. Click on the 'EXPERT' button on the lower left. Click on: Edit > New And name it "Propper" without quotes. Next you wanna click 'New', A check box will appear, check it and click on 'Cmds' on the right next to 'command' and select 'executable'. And the navigate to propper.exe in your CSS/bin folder.
In the 'parameters' field, paste this code: -game $gamedir $path\$file
Next select the 'wait for keypress when done compiling' checkbox. Congrats, you have succesfully installed propper for CSS. Now you can go do the same with CSGO.

Getting the textures

You will need to use GCFscape to export CSGO's textures.

step1. go to your counter-strike:global offensive folder (C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo)

step2. Look for a file named "pak01_dir" and open it using GCFscape. Go into the 'materials' folder and select all the folders you see, Select all the folders and extract them by right clicking on a folder. Extract them to your: ('C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials' folder) This step may take a minute!

Once done, follow the steps below.

Follow these next steps carefully, this section will teach you in steps how to make a static prop with propper:


step 1. Open hammer editor (counter strike source's hammer editor is located in its /bin folder, you should open that one.)


Step 2. You now want to make a new map and build a skybox, and make a brush, the brush we'll convert it to a model next. I opened a test map, i deleted the model for the purpose of getting this to work. (Note, the material used on the Brush is also present in css and csgo, for this tutorial, use the "milbeams002" texture for this. As csgo and css both have it.)


step 4. Make sure your burshwork is configured correctly, and is a 'propper_model' entity (Press control+T to make an entity out of the brush) with the correct material path (aka your model name - woodfence_001b is my model name) I also recommend you choose a surface property, and give your entity a actual name, mine is "whyunotwork", to make the prop have pshy meshes, you want to click on the "Physics mesh" tab, and select this very entity, in our case this entity is named "whyunotwork".


Step 5. compile by pressing f9 and going to the expert tab, select "propper". Make sure you setup everything. And start compiling.


If in the end your compile log is correct (Like the one above, your model has compiled sucessfully)


Step 6. i reloaded my hammer editor program, and loaded my map and my new model from the model viewer as a prop_static (I assume you know how to spawn props, right?) If it works and appears correctly in css hammer editor you sucessfully got it to work in CS:source. (If your model is all black, you used a CSGO texture or custom texture in CSS hammer, More on this in the future, if you wanna accompany me, use 'milbeams002' texture on your brush, and compile again, your compile log should now look like mine as showed in step 5 ). And if the compiling went smooth, you should be able to create a prop_static with the model in css hammer textured and everything.


Step 7. Now we want the model to work in CSGO. Navigate to the compiled model's path, and copy your compiled model from the cs:s model folder. (/cstrike/models/props/ is where your model should be if you copied me exactly)


Step 8. Paste your model and files into your CSGO models folder (Path must be the same csgo/models/props ) just like in the image.


step 9. Next, copy the model material folder (woodfence_001b in my case) from cstrike/materials/model/props (This step is important!)


Step 10. And paste the folder in /csgo/materials/models/props (do not use another extra folder, for me that didn't work, so just dump it in /props folder, if it doesnt exist, make one)


Step 11. Check your model in model viewer via csgo sdk. Navigate to your model. Or open it in csgo's hammer editor.


Step 12. Because i used the same material texture that is present in both csgo and CSS (Milbeams002) after restarting hammer, the model will now also work in csgo's hammer editor and ingame just like in css.


Step 13. This step and onward is for if you use CSGO textures for your model, that are not present in css. I now navigate to the csgo texture i want to use (The texture is only available in csgo, 'milbeams003' doesn't exist in CSS) And so i Copy and Pasted the texture (.vtf files) and (.vmt files) to Cstrike/materials/wood/ folder. It should now appear in Hammer editor texture browser once you restart css hammer. (If it doesn't you copied it to the wrong folder)



step 14. Make sure the .vmt is a vertexlitgeneric, (Lightmappedgeneric is not for models!) and make sure the paths are okay. (the texture location should be the same as the path's in the .vmt!!! So if it says "materials/concrete/concretetexture001" for example, you would put the actual texture and .vmt in materials/concrete/ folder! not materials/wood/.


Step 15. Now, we don't need to copy the textures to csgo, because it already has it. I open CSS's hammer again, Apply the recently added 'Milbeams003 texture' to my brush i want to be a model, rename the model to 001c (so you dont loose the previous one) And i repeat the first 12 steps. Compile and copy the contents to csgo folders.


step 16. After compiling, copy the models AND materials from CSS to csgo just like before compiling with the csgo texture.



Step 17. I open model viewer (csgo) again, and load the new model with the csgo texture (001c) and the model has no texture. This is because you (me) probably forgot to copy the actual model texture generated from compiling the model to your csgo folder. Return to step 9 and 10 to fix this.


Step 18. Because CSS uses a older .vtf version (CSGO uses 7.4 to 7,5, while css uses 7.0 to 7.4)
So, if you copied the CSGO textures (In our case milbeams003) to CSS, and try to open it with vtf edit, you will notice that the texture version we copied from csgo is 7.5, making it so it will not show properly in CSS, and because of this the Brush doesn't get compiled correctly into a model! And will show black in css and csgo.




Step 19. What you want to do to fix this, is change the 7.5 csgo texture to 7.4, so it'll work in both games. What you will need to do is watch this video And download the HxD program. And change the "05" to "04" just like in the image above, the number is marked red. Make sure to carefully listen to the guy in the video.


step 20. Once you have done that, save the changes in HxD, your milbeams003 texture, in CSS materials folder (The csgo texture we copy and pasted from CSGO to CSS, should have been placed in "C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Source\cstrike\materials\wood" incase you forgot) should now be version 7.4, instead of 7.5. And should work in CS:S hammer editor once you restart hammer.

step 21. Now all you gotta do is compile the brush with your newly added csgo texture in CS:S's Hammer editor and follow the steps: Step 1 trough 12 again just like before. And it should work perfectly in CSGO with the csgo textures as well as in CSS!

Propper is known to have some bugs, and sometimes it just doesn't work at all for some unknown reason, down below are some known issues and how to fix them incase you stubble on them.

⦁ Can't load c:\program files (x86)\steam\steamapps\xxxxxxxxxxxx\sourcesdk\bin\orangebox\bin\filesystem_steam.dll.--VFileSystem017

This error is usually caused by using an outdated version of propper on a new or old game engine, or vise versa.

⦁ Model doesn't compile! compile log simply runs commands and says "Finished!"

This bug is caused by using propper on non supported games, like csgo (Thus the reason we used cs:s's hammer editor to compile our model)

⦁ If you run the tool on a map with no brushes (displacements don't count), Propper will crash. Thus, if making a model solely from displacements, place a normal (non-displacement) brush somewhere in the vmf file.

This is an obscure bug from vbsp and they haven't managed to track it down yet

⦁ Error opening d:\program files\steam\steamapps\blah\mymap .vmf: File d:\program files\steam\steamapps\blah\mymap .vmf, line 1: Invalid argument.

This happens when you have a line break or other white space in the parameters box of Hammer. Don't copy-paste the parameters in there. Type it in.

A few known bugs below:
⦁ An instance was found where textures were being applied incorrectly and to the wrong faces.
⦁ If materials are used that are in the root materials\ folder, Propper will try and convert the material for every face on which it appears.
⦁ The 2007/2009 versions no longer create folders when saving source (smd and qc) files.
⦁ When propper_model x,y,z is set it will reset to center point when model is move and/or saved then reopened. Note: using spaces between x y z(0 0 0) will save.
⦁ When multiple models are made from one file the first and last model will have their textures but in-between models will have no textures.
⦁ Propper sometimes may not run because of what you have in /custom folder. Try clearing it if you have this issue.
For more known issues aswell as some fixes, please read this page carefully:
NOTE: Some things are OUTDATED on the ValveDevWiki !!!

Usefull links: Tools for source engine. Everything about the source engine (Most things are a bit outdated on info)

Thanks for reading and happy mapping! Hope it wasn't too hard folks!

P.S could an admin put this tutorial where its supposed to be found at if this post is worthy of a tutorial? :) First time posting a Tut.

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.