menu_bookDocumentation
s&box WeaponConVars: Global weapon settings
WeaponConVars Static Class
WeaponConVars is a static class that defines console variables controlling global weapon behavior in s&box. These ConVars can be set via console or code to modify how weapons function across the entire game.
Console Variables
CSHARP
public static class WeaponConVars
{
[ConVar("sb.weapon.unlimitedammo", ConVarFlags.Replicated, Help = "When enabled, weapons have unlimited ammo.")]
public static bool UnlimitedAmmo { get; set; } = false;
[ConVar("sb.weapon.infinitereserves", ConVarFlags.Replicated, Help = "When enabled, reserve ammo is infinite — clip ammo is still consumed.")]
public static bool InfiniteReserves { get; set; } = false;
}ConVar Descriptions
UnlimitedAmmo
- Console command: sb.weapon.unlimitedammo
- Default: false
- When enabled, weapons have unlimited ammo — no ammo is consumed when firing
- Useful for testing or sandbox modes where ammo management is not desired
InfiniteReserves
- Console command: sb.weapon.infinitereserves
- Default: false
- When enabled, reserve ammo never depletes — clip ammo is still consumed normally, but you can always reload
- Allows players to reload indefinitely without running out of reserve ammo
- Clip management still applies (must reload when clip is empty)
Usage
CSHARP
// Enable unlimited ammo via code
WeaponConVars.UnlimitedAmmo = true;
// Enable infinite reserves via console
> sb.weapon.infinitereserves 1
// Check current state
if (WeaponConVars.UnlimitedAmmo)
{
// Skip ammo UI display
}Notes
- Both ConVars are replicated (synced to clients)
- Changes apply globally to all weapons in the game
- Used by the weapon system to override default ammo behavior
- Commonly used in sandbox/gamemode settings
- Can be toggled at runtime without restarting the game
Was this helpful?