{"name":"Arma 3: Vehicle in Vehicle Transport","title":"Arma 3: Vehicle in Vehicle Transport","type":"topic","url":"https://community.bistudio.com/wiki/Arma_3:_Vehicle_in_Vehicle_Transport","revid":378127,"updated":"2026-02-21T14:38:45Z","aliases":["Arma 3 Vehicle in Vehicle Transport"],"markdown":"Vehicle in Vehicle Transport functionality was added in Arma 3 Apex expansion.\nFor proper function it needs suitable transport vehicle with cargo space defined in model and in config.\nTransported vehicles on the other hand needs no special treatment - important is only their size (estimated from bounding box) and weight.\nThere are multiple config parameters for both transport and transported vehicles which can be used for further tweaking of functionality.\n\n### Scripting commands\n\n- Command Group: Vehicle in Vehicle Transport\n\n### Transport/transported Vehicles\n\n#### Transported Vehicles\n\n- only dimensions and weight of vehicle/object are important parameters\n- if size is not defined in config, bounding box is used\n- mass of loaded vehicle(s) is added to transport vehicle\n- `canBeTransported = 0;` disables possibility for this specific vehicle to be transported in other vehicles\n- there are also optional parameters for parachute\n- all these parameters are overriding transport vehicle config - if they are not present, default values are used (vehicle can be transported and parachute defined in transport vehicle is used)\n\n**Transported** Vehicle config example:\n\n```cpp\nclass VehicleTransport\n{\n    class Cargo\n    {\n        parachuteClass            = \"B_Parachute_02_F\";    // type of parachute used when dropped in air. When empty then parachute is not used.\n        parachuteHeightLimit    = 40;                    // minimal height above terrain when parachute is used.\n        canBeTransported        = 1;                    // 0 (false) / 1 (true)\n\n        dimensions[]            = { \"BBox_1_1_pos\", \"BBox_1_2_pos\" };    // memory point-based override of automatic bounding box\n        // or\n        // dimensions[]            = { { 0, 0, 0 }, { 3, 2, 1.5 } };        // alternatively, positions in model space (since 2.08)\n\n        rotation = -90;                                // (optional) defines in which direction the vehicle gets rotated\n                                                    // when it is loaded into ViV cargo and will only fit when rotated\n                                                    // only -90 and 90 are supported. Since v2.08\n    };\n};\n```\n\n#### Transport Vehicles\n\n- functionallity is not restricted to vehicle type\n- name of memory points placed on model must be same as the ones used in config\n- cargo space can have multiple exit points\n- loading area can be defined\n- parachute models must be defined for dropping cargo in air\n\nTransport Vehicle config example:\n\n```cpp\nclass VehicleTransport\n{\n    class Carrier\n    {\n        cargoBayDimensions[]        = { \"VTV_limit_1\", \"VTV_limit_2\" };    // memory points in model defining cargo space\n        // or\n        // cargoBayDimensions[]        = { { 0, 0, 0 }, { 10, 10, 10 } };    // alternatively, positions in model space (since 2.08)\n\n        disableHeightLimit            = 1;                                // if set to 1 disable height limit of transported vehicles\n        maxLoadMass                    = 200000;                            // maximum cargo weight (in Kg) which the vehicle can transport\n        cargoAlignment[]            = { \"front\", \"left\" };                // array of 2 elements defining alignment of vehicles in cargo space.\n                                                                        // possible values are left, right, center, front, back. Order is important.\n\n        cargoSpacing[]                = { 0, 0.15, 0 };                    // offset from X,Y,Z axes (in metres)\n\n        exits[]                        = { \"VTV_exit_1\", \"VTV_exit_2\" };    // memory points in model defining loading ramps, could have multiple\n        // or\n        // exits[]                    = { { 5, 0, 0 }, { 5, 10, 0 } };    // alternatively, positions in model space (since 2.08)\n\n        unloadingInterval            = 2;                                // time between unloading vehicles (in seconds)\n        loadingDistance                = 10;                                // maximal distance for loading in exit point (in meters).\n        loadingAngle                = 60;                                // maximal sector where cargo vehicle must be to for loading (in degrees).\n        parachuteClassDefault        = \"B_Parachute_02_F\";                // type of parachute used when dropped in air. Can be overridden by parachuteClass in Cargo.\n        parachuteHeightLimitDefault    = 50;                                // minimal height above terrain when parachute is used. Can be overridden by parachuteHeightLimit in Cargo.\n\n        class CargoTypeWhitelist                                        // whitelist. If this is not empty, only listed vehicles (isKindOf)\n         {                                                                // can load into (since 2.10)\n             Boat_F = 1;                                                    // In this case the transporter only carry boats, not cars or tanks etc\n         };\n    };\n};\n```\n\n### Cargo Space Vehicle Sorting\n\n- vehicles in cargo space can be centred and aligned\n- handled via combined parameter \"CargoAlignment\" - it is an array of 2 elements\n- Values can be front, back, center, left, right. Order of them is important.\n\n**Examples:**\n\n- if first one is \"front\" then front part of transport will be filled first. If then second word is left, it will be filled from left side, but still front first.\n- VTOL example would be \"center\" and \"front\" so vehicles would be inserted in center line from front to back.\n- Ferry example would be \"left\" and \"front\" so vehicles should loaded form top left corner to back.","sections":[{"heading":null,"level":1,"markdown":"Vehicle in Vehicle Transport functionality was added in Arma 3 Apex expansion.\nFor proper function it needs suitable transport vehicle with cargo space defined in model and in config.\nTransported vehicles on the other hand needs no special treatment - important is only their size (estimated from bounding box) and weight.\nThere are multiple config parameters for both transport and transported vehicles which can be used for further tweaking of functionality."},{"heading":"Scripting commands","level":3,"markdown":"- Command Group: Vehicle in Vehicle Transport"},{"heading":"Transport/transported Vehicles","level":3,"markdown":""},{"heading":"Transported Vehicles","level":4,"markdown":"- only dimensions and weight of vehicle/object are important parameters\n- if size is not defined in config, bounding box is used\n- mass of loaded vehicle(s) is added to transport vehicle\n- `canBeTransported = 0;` disables possibility for this specific vehicle to be transported in other vehicles\n- there are also optional parameters for parachute\n- all these parameters are overriding transport vehicle config - if they are not present, default values are used (vehicle can be transported and parachute defined in transport vehicle is used)\n\n**Transported** Vehicle config example:\n\n```cpp\nclass VehicleTransport\n{\n    class Cargo\n    {\n        parachuteClass            = \"B_Parachute_02_F\";    // type of parachute used when dropped in air. When empty then parachute is not used.\n        parachuteHeightLimit    = 40;                    // minimal height above terrain when parachute is used.\n        canBeTransported        = 1;                    // 0 (false) / 1 (true)\n\n        dimensions[]            = { \"BBox_1_1_pos\", \"BBox_1_2_pos\" };    // memory point-based override of automatic bounding box\n        // or\n        // dimensions[]            = { { 0, 0, 0 }, { 3, 2, 1.5 } };        // alternatively, positions in model space (since 2.08)\n\n        rotation = -90;                                // (optional) defines in which direction the vehicle gets rotated\n                                                    // when it is loaded into ViV cargo and will only fit when rotated\n                                                    // only -90 and 90 are supported. Since v2.08\n    };\n};\n```"},{"heading":"Transport Vehicles","level":4,"markdown":"- functionallity is not restricted to vehicle type\n- name of memory points placed on model must be same as the ones used in config\n- cargo space can have multiple exit points\n- loading area can be defined\n- parachute models must be defined for dropping cargo in air\n\nTransport Vehicle config example:\n\n```cpp\nclass VehicleTransport\n{\n    class Carrier\n    {\n        cargoBayDimensions[]        = { \"VTV_limit_1\", \"VTV_limit_2\" };    // memory points in model defining cargo space\n        // or\n        // cargoBayDimensions[]        = { { 0, 0, 0 }, { 10, 10, 10 } };    // alternatively, positions in model space (since 2.08)\n\n        disableHeightLimit            = 1;                                // if set to 1 disable height limit of transported vehicles\n        maxLoadMass                    = 200000;                            // maximum cargo weight (in Kg) which the vehicle can transport\n        cargoAlignment[]            = { \"front\", \"left\" };                // array of 2 elements defining alignment of vehicles in cargo space.\n                                                                        // possible values are left, right, center, front, back. Order is important.\n\n        cargoSpacing[]                = { 0, 0.15, 0 };                    // offset from X,Y,Z axes (in metres)\n\n        exits[]                        = { \"VTV_exit_1\", \"VTV_exit_2\" };    // memory points in model defining loading ramps, could have multiple\n        // or\n        // exits[]                    = { { 5, 0, 0 }, { 5, 10, 0 } };    // alternatively, positions in model space (since 2.08)\n\n        unloadingInterval            = 2;                                // time between unloading vehicles (in seconds)\n        loadingDistance                = 10;                                // maximal distance for loading in exit point (in meters).\n        loadingAngle                = 60;                                // maximal sector where cargo vehicle must be to for loading (in degrees).\n        parachuteClassDefault        = \"B_Parachute_02_F\";                // type of parachute used when dropped in air. Can be overridden by parachuteClass in Cargo.\n        parachuteHeightLimitDefault    = 50;                                // minimal height above terrain when parachute is used. Can be overridden by parachuteHeightLimit in Cargo.\n\n        class CargoTypeWhitelist                                        // whitelist. If this is not empty, only listed vehicles (isKindOf)\n         {                                                                // can load into (since 2.10)\n             Boat_F = 1;                                                    // In this case the transporter only carry boats, not cars or tanks etc\n         };\n    };\n};\n```"},{"heading":"Cargo Space Vehicle Sorting","level":3,"markdown":"- vehicles in cargo space can be centred and aligned\n- handled via combined parameter \"CargoAlignment\" - it is an array of 2 elements\n- Values can be front, back, center, left, right. Order of them is important.\n\n**Examples:**\n\n- if first one is \"front\" then front part of transport will be filled first. If then second word is left, it will be filled from left side, but still front first.\n- VTOL example would be \"center\" and \"front\" so vehicles would be inserted in center line from front to back.\n- Ferry example would be \"left\" and \"front\" so vehicles should loaded form top left corner to back."}],"categories":["Arma 3: Tutorials","Arma 3: Vehicle Configuration"],"groups":["Configuration"]}