Weaponizing vehicles
How to weaponize a custom vehicle
Summary
Published: Mar 29 2025 by MisterChedda Last documented edit: Mar 30 2025 by mana vortex
This page will teach you how to turn a civilian car into a weaponized vehicle by copying the correct properties from a car that is already combat-ready.
Wait, this is not what I want!
- Check Boe6's Guide: basic car from A to Z for how to add your own car from scratch 
- Check Windows & Doors opening + MountedWeapons clue for instructions on modifying the combat behaviour 
- Check Cheat Sheet: Vehicles and the surrounding pages for a list of vehicle-related things that you might want to look up 
Prerequisites
Step 0: Add the reference files
Decide which car you want to stealborrow the weapon from, then add its .ent and .app file to your project for easier reference (you can look them up on Cheat Sheet: Vehicles). 
For this project, we're using the Hellhound, and the corresponding files are
base\vehicles\standard\v_standard3_militech_hellhound__basic_01.ent
base\vehicles\appearances\standard\militech_hellhound__basic.appThese will be called "reference files" through the rest of the guide.
Step 1: Changing the .ent file
1. Changing the car's type
We need to change your car's type to a weaponized vehicle. Here's how we do that:
- Open your car's - .entfile and the reference file, and set the editor difficulty mode to "advanced".
- Select - entityin the reference file. Right-click and select "Copy Handle".
- Select - entityin your car's file. Right-click and select "Paste as Handle".- This will only be available in Wolvenkit ≥ 16.2 or the Nightly. If you're on an older version, you'll have to do the edit via JSON. 
- Save the file (Hotkey: Ctrl+S) 
2. Adding the weapon slots
- In both files, open the - componentsarray and find the- vehicle_slotscomponent. It should be close to the top of the list.
- In the reference file, scroll to the bottom of the list and find the - entSlotentries corresponding to the car's weapons.
- Select them, then right-click and copy the selection. 
- In your file, select either the list or an item in the list, and paste the selection here. 
- Save the file. 
3. Adding the attachment slots
- In the reference - .ent, find the- gameAttachmentSlotscomponent (it will probably be called- AttachmentSlots).
- Copy it and paste it into your .ent file 

4. Adding the effect
- In the reference file, search for effect components. Look for - entEffectSpawnerComponents. In the hellhound, this is called- fx_explosion.
- Select and copy it. 
- Paste it into your car - .ent's- componentsarray.
- Save the file. 
Step 2: Changing the tweak record
1. Adding the file
You can skip this step if you already have a yaml file.
- In Wolvenkit's Tweak Browser, find the car's record that you want to change 
- Right-click and select "Add TweakXL override" 
- Do the same for the record that you're - stealingcopying from.
- In your project's Resources section, find the .yaml file and look at it. Then, delete all properties but the following: - vehDataPackage
- weapons(your car might not have it)
 
2. Adding the weapons
- Find the - weaponsarray in your reference yaml and copy it to your own files.
- You can delete those entries that you don't want 
- Delete the reference yaml, you don't need it anymore! 
3. Changing the combat behavior
Now, you'll have to tell your car that it's a weaponized vehicle. Do that by modifying the vehDataPackage. (Thanks to boe6 for pointing it out!)
You can do this in-line:
  vehDataPackage:   
    $base: Vehicle.VehicleDataPackageDefault
    driverCombat: DriverCombatTypes.MountedWeaponsStep 3: Changing the .app file
Open your car's .app file and the reference .app file.
1. Adding visual tags
For every appearance in your .app file, you need to add the combat-related visual tags (you can ignore faction tags such as Nomad or NCPD). 
DualPowerWeaponPosA
MissileWeaponPosAThey look like this:

2. Adding the actual weapons
- From your reference .app, find the weapon's mesh component(s) (you can for example filter for - turret):

- Copy them 
- Paste them into your own car's - .appappearance(s)
- Your car now has weapons. 
3. Adjusting the weapon positions
You can adjust your wepaon's position relative to the car in two places:
The weapon's origin
In the .ent file's vehicle_slots slot (Step 1.2), find the relativePosition and relativeRotation properties. These control where your rockets / your gunfire is coming from.
- In the mesh component that you just copied (Step 3.2, - localTransformproperty)
The weapon mesh's position
In the .app file inside the ent(Physical)MeshComponents that you have copied: 
- change the - localTransformproperty
- make sure that the - parentTransformpoints at the bindName- vehicle_slotsand the slotName- Base
If parts of your weapon mesh are disconnected and/or on the ground
That is becauuse they're rigged to a bone that your car does not have. The easiest way to fix this is to export their mesh into Blender and (in Edit mode) assign all weights to the first group.
You can check Weight Painting for Gonks for more detail about that.
Step 4: Making the weapons move
To be done
Step 5: Delete the reference files
Before you release your mod, do not forget to delete the reference files that you added in step 0. Never include files in your .archive that don't need to be there!
Troubleshooting
My guns are on the car, but nothing happens when I fire them!
That means you're missing the correct entSlots. 
Check your entSlotComponent  (usually called vehicle_slots) and make sure that you have the vehicle slots corresponding to the weapons you added to your .yaml file. 
The spelling doesn't need to be the same!
For example, the Shion has Vehicle.Vehicle_Power_Weapon_Left_A, but the entSlot is called VehiclePowerWeaponLeftA. This is defined in the tweak record:

Last updated
