64 ratings
Creating a map for Garry's Mod (Currently being re-written)
By Originope
This guide will teach you how to create maps for Garry's Mod using Hammer, the official Source engine map editor! (CURRENTLY BEING RE-WRITTEN!)
This guide is in the process of being re-written to document the new process of starting and using Hammer after the SteamPipe update to all Source Engine games.
1. Introduction and Setting up the SDK
---If you are ever get stuck, or need better help, the official Valve Developer Wiki will help you out: https://developer.valvesoftware.com/wiki/Getting_Started ---

Welcome! This guide will show you how to make your very own maps for Garry's Mod and... Well, just about any Source engine game there is! YOU WILL REQUIRE THE SOURCE SDK TO PERFORM THE ACTIONS IN THIS GUIDE!!!! It can be downloaded through the "Tools" section of your Steam games library by clicking on the drop-down list that says "All Games" or "Downloads", then clicking "Tools".

You will need to have purchased at least 1 Valve-made Source engine game to be able to download the SDK. Either Half-Life 2 or Half-Life 2: Episode One are recommended, because of Episode One's cheap price and small download size.

Once you have downloaded the SDK, open it from the Downloads part of your library, or through the Tools part. Once it is open, you should see two lists at the bottom. One for the version of Source you want to use (Half-Life 2 is likely to be in "Source Engine 2009"), and another one for what game you are modding for. Only the Source engine games on your Steam account will appear on the list (Excluding Garry's Mod, as it's not (Entirely) made by Valve!)

I recommend that you use the 2009 engine, and use Half-Life 2 as the game while mapping for Garry's Mod, but I used Episode One during this tutorial.

Start up Hammer by double-clicking on it's label in the SDK menu:
See the next section...
2a. Making a square room (Part 1 of 2)
---REMEMBER: If you need help with anything this section explains: https://developer.valvesoftware.com/wiki/Your_First_Map ---
In this section, we are going to create a simple, square room in Hammer.

First, we will want a floor for our room. To create floors, walls, ceilings, roofs, fences, just about anything in Hammer, we need to create what's called a "brush". This is what maps in the Source engine are mostly made from. To make the floor, first, click on the white cube icon on the left side of the screen, then in the viewport in the top right-hand corner, drag the mouse inside it to create a small square. Adjust it to where both of the number amounts on it say 384.0, then press enter. (Sometimes referred to as return) Put the mouse cursor inside the viewport in the top left-hand corner, then move the camera around to get a look at your new brush. (W A S D keys to move, arrow keys to look around. The camera is usually inside the brush. Move up, then look down to see your brush.) This is what the brush will look like after the next few steps:
%3$sClick image to enlarge.

The brush should look like it is a square made out of dirt. We will now change it's texture to use the developer textures. At the far right of the screen, there is a square image showing what texture is being used right now. Click on the button next to it saying "Browse...". There should now be a screen containing a list of available brush textures. In the bottom left-hand corner, there are two text boxes saying "Filter:" and "Keywords:". Click on the "Filter:" text box and type in "dev", without the quote marks. The list should be updated with only the developer textures shown. Double-click on the texture marked in red, as seen in the image:
%3$sThe texture list will now close. In the 3D viewport on the top left-hand corner of the screen, click once on the brush, then click on the button on the far left of the screen that it's icon is a small cube made out of bricks. There are similar-looking buttons above and below it that have: colored bricks and one with a red target on the cube. THOSE ARE NOT THE BUTTONS WE WANT TO CLICK. The one we want to click is in between both of them. The one with the red target will be explained later onward in another guide. Once you have clicked the button with the brick cube, it then applies the new texture to the brush! The brush should now look like what it does in the image at the top of this section.

We now want to create the walls for the room. In the viewport in the top right-hand corner, create a brush one grid square wide, but six grid squares long. Or else, the number above the brush should say 64.0, and the number beside it should say 384.0:%3$s
Again, press enter to create the brush, but now we need to move it to make it look taller. First, click the button at the top on the left of the screen. it's icon should be a red arrow. Then, go to the viewport in the bottom right-hand corner, click in the middle of the brush we just made, then drag it up one grid square so it looks like this:
%3$sNow might be a good time to retexture the wall to be orange, not grey. Repeat the texture changing process on the wall, but this time select the orange texture on the left to the grey one in the list.

Congratulations. You have just created a floor and a wall, but it now needs a ceiling and three more walls. Now, we will clone the wall we made onto the other side of the floor brush by doing the following: in the viewport in the top right-hand corner, use the selection tool, (The red arrow button) then click on the wall brush, but now while holding down the shift key, we drag the wall brush to the other end of the floor. After that, this is what it should look like now:
Now, we repeat this, but we move it and resize it, (With the selection tool, the white squares around the brush lets you resize it, clicking inside the brush lets you toggle between resizing it, rotating it, and a third option which I do not know what it does.) then we clone it again, to make it look like this:
Finally, you should clone your floor brush to make the clone your room's ceiling.

See the next section...
2b. Making a square room (Part 2 of 2)
In this section, we will add a spawn point for players to begin in, and some lights to light up your room.

First, we need to add a spawn point for the player. To do this, we must click on the entity tool button. (The light globe icon on the left side of the screen, right above the block tool) Then, in the bottom right-hand corner, there should be two lists. One saying Entities and the other saying info_player_start . If it says info_player_start, it means the entity we will place when we click will be a player spawn point. Move the 3D camera in the top left-hand corner's viewport into your room, then click anywhere on the floor. (Make sure its a little bit away from the walls, though!) You have just placed your first entity! Congratulations. The level is now technically playable, but we should first add in at least one light. If there are no lights in a map, the whole map is lit, by default. First, click on the arrow next to the info_player_start text. Search the list for "light", without the quotes. When you find it, just click on the one that only says just "light". You can now place the lights by clicking on the ceiling. You MUST place entities via the 3D viewport. Once they have been placed, you can use the selection tool to move and clone the lights via the top-down viewport in the top right-hand corner.

Congratulations!! You have now finished your map! You can click on "File" then "Run Map" to compile and play your map in the game you have selected in the SDK menu! The actual map file (.bsp) that the Source engine games open then gets compiled to two locations: first to the directory to where the map's .vmf file (The file Hammer opens and saves) is saved, and second to the maps folder inside the program files for the configured game. You can copy the .bsp file into the folder Garry's Mod opens it's maps from, (Either C:\Program Files (x86)\Steam\steamapps\(Your Steam name here)\garrysmod\garrysmod\maps^ or C:\Program Files\Steam\steamapps\Your Steam name here\garrysmod\garrysmod\maps^) so you can play the map you just made in the game!

Click here to download the finished result, with a couple of extra lights and spawn points added![dl.dropboxusercontent.com]

NOTE: I previously stated that the file extenstion for the map files that Hammer opens was .vmT, not .vmF. I apoligize for this.
3. Publishing to Workshop and Conclusion
In this section, I will teach you how to upload any map you make (Preferably NOT the one we just made) to the Steam Workshop for others to download!

First, before you even begin to think about uploading your map to the Workshop, there are a few things to consider...

1. Are you the creator of the map? If you are NOT it's creator, you must have permission from the map's actual creator before uploading it for them! There are unconfirmed rumors that the player who uploaded the most popular Garry's Mod map of them all, gm_bigcity, stole the map from it's true creator, who is currently unknown...

2. Does the map have any errors in it? A good way to figure out if there are any errors in the map are by simply playing it. You can look around it to see if there are any building design flaws, any bugs in props or lights, if the 3D skybox is broken, etc.

3. Are people going to like your map? Realistic maps are usually the best rated of them all.

Now, to the uploading. To upload maps to the Garry's Mod part of Steam Workshop, you need to upload it through a separate program made by the game's creator, which can be downloaded here[files.garrysmod.com].

Simply follow the instructions in the workshopper tool. You must be signed into the Steam client for it to work, just so you know.

Well, you've completed your first map, and have been taught how to upload maps to the workshop. Now what will you do? You could head onto the Valve Developer Wiki to learn more about making maps and even mods, or you could head onto the Steam Disscusions to ask for help with mapping, etc....? It's up to you now! Good luck with making your own maps! :)
< >
Turdsack Jan 10 @ 9:32pm 
Guys, if you're having trouble with the Source SDK, you can launch the hl2 hammer editor in it's folder instead of on Source SDK. Go to computer\:C\program files\steam\steamapps\common\half life 2\bin and you'll find hammer.exe in the folder. Have fun mapping
Zyabor Flame Dec 22, 2013 @ 3:05pm 
Do u have any video to explain how to do ragdolls and npcs?
Hyperion Dec 2, 2013 @ 8:47am 
If you at least told us what version of engine and what game to select, on the startup... I can't find this anywhere on the net
rzrap Nov 9, 2013 @ 11:41am 
@Spartan Bob The Gentleman Just wondering, what did you save your map as? If you saved it with a name like "Small City" or "Underground Base" or something like that, it won't work, because you CANNOT have spaces in the name. You'd have to name it "Small_City", "SmallCity", "Underground_Base", "UndergroundBase", etc.
Spartan Bob The Gentleman Sep 24, 2013 @ 2:50pm 
i can never ever evrevervevrevrvervevrevrevrevrververvevrvervevevrverver see my map ever. i dont even think the camera even fucking exists in my source sdk. i need help.
|TG|ENVY|Sacramental Sep 20, 2013 @ 4:16am 
@sashow1000 You are going to need CSS content also, this is required by GMod... otherwise you will end up with your issue, Loads of errors.

P.S. there are ways to get the content LEGALLY without owning the game... download a CSS dedicated server and update this, then you will get content (models and textures) then place the cstrike folder (with contents) into your GarrysMod (where hl2.exe resides) folder.... enjoy
GateCrasherVI Sep 5, 2013 @ 10:37pm 
Decent enough little guide. Thanks for the tips.
[FL:RP] sashow1000 Jul 22, 2013 @ 10:03pm 
[h1] NOT HELPING ! [/h1] I can't use any of the tools, I only have TeamFortress2 that I can use EVEN I OWN GARRY'S MOD !
I don't have Half Life2 or Portal or CS and I have missing textures EVERY WHERE ! so I want better tutorial / tool !
rzrap Jul 15, 2013 @ 5:20pm 
Thanks for the guide, it really helped me get my map up! However, I'm having a problem with updating my map, and I was wondering if you knew anything that could help. Whenever I try to update my map, and I'm on the "Ready?" screen in the Workshopper, and I click the Finish button, it will say "Updating Your Addon..." for a while, until I suddenly get the following error message:
"Error updating [maybe try again]"
Is it possible you could maybe help me out with this?
White Rose the Yorkshirepony Jun 23, 2013 @ 1:20pm 
dude, workshopper just crashes when I try to upload my map....