Menu
 

Garry's Mod Missing Textures and ERROR Models: Why They Happen and How to Fix Them

Missing Textures and ERROR Models in Garry's Mod

Two of the most common things Garry's Mod shows you are not bugs. They are the engine telling you a file is not there. A red ERROR sign and a purple and black checkerboard look similar in a screenshot but they are different faults, and reading which one you have is the fastest way to the right fix.

Read the symptom first. The engine substitutes a placeholder whenever it cannot find what a map or addon asked for. Which placeholder appears tells you what is missing, so start there instead of reinstalling anything.

Which placeholder are you looking at?

What you seeWhat is missingWhere to look
A red ERROR sign standing where a prop, weapon or NPC should beThe model itself. The engine loads models/error.mdl in its place.The addon that provides the model is not installed, not finished downloading, or has been removed from the Workshop.
A purple and black checkerboard on a surface that is otherwise the right shapeThe material. The model loaded, its texture did not.Usually content from another Source game that you do not own or have not mounted. Counter-Strike: Source is the overwhelming case.
A prop that is solid white or oddly shinyThe material loaded but a map it references did not, or a shader parameter is wrong.Same causes as the checkerboard, plus addon conflicts where two addons ship the same material path.
Nothing renders at all where something should beBoth the model and its material.The addon failed to mount. Check the console on startup for the addon name.

The short version: ERROR is a missing model, checkerboard is a missing texture. A map full of checkerboards almost always means one unmounted game. A scene with a handful of ERROR signs almost always means one specific addon.

The four causes, in the order they actually occur

1. You do not own or have not mounted the game the content comes from

A very large share of Garry's Mod maps and addons reuse textures and props from other Source games rather than shipping their own. If you do not own that game, the files are simply not on your disk and nothing can conjure them. Counter-Strike: Source is by far the most common dependency, which is why so many map descriptions say "requires CS:S".

Owning the game is not enough on its own. It has to be installed and mounted. On a client, mounted games appear in the game's own mounting menu. On a dedicated server, mounting is declared in garrysmod/cfg/mount.cfg:

"mountcfg"
{
    "cstrike" "1"     // Counter-Strike: Source
    "tf" "1"          // Team Fortress 2
    "hl2" "1"         // Half-Life 2
    "ep2" "1"         // Episode Two
    "episodic" "1"    // Episode One
}

Mounting a game you do not own is not a workaround, it is a licence problem. There is no legitimate way to make an unowned game's files appear, and the packs that claim to do it are exactly the kind of upload covered in Workshop addon safety.

2. The addon is subscribed but never actually downloaded

Subscribing on the Workshop only queues a download. If Steam never finished it, the game starts without the files and substitutes placeholders with no obvious error. This is the cause behind the common report that an addon "worked yesterday" or that half a collection loads.

Check the Addons menu in game rather than the Workshop page in a browser. An addon that is present and enabled there has its files; one that is subscribed but absent does not. Unsubscribing, restarting Steam and resubscribing forces the download to start again.

3. The addon was removed from the Workshop

Authors delete uploads, and Valve removes them. When that happens the content disappears for everyone who had not already downloaded it, and existing installs lose it on the next content check. There is no fix on your side. If a specific prop in a saved scene turned into an ERROR sign and nothing about your setup changed, a deleted addon is the likely explanation.

4. You are on a server that has content you do not

This is the case that confuses people most, because the same map looks correct for the server owner and broken for everyone else. The owner's machine already has every file. A joining player only receives what the server actively sends them. Mounting a game on the server does not push that game's textures to clients, and it was never meant to.

If your friends see checkerboards on a server you run, the server is not delivering content, not misconfigured graphics. That is a server-side fix and it is covered below.

Fix it as a player

  1. Read which placeholder you have. ERROR and checkerboard send you down different paths.
  2. Check the map or addon description for a required game. If it names one, install and mount it.
  3. Open the Addons menu in game and confirm the addon is present and enabled, not merely subscribed.
  4. Verify the game files through Steam. This repairs a partial install of Garry's Mod itself, though it does nothing for Workshop content.
  5. Isolate the cause. Start the game with -noaddons -noworkshop and load a stock map. If it is clean, re-enable your collection in groups until the problem reappears. This finds a conflicting addon far faster than disabling them one at a time.
  6. Do not install a "content pack" from an unknown uploader to fix missing textures. It is the single most common lure used by malicious uploads.

Fix it as a server owner

Your job is different: you have to make sure a player who owns nothing but Garry's Mod can still see your map correctly. Three mechanisms exist and they solve different halves of the problem.

MechanismWhat it deliversWhen to use it
host_workshop_collectionSends your Workshop collection id to clients so the game downloads the addons itself.The default choice. Keep every custom map and addon in one collection and point the server at it.
resource.AddWorkshopMarks individual Workshop addons as required, from Lua.When you need specific items rather than a whole collection.
sv_downloadurl (FastDL)An HTTP mirror of loose custom files.For content that is not on the Workshop at all. The folder layout and compression have to match exactly or clients silently get nothing.

Two settings decide whether any of it runs. sv_allowdownload has to permit downloads, and sv_loadingurl only changes the loading screen, not what is delivered. Neither of them mounts a game for the client, because that is not something a server can do.

The test that actually proves it works

Testing from your own machine proves nothing, because your machine already has the files. The only reliable test is a client that does not:

  1. Boot the server on a stock map with no addons and confirm a clean join.
  2. Add the mount, then the collection, then the custom map, restarting between each.
  3. Join from a machine, or a Steam account, that has never had the content.
  4. Watch the client console during the join. Missing files are named there before you ever see a checkerboard.

What the September 2026 update changed

The September 2026 update, live since 16 September 2026, brought 64-bit binaries to the Windows client and dedicated server. It does not make missing content appear, but it removes the 32-bit memory ceiling that used to turn a large addon collection into a crash rather than a placeholder. It also cleans up the cache/workshop/ folder on dedicated servers for addons that are no longer installed, which is worth knowing if you have been chasing stale content on a long-lived server.

The authoritative reference for how content is served is Facepunch's own documentation, kept current with the engine: Serving Content.

Related Garry's Mod guides

Want content delivery handled for you? Managed Garry's Mod hosting ships your Workshop collection to every player who joins, with the storage headroom a large collection needs.

Tired of fighting this issue every patch?

Run a managed Garry's Mod server with us. We handle the patches, mod-version pinning, save backups, and DDoS protection. Set up in minutes, multiple datacenter regions, no contract.

See Garry's Mod hosting plans →
Top