Demos - How to guide

What are demos?

Whenever you play on the server, demos are automatically recorded. A demo essentially constantly records what you’re doing and then saves locally. This can be useful if you ever need to go back and review a clip. If you make a report or action request, you will most likely need to provide evidence so it’s very useful to have demos enabled. It can protect you if someone lies as you have proof.

Demos must remain enabled at all times and Rule 1.4 states that you must keep any demo for 21 days. Demos can start to take up quite a large amount of space on your PC but once 21 days have passed since the demo was recorded, you’re free to delete it. The option to automatically delete demo files older than 21 days can be toggled in the F1 Menu under "Automatically delete old demos?"

How to locate your demo files

PERPHeads saves demos to a different location within your Garry's Mod folder in order to prevent your Steam Cloud for Garry's Mod being unnecessarily filled up with demos, which would've prevented important files such as config files from being backed up to Steam. You can locate your demos by right-clicking on Garry's Mod on Steam, selecting properties and then selecting Browse Local Files


From there navigate to "phdemos" by following the path: garrysmod/data/phdemos From there, you can copy any demo that you need to review into your demo folder, which will then show up when you press the demo button on the Garry's Mod main menu.

How to load up a demo

Prior to loading up a demo, it’s recommended that you connect to the main server ( first, so that you can load up the server content to reduce errors/missing textures once you load into a demo. Once you have done this, you will have to copy/paste the required demofile from *garrysmod/data/phdemos* to *garrysmod/demos*. You can then head back to the ‘Demos’ section of the menu and hover over the demo of your choice and press the ‘play’ button. It will take a minute or so to load the demo once you’ve pressed it.


It can be tricky to know which demo to load into. The title of each demo makes it easier for you to know what the demo might have in it. Each demo file is formatted with the server name, date and the time the demo started recording. Once you’ve started playing on the server a lot, you’re likely to have multiple demo files for each day. This is because a demo recording records for a certain amount of time and then a new one begins.

How to stop a demo recording

You may need to manually end a demo recording when you’re on the server. This may be because you’ve just been killed for no reason and you want to now make an action request on that person. This way, if you end the recording you will know exactly where to go in the demo (the very end) as it ended just after the incident. To manually end a demo recording, open up the console by pressing the grave accent key, which is positioned above the TAB key as seen in the image below.



Once you have opened up the console, type in ‘stopdemo’ and press the ENTER key or click Submit. Following this, the demo will end and a new one will automatically begin to record. You may need to restart your game to see the latest demo recordings on the demos screen.

Making demos provide more information

By default, once you’ve loaded up a demo you don’t get much information as names don’t always load and it can be hard to identify someone in a demo. However, TinySlayer has developed a LUA script that enables you to use ESP in demos to make it much easier to identify people. To install the ESP, you need to follow the instructions found here:

Inside Demo

From the image, you can see that enabling ESP in your demo provides a lot more information such as the player’s steam name, steamID and what they’re currently holding. The person to the left before ESP was loaded has no information at all.

Controlling the demo Once you’ve loaded up your demo and followed the instructions for loading up ESP, you can now start to play the demo. It’s incredibly useful to make the demo playback box appear. You can do this by pressing (SHIFT + F2) or if that doesn’t work, open up the console again and type in ‘demoui’ or ‘demoui2’. They’re very similar but in this case, I will be using demoui.


  • This box allows you to fully control the playback of the demo. I’ll explain from top to bottom what everything does:
  • The ‘Load...’ button opens up a file explorer where you’re able to load another demo if you wish
  • The ‘Stop’ button terminates the demo playback and you will be returned to the main menu
  • The bar next to the percentage controls the playback speed. You can slow it down to 0% (paused) or up to 600% of the original speed
  • The arrows underneath the progress bar allow you to go by each individual tick (a tick is a frame e.g. you would get 60 ticks a second if you capped your game to 60 FPS)
  • The ‘Goto’ button allows you to enter a specific tick into the empty whitebox on the right. Once you have entered one of the ticks that is less than the total number of ticks and press ‘Goto’, your game will freeze for a moment and then will resume at the tick you specified
  • The ‘Drive…’ button allows you to freely control the camera positioning so you’re not forced just in first person. You are required to hold the left mouse button down constantly and then you can use WASD to move around and the mouse to rotate
  • The ‘Edit…’ button provides a variety of features to edit the demo file. You generally won’t need to use these
  • The ‘Smooth…’ button is also not used that much. It just provides more tools for modifying the demo file

Recording a demo file

Once you have got to that part of the demo that you want to record, make use of software tools to record your screen such as ShadowPlay (Nvidia GPUs), Radeon Software (AMD GPUs) or OBS. Just start recording and press the ‘Resume’ button if that playback has been paused. Once you’re done, just end the recording. Make sure to take note of the tick when the incident occurred as you may need it later. If you’re unable to record your screen, send the file to a staff member and they will be able to access and record it for you.

Uploading your demo file

Sometimes you may be required to upload your demo alongside your video if more playback is needed. You may also be required to provide your demo if you’ve had a report or action request made on you and the staff member investigating needs to see your POV. There are several platforms that can be used to upload the file such as Google Drive, Mega and Dropbox. To get the actual demo file you will need to grab it from your demos folder. To do this, go onto your Steam library, right click Garry’s Mod and press properties. At the top, press ‘Local Files’ and then ‘Browse local files’. This will bring up the game directory in your file explorer. From here, click the garrysmod folder, then the data folder and then the phdemos folder(garrysmod/data/phdemos). Select the demo based on the filename you saw in-game and upload it using any file sharing website. You can now share this demo file with a staff member and provide a demo tick if required. You can upload the video you recorded with a platform such as YouTube or Streamable.

GMOD properties

GMod Files



Version: 4

Author: SpaceShots

Created On: May 9, 2020, 10:10 p.m.

Created By: SpaceShots