Menu Items - Config
- Stow Studios
- Jul 8, 2025
- 3 min read
Folder Structure
The layout of your mod is completely up to you as you state the paths to all relative files in the modInfo.json file, but below is a recommended structure which is used in all other related mod tutorials.
Mod Name
├ Assets
| ├ Models
| └ ImgsModInfo.json
Inside your root folder ('Mod Name' in the example above), create a file named 'ModInfo.json' and paste in the following template, adjusting the information to match your mod.
{
"name": "Mod Name",
"type": "menuItems",
"author": "Your Name",
"version": "1.0.0",
"compatibleWith": "1.10",
"menuItems": [
{
"cfgMenuItem":
{
"Name": "My Food Item",
"StockCost": 0.1,
"BaseSalePrice": 1,
"ItemType": "Side",
"Storage": "Fridge",
"CookedAt": "Oven",
"CookTime": 1,
"RequiredLvl": 1
},
"states": [
{
"state": "Collected",
"modelPath": "Assets/Models/testcube.glb",
"imgPath": "Assets/Imgs/testcube.png"
},
{
"state": "Cooked",
"modelPath": "Assets/Models/testcube.glb",
"imgPath": "Assets/Imgs/testcube.png"
},
{
"state": "Raw",
"modelPath": "Assets/Models/testcube.glb",
"imgPath": "Assets/Imgs/testcube.png"
},
{
"state": "Burnt",
"modelPath": "Assets/Models/testcube.glb",
"imgPath": "Assets/Imgs/testcube.png"
},
{
"state": "Cold",
"modelPath": "Assets/Models/testcube.glb",
"imgPath": "Assets/Imgs/testcube.png"
}
]
}
]
}Basic
Name
Field: name
Type: string
Desc: The name of your mod. Notes: This MUST match the folder name!Type
Field: type
Type: string
Desc: The type of mod this is.Notes: This MUST be a valid enum type, for Menu Items, use 'menuItems'.Author
Field: author
Type: string
Desc: The creator of the modNotes: It is recommended to use your steam username so people can find more of your mods if they like this one!Version
Field: version
Type: string
Desc: The version of your mod.Notes: This is not important and can be left blank, however it can be helpful for users to know what version of your mod they have installed.Compatible With
Field: compatibleWith
Type: string
Desc: The version of Grub Truck that this version of your mod is compatible with.Notes: N/AMenuItems
Field: menuItems
Type: object[]
Desc: An array of objects containing all of the needed data for modded menu items.Notes: N/AMenuItems
CfgMenuItem
Field: cfgMenuItem
Type: object
Desc: Contains all of the core data for your menu item.Notes: N/AStates
Field: states
Type: object[]
Desc: Holds all of the data for the different states that your menu item can be.Notes: If you don't want an item to feature a particular state, simply don't include it in the array (e.g. if you don't want an item to go cold, don't include the state of type "Cold".CfgMenuItem
CfgMenuItem
Name
Field: name
Type: string
Desc: The name of your menu itemNotes: N/AStockCost
Field: stockCost
Type: float
Desc: The cost to by 1x of this item from the Stock Shop.Notes: This is the base price before any discounts or price increases.BaseSalePrice
Field: baseSalePrice
Type: float
Desc: The average price a customer would be willing to pay for this item.Notes: Customer's willingness depends on multiple factors including: customer types, player character types, events, rating etc.ItemType
Field: itemType
Type: string
Desc: The type of menu item that this is.Notes: This must be either "Main", "Side" or "Drink"Storage
Field: storage
Type: string
Desc: The place that stock of this item will be placed.Notes: As of 1.10, only "Fridge" is a valid string here.CookAt
Field: cookAt
Type: string
Desc: The appliance type that this item can be cooked/prepared at.Notes: As of 1.10, only "Oven" and "DeepFryer" are valid types.CookTime
Field: cookTime
Type: float
Desc: The amount of seconds it takes to cook this item.Notes: This is the base number of seconds before any appliance multiplier or player character multiplier.
For items that don't need to be cooked, set this to 0.RequiredLvl
Field: requiredLvl
Type: string
Desc: The minimum level the player must be in order to unlock this item.Notes: N/A
Comments