Cargo Storage

This feature is supported as of BeamNG.tech and .drive version 0.31 to latest.

The cargoStorage section of Jbeam is used to dynamically increase the weight of nodes, and properties of their linked beams, based on their currently stored “cargo”. It is primarily used in career mode delivery gameplay. However, it has a secondary use case: dynamically increasing the weight of nodes on vehicle seats that are occupied.

Any part used for the delivery gameplay in career mode should include “cargo_load_” in its internal name in Jbeam in order to appear in the correct category when purchasing.

Volume and density

Nodes linked to cargoStorage use $volume and $density variables. These directly affect the added weight of the node. The typical values and ranges of these variables can vary depending on the cargo type and the storage capacity. The added weight can be spread between multiple nodes.

Cargo type
Volume
Density
Common container capacity
Added weight range
Cargo type
parcel
Volume
Chosen from a list generated by files in gameplay\delivery folder - can range from 1L to 300L - and then multiplied by a random number between 0.9 and 1.1. Volume is linked to the capacity the parcel takes in the storage
Density
1 kg/L
Common container capacity
  • Cargo Load Box S: 1
  • Cargo Load Box M: 4
  • Cargo Load Box L: 16
  • Cargo Load Box XL: 128
  • Cargo Load 20ft Container: 33900
  • Cargo Load 40ft Container: 67800
Added weight range

Minimum 0.9 kg. Maximum is 330kg for single package, maximum stored in a single container differs based on its capacity. Common values:

  • Cargo Load Box S: 5.5 kg
  • Cargo Load Box M: 22 kg
  • Cargo Load Box L: 88 kg
  • Cargo Load Box XL: 704 kg
  • Cargo Load 20ft Container: 186450 kg
  • Cargo Load 40ft Container: 372900 kg
Cargo type
fluid
Volume
Any value between 1L and the container’s capacity
Density

Depends on the fluid type:

  • gasoline: 0.75 kg/L
  • diesel: 0.83 kg/L
  • water: 1.0 kg/L
  • hazardous fluid: 1.25 kg/L
Common container capacity
  • 800 for Fluid Tank XL
  • 21000 for Fluid Tank 20ft Container
Added weight range

Minimum 0.75 kg. Maximum differs per container. Common values:

  • 1000 kg for Fluid Tank XL
  • 26250 kg for Fluid Tank 20ft Container
  • For dedicated tanker upfits and trailers on trucks, it can reach up to 42500 kg
Cargo type
dryBulk
Volume
Any value between 1L and the container’s capacity
Density

Depends on the dry bulk type:

  • soil: 1.3 kg/L
  • sand: 1.6 kg/L
  • gravel: 1.8 kg/L
Common container capacity
800 for Aggregate Box XL
Added weight range
1.3 kg - 1440 kg for Aggregate Box XL
Cargo type
passenger
Volume
Allowed range between 49L and 119L, default 89L
Density
1 kg/L
Common container capacity
150 for passenger weight
Added weight range
Always 89 kg for passenger weight

Required arguments

string
type
Id of the group of nodes/beams that will change properties when cargo weight increases
In order to support occupants, the groupId must follow the naming convention [seat Id]Occupant, for example FLOccupant for seat Id “FL”.
string
type
Unnamed Container
default
Name of the container to be displayed in delivery UI
table
type
Types of cargo transported in this container

Currently supported types: “parcel”, “fluid”, “dryBulk”, “passenger”.

Multiple types at one time are usually supported, except for “passenger” type which cannot be combined with the others.

number
type
Amount of cargo the container holds

The unit for the capacity depends on the cargoTypes property. For “parcel”, it is the number of cargo slots. For “fluid” and “dryBulk”, it’s liters. For “passenger”, it’s the maximum advised passenger’s weight in kg (which is not the same as the default weight of the passenger).

For the “parcel” type, the capacity should be a power of 2 value for balancing reasons. Exceptions can be made for very large containers where it is finetuned further for stability.

Optional arguments

number
type
1000
default
Maximum rate of container volume/weight change
Unit is the same as for “capacity”.

Examples

Parcel boxes

"cargoStorage":[
    ["groupId","name","cargoTypes","capacity"],
    ["roofBarsBoxA","Roof Bars Box A",["parcel"], 16],
    ["roofBarsBoxB","Roof Bars Box B",["parcel"], 16],
],

Liquid tank

"cargoStorage":[
    ["groupId", "name","cargoTypes", "capacity"],
    ["RoofbarTank1", "Roffbar Tank",["fluid"], 800],
],

Aggregate box

"cargoStorage":[
    ["groupId", "name","cargoTypes", "capacity"],
    ["roofbarAggregate1", "Roofbar Aggregate Box",["dryBulk"], 800],
],

Passenger

"cargoStorage":[
    ["groupId", "name","cargoTypes", "capacity"],
    ["driver", "Driver", ["passenger"], 150, {"maxVolumeRate":200}],
],
Last modified: October 21, 2026

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.