Skip to main content

Overview

Garry’s Mod Lua settings live under the gmod 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 the gluals.* prefix: