Overview
Garry’s Mod Lua settings live under thegmod key in .gluarc.json. These settings control realm detection, network message analysis, scripted class behavior, VGUI support, annotations, and more.
Top-level options
Annotations
Scaffolding
Gamemode inheritance
GLuaLS supports gamemode inheritance.DeriveGamemode("...") keeps inherited GM members working. The gmod.autoDetectGamemodeBase setting loads parent gamemode folders from your gamemode’s <name>.txt base value so parent files are available for completions, definitions, and diagnostics.
This setting controls the .txt file lookup. DeriveGamemode("...") support remains active.
Scripted classes
gmod.scriptedClassScopes.include defines the scripted class groups used for class analysis, the Class Explorer, and scaffolding.
Built-in groups: entities, weapons, effects, stools, player_classes, plugins, schemas, gamemodes.
The schemas group is enabled by default for any framework or gamemode. Files beneath a schema/ directory, plus single-file gamemode/schema.lua entrypoints, contribute to one global SCHEMA class. Schema is recognized as an alias throughout the project, and schema methods are analyzed as gamemode hooks inherited from GM. No framework-specific configuration is required.
Each definition supports:
The
gamemodes group detects files under gamemodes/<name>/gamemode/** and types the GM global as the class gamemode_<name>. This lets DEFINE_BASECLASS("gamemode_sandbox") and cross-gamemode field access, such as self.Sandbox.SetupMove, resolve in derived gamemodes.
To change a built-in definition, add an entry with its id and only the fields you want to change. To turn off a built-in group, set { "id": "effects", "disabled": true }.
Example
.gluarc.json
Hooks
Network analysis
To disable individual network diagnostics, use the primary
diagnostics.disable list with the relevant code name (e.g. "gmod-net-read-write-type-mismatch"). See the Diagnostics configuration page for the full list of network diagnostic codes and severity options.Example
.gluarc.json
VGUI
Outline verbosity
gmod.outline.verbosity controls what appears in the Outline view for Lua files:
VS Code extension settings
You can also configure these settings in VS Code settings with thegluals.* prefix: