s&box LocalProps: Built-in prop definitions
LocalProps Static Class
LocalProps is a static class that defines hardcoded models that ship with the game and are not available on the workshop. These models appear automatically in the Local props section of the spawn menu. This class provides a convenient way to add built-in props to your game without requiring workshop downloads.
Entry Record
public record Entry(string Path, string Category)
{
public string DisplayName { get; }
}The Entry record represents a single prop with its model path and category. The DisplayName property automatically derives a display name from the filename by stripping the extension, replacing underscores with spaces, and title-casing each word.
Usage
public static List<Entry> All => new()
{
// Characters
new("models/citizen/citizen.vmdl", "characters"),
new("models/citizen_human/citizen_human_male.vmdl", "characters"),
// Props
new("models/citizen_props/cardboardbox01.vmdl", "props"),
new("models/citizen_props/chair01.vmdl", "props"),
new("models/citizen_props/crate01.vmdl", "props"),
};Adding New Props
To add a new local prop, simply add a new Entry to the All list with the model path and category:
new("models/your_custom_model.vmdl", "your_category"),The display name will be automatically generated from the filename. For example, "cardboardbox01.vmdl" becomes "Cardboardbox01".
Notes
- Add new entries to the All list to appear automatically in the spawn menu
- DisplayName is derived from filename (underscores to spaces, title case)
- Used by the spawn menu for the Local props section
- Categories are used to organize props in the UI
- Models must exist in the game's asset system
- This is for built-in props only, not workshop content