๐ Vehicle
Vehicles are wheeled entities which Characters can possesses and drive.
๐Authority
This class can only be spawned on ๐ฆ Server side.
๐ชInheritance
๐งโ๐ปAPI Source
The methods, properties and events descriptions from this page are defined in our GitHub API Repository!
Any Skeletal Mesh can be used to create a Vehicle, although only Skeletal Meshes with Wheels bones can use the built-in feature of animated Wheels.
๐ย Examplesโ
Server/Index.lua
-- Spawns a Pickup Vehicle
local vehicle = Vehicle(location or Vector(), rotation or Rotator(), "nanos-world::SK_Pickup", CollisionType.Normal, true, false, true, "nanos-world::A_Vehicle_Engine_10")
-- Configure it's Engine power and Aerodynamics
vehicle:SetEngineSetup(700, 5000)
vehicle:SetAerodynamicsSetup(2500)
-- Configure it's Steering Wheel and Headlights location
vehicle:SetSteeringWheelSetup(Vector(0, 27, 120), 24)
vehicle:SetHeadlightsSetup(Vector(270, 0, 70))
-- Configures each Wheel
vehicle:SetWheel(0, "Wheel_Front_Left", 27, 18, 45, Vector(), true, true, false, false, false, 1500, 3000, 1000, 1, 3, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(1, "Wheel_Front_Right", 27, 18, 45, Vector(), true, true, false, false, false, 1500, 3000, 1000, 1, 3, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(2, "Wheel_Rear_Left", 27, 18, 0, Vector(), false, true, true, false, false, 1500, 3000, 1000, 1, 4, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(3, "Wheel_Rear_Right", 27, 18, 0, Vector(), false, true, true, false, false, 1500, 3000, 1000, 1, 4, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
-- Adds 6 Doors/Seats
vehicle:SetDoor(0, Vector( 50, -75, 105), Vector( 8, -32.5, 95), Rotator(0, 0, 10), 70, -150)
vehicle:SetDoor(1, Vector( 50, 75, 105), Vector( 25, 50, 90), Rotator(0, 0, 0), 70, 150)
vehicle:SetDoor(2, Vector( -90, -75, 130), Vector( -90, -115, 155), Rotator(0, 90, 20), 60, -150)
vehicle:SetDoor(3, Vector( -90, 75, 130), Vector( -90, 115, 155), Rotator(0, -90, 20), 60, 150)
vehicle:SetDoor(4, Vector(-195, -75, 130), Vector(-195, -115, 155), Rotator(0, 90, 20), 60, -150)
vehicle:SetDoor(5, Vector(-195, 75, 130), Vector(-195, 115, 155), Rotator(0, -90, 20), 60, 150)
-- Make it ready (so clients only create Physics once and not for each function call above)
vehicle:RecreatePhysics()
๐ ย Constructorsโ
Default Constructorโ
local my_vehicle = Vehicle(location, rotation, asset, collision_type?, gravity_enabled?, auto_create_physics?, auto_unflip?, engine_sound?, horn_sound?, brake_sound?, engine_start_sound?, vehicle_door_sound?, auto_start_engine?, custom_animation_blueprint?)
Type | Name | Default | Description |
---|---|---|---|
Vector | location | ||
Rotator | rotation | ||
SkeletalMesh Reference | asset | ||
CollisionType | collision_type | CollisionType.Normal | |
boolean | gravity_enabled | true | |
boolean | auto_create_physics | true | Can be disabled to improve performance when setting several configs. Must call RecreatePhysics() after all |
boolean | auto_unflip | true | Auto rotates the vehicle if flipped |
Sound Reference | engine_sound | nanos-world::A_Vehicle_Engine_01 | |
Sound Reference | horn_sound | nanos-world::A_Vehicle_Horn_Toyota | |
Sound Reference | brake_sound | nanos-world::A_Vehicle_Brake | |
Sound Reference | engine_start_sound | nanos-world::A_Car_Engine_Start | |
Sound Reference | vehicle_door_sound | nanos-world::A_Vehicle_Door | |
boolean | auto_start_engine | true | |
Blueprint Reference | custom_animation_blueprint |
|
tip
Please take a look at our Default's Vehicle package with all built-in Vehicles already properly configured and ready to use: https://github.com/nanos-world/nanos-world-vehicles.
More related examples:
Monster Truckgetting-started/tutorials-and-examples/monster-truck๐ฟย Static Functionsโ
Inherited Entity Static Functions
Base Entityscripting-reference/classes/base-classes/Entity
Returns | Name | Description | |
---|---|---|---|
![]() | table of Base Entity | GetAll | Returns a table containing all Entities of the class this is called on |
![]() | Base Entity | GetByIndex | Returns a specific Entity of this class at an index |
![]() | integer | GetCount | Returns how many Entities of this class exist |
![]() | table of table | GetInheritedClasses | Gets a list of all directly inherited classes from this Class created with the Inheriting System |
![]() | iterator | GetPairs | Returns an iterator with all Entities of this class to be used with pairs() |
![]() | table or nil | GetParentClass | Gets the parent class if this Class was created with the Inheriting System |
![]() | table | Inherit | Inherits this class with the Inheriting System |
![]() | boolean | IsChildOf | Gets if this Class is child of another class if this Class was created with the Inheriting System |
![]() | function | Subscribe | Subscribes to an Event for all entities of this Class |
![]() | function | SubscribeRemote | Subscribes to a custom event called from server |
![]() | Unsubscribe | Unsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed |
๐ฆ ย Functionsโ
Inherited Entity Functions
Base Entityscripting-reference/classes/base-classes/Entity
Returns | Name | Description | |
---|---|---|---|
BroadcastRemoteEvent | Calls a custom remote event directly on this entity to all Players | ||
CallRemoteEvent | Calls a custom remote event directly on this entity to a specific Player | ||
CallRemoteEvent | Calls a custom remote event directly on this entity | ||
Destroy | Destroys this Entity | ||
![]() | table | GetClass | Gets the class of this entity |
![]() | integer | GetID | Gets the universal network ID of this Entity (same on both client and server) |
![]() | any | GetValue | Gets a Value stored on this Entity at the given key |
![]() | boolean | IsA | Recursively checks if this entity is inherited from a Class |
![]() | boolean | IsValid | Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity) |
![]() | SetValue | Sets a Value in this Entity | |
![]() | function | Subscribe | Subscribes to an Event on this specific entity |
![]() | function | SubscribeRemote | Subscribes to a custom event called from server on this specific entity |
![]() | Unsubscribe | Unsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed |
Inherited Actor Functions
Base Actorscripting-reference/classes/base-classes/Actor
Returns | Name | Description | |
---|---|---|---|
AddActorTag | Adds an Unreal Actor Tag to this Actor | ||
![]() | AddImpulse | Applies a force in world world to this Actor | |
AttachTo | Attaches this Actor to any other Actor, optionally at a specific bone | ||
Detach | Detaches this Actor from AttachedTo Actor | ||
table of string | GetActorTags | Gets all Unreal Actor Tags on this Actor | |
![]() | table of Base Actor | GetAttachedEntities | Gets all Actors attached to this Actor |
![]() | Base Actor or nil | GetAttachedTo | Gets the Actor this Actor is attached to |
table | GetBounds | Gets this Actor's bounds | |
![]() | CollisionType | GetCollision | Gets this Actor's collision type |
![]() | integer | GetDimension | Gets this Actor's dimension |
float | GetDistanceFromCamera | Gets the distance of this Actor from the Camera | |
![]() | Vector | GetForce | Gets this Actor's force (set by SetForce() ) |
![]() | Vector | GetLocation | Gets this Actor's location in the game world |
Player or nil | GetNetworkAuthority | Gets this Actor's Network Authority Player | |
![]() | Vector | GetRelativeLocation | Gets this Actor's Relative Location if it's attached |
![]() | Rotator | GetRelativeRotation | Gets this Actor's Relative Rotation if it's attached |
![]() | Rotator | GetRotation | Gets this Actor's angle in the game world |
![]() | Vector | GetScale | Gets this Actor's scale |
float | GetScreenPercentage | Gets the percentage of this Actor size in the screen | |
![]() | Vector | GetVelocity | Gets this Actor's current velocity |
boolean | HasAuthority | Gets if this Actor was spawned by the client side | |
boolean | HasNetworkAuthority | Returns true if the local Player is currently the Network Authority of this Actor | |
![]() | boolean | IsBeingDestroyed | Returns true if this Actor is being destroyed |
![]() | boolean | IsGravityEnabled | Returns true if gravity is enabled on this Actor |
![]() | boolean | IsInWater | Returns true if this Actor is in water |
![]() | boolean | IsNetworkDistributed | Returns true if this Actor is currently network distributed |
![]() | boolean | IsVisible | Returns true if this Actor is visible |
RemoveActorTag | Removes an Unreal Actor Tag from this Actor | ||
![]() | RotateTo | Smoothly rotates this actor to an angle over a certain time | |
SetCollision | Sets this Actor's collision type | ||
SetDimension | Sets this Actor's Dimension | ||
![]() | SetForce | Adds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel | |
SetGravityEnabled | Sets whether gravity is enabled on this Actor | ||
SetHighlightEnabled | Sets whether the highlight is enabled on this Actor, and which highlight index to use | ||
SetLifeSpan | Sets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed. | ||
SetLocation | Sets this Actor's location in the game world | ||
SetNetworkAuthority | Sets the Player to have network authority over this Actor | ||
SetNetworkAuthorityAutoDistributed | Sets if this Actor will auto distribute the network authority betwen players | ||
SetOutlineEnabled | Sets whether the outline is enabled on this Actor, and which outline index to use | ||
SetRelativeLocation | Sets this Actor's relative location in local space (only if this actor is attached) | ||
SetRelativeRotation | Sets this Actor's relative rotation in local space (only if this actor is attached) | ||
SetRotation | Sets this Actor's rotation in the game world | ||
SetScale | Sets this Actor's scale | ||
![]() | SetVisibility | Sets whether the actor is visible or not | |
![]() | TranslateTo | Smoothly moves this actor to a location over a certain time | |
boolean | WasRecentlyRendered | Gets if this Actor was recently rendered on screen |
Inherited Paintable Functions
Base Paintablescripting-reference/classes/base-classes/Paintable
Returns | Name | Description | |
---|---|---|---|
![]() | ResetMaterial | Resets the material from the specified index to the original one | |
![]() | SetMaterial | Sets the material at the specified index of this Actor | |
![]() | SetMaterialColorParameter | Sets a Color parameter in this Actor's material | |
SetMaterialFromCanvas | Sets the material at the specified index of this Actor to a Canvas object | ||
SetMaterialFromSceneCapture | Sets the material at the specified index of this Actor to a SceneCapture object | ||
SetMaterialFromWebUI | Sets the material at the specified index of this Actor to a WebUI object | ||
![]() | SetMaterialScalarParameter | Sets a Scalar parameter in this Actor's material | |
![]() | SetMaterialTextureParameter | Sets a texture parameter in this Actor's material to an image on disk | |
![]() | SetMaterialVectorParameter | Sets a Vector parameter in this Actor's material | |
![]() | SetPhysicalMaterial | Overrides this Actor's Physical Material with a new one |
Returns | Name | Description | |
---|---|---|---|
![]() | AddStaticMeshAttached | Spawns and Attaches a StaticMesh into this Vehicle | |
table | GetBoneTransform | Gets a Bone Transform in world space given a bone name | |
![]() | table | GetDoors | Gets all configured Doors |
integer | GetGear | Gets the current Gear | |
![]() | VehiclePath | GetMesh | Gets the Asset name |
![]() | Character | GetPassenger | Gets a passenger from a seat |
![]() | table of Character | GetPassengers | Gets all passengers |
integer | GetRPM | Gets the current RPM | |
Horn | Starts or stops the vehicles horn | ||
![]() | PlayAnimation | Plays an Animation on this Vehicle | |
RecreatePhysics | Recreate the Vehicle Physics | ||
![]() | RemoveAllStaticMeshesAttached | Removes all StaticMeshes attached | |
![]() | RemoveStaticMeshAttached | Removes, if existing, a StaticMesh from this Vehicle given it's custom ID | |
SetAerodynamicsSetup | Configures the Vehicle Aerodynamics Settings | ||
SetAutoStartEngine | Sets if the Engine auto starts when the driver enters the Vehicle | ||
![]() | SetCameraOffset | Sets the Vehicle Camera Offset | |
SetDoor | Adds a Door to the Vehicle | ||
SetEngineSetup | Configures the Vehicle Engine (Torque, RPM, Braking) | ||
SetEngineStarted | Sets if the Engine is turned off/on | ||
SetHeadlightsSetup | Configures the Headlights Offset and Color. | ||
SetSteeringSetup | Configures the Vehicle Steering | ||
SetSteeringWheelSetup | Configures where the Steering Wheel is located | ||
SetTaillightsSetup | Configures the Taillights Offset. | ||
SetTransmissionSetup | Configures the Vehicle Transmission | ||
SetWheel | Configures a Vehicle Wheel |

AddStaticMeshAttached
โ
Spawns and Attaches a StaticMesh into this Vehicle in a Socket with relative Location and Rotation. Uses a custom ID to be used for removing it further
For customizing the Materials specific of a StaticMeshAttached, please use the following syntax as theparameter_name
in the Paintable methods:attachable///[ATTACHABLE_ID]/[PARAMETER_NAME]
, where [ATTACHABLE_ID] is the ID of the Attachable, and [PARAMETER_NAME] is the name of the parameter you want to change.
my_vehicle:AddStaticMeshAttached(id, static_mesh_asset?, socket?, relative_location?, relative_rotation?)
Type | Parameter | Default | Description |
---|---|---|---|
string | id | Used further for removing or applying material settings on it | |
StaticMesh Reference | static_mesh_asset? |
| |
string | socket? |
| |
Vector | relative_location? | Vector(0, 0, 0) | |
Rotator | relative_rotation? | Rotator(0, 0, 0) |

GetBoneTransform
โ
Gets a Bone Transform in world space given a bone name
โ Returns table (with this format).
local ret = my_vehicle:GetBoneTransform(bone_name)
Type | Parameter | Default | Description |
---|---|---|---|
string | bone_name |

GetDoors
โ
Gets all configured Doors
โ Returns table (with this format).
local ret = my_vehicle:GetDoors()

GetGear
โ
Gets the current Gear
โ Returns integer.
local ret = my_vehicle:GetGear()

GetMesh
โ
Gets the Asset name
โ Returns VehiclePath (asset path).
local ret = my_vehicle:GetMesh()

GetPassenger
โ
Gets a passenger from a seat
โ Returns Character (or nil if no passenger in seat).
local ret = my_vehicle:GetPassenger(seat)
Type | Parameter | Default | Description |
---|---|---|---|
integer | seat |

GetPassengers
โ
Gets all passengers
โ Returns table of Character.
local ret = my_vehicle:GetPassengers()

GetRPM
โ
Gets the current RPM
โ Returns integer.
local ret = my_vehicle:GetRPM()

Horn
โ
Starts or stops the vehicles horn
my_vehicle:Horn(enable_horn)
Type | Parameter | Default | Description |
---|---|---|---|
boolean | enable_horn |

PlayAnimation
โ
Plays an Animation on this Vehicle
my_vehicle:PlayAnimation(animation_path, slot_name?, loop_indefinitely?, blend_in_time?, blend_out_time?, play_rate?, stop_all_montages?)
Type | Parameter | Default | Description |
---|---|---|---|
Animation Reference | animation_path | ||
string | slot_name? | DefaultSlot | |
boolean | loop_indefinitely? | false | This parameter is only used if the Vehicle has an Animation Blueprint |
float | blend_in_time? | 0.25 | This parameter is only used if the Vehicle has an Animation Blueprint |
float | blend_out_time? | 0.25 | This parameter is only used if the Vehicle has an Animation Blueprint |
float | play_rate? | 1.0 | This parameter is only used if the Vehicle has an Animation Blueprint |
boolean | stop_all_montages? | false | Stops all running Montages from the same Group. This parameter is only used if the Vehicle has an Animation Blueprint |

RecreatePhysics
โ
Call this after configuring the vehicle if passed auto_create_physics
to constructor
my_vehicle:RecreatePhysics()

RemoveAllStaticMeshesAttached
โ
Removes all StaticMeshes attached
my_vehicle:RemoveAllStaticMeshesAttached()

RemoveStaticMeshAttached
โ
Removes, if existing, a StaticMesh from this Vehicle given it's custom ID
my_vehicle:RemoveStaticMeshAttached(id)
Type | Parameter | Default | Description |
---|---|---|---|
string | id |

SetAerodynamicsSetup
โ
Configures the Vehicle Aerodynamics Settings
my_vehicle:SetAerodynamicsSetup(mass?, drag_coefficient?, vehicle_chassis_width?, vehicle_chassis_height?, vehicle_downforce_coefficient?, center_of_mass_override?)
Type | Parameter | Default | Description |
---|---|---|---|
integer | mass? | 1500 | Mass of the vehicle chassis |
float | drag_coefficient? | 0.3 | Force resisting forward motion at speed |
integer | vehicle_chassis_width? | 180 | Chassis width used for drag force computation (cm) |
integer | vehicle_chassis_height? | 140 | Chassis height used for drag force computation (cm) |
float | vehicle_downforce_coefficient? | 0.3 | Force pressing vehicle into ground at speed |
Vector | center_of_mass_override? | Vector(0, 0, 50) | Overrides the center of mass. Good for curves stabilization. Ideally the Z should be the same as the wheels radius |

SetAutoStartEngine
โ
Sets if the Engine auto starts when the driver enters the Vehicle
my_vehicle:SetAutoStartEngine(auto_start)
Type | Parameter | Default | Description |
---|---|---|---|
boolean | auto_start |

SetCameraOffset
โ
Sets the Vehicle Camera Offset
my_vehicle:SetCameraOffset(offset)
Type | Parameter | Default | Description |
---|---|---|---|
Vector | offset |

SetDoor
โ
Adds a Door at offset_location from root which will pose the Character at seat_location with seat_rotation rotation.
my_vehicle:SetDoor(seat_index, offset_location, seat_location, seat_rotation, trigger_radius, leave_lateral_offset)
Type | Parameter | Default | Description |
---|---|---|---|
integer | seat_index | ||
Vector | offset_location | ||
Vector | seat_location | ||
Rotator | seat_rotation | ||
integer | trigger_radius | ||
integer | leave_lateral_offset | It's where the Character will be ejected when leaving it (e.g. -150 for left door or 150 for right door) |

SetEngineSetup
โ
Configures the Vehicle Engine (Torque, RPM, Braking)
my_vehicle:SetEngineSetup(max_torque?, max_rpm?, idle_rpm?, brake_effect?, rev_up_moi?, rev_down_rate?)
Type | Parameter | Default | Description |
---|---|---|---|
integer | max_torque? | 700 | Max Engine Torque (Nm) is multiplied by TorqueCurve |
integer | max_rpm? | 5700 | Maximum revolutions per minute of the engine |
integer | idle_rpm? | 1200 | Idle RMP of engine then in neutral/stationary |
float | brake_effect? | 0.05 | Braking effect from engine, when throttle released |
integer | rev_up_moi? | 5 | Affects how fast the engine RPM speed up |
integer | rev_down_rate? | 600 | Affects how fast the engine RPM slows down |

SetEngineStarted
โ
Sets if the Engine is turned off/on (this will affect Lights, Sounds and ability to Throttle)
my_vehicle:SetEngineStarted(started)
Type | Parameter | Default | Description |
---|---|---|---|
boolean | started |

SetHeadlightsSetup
โ
Configures the Headlights Offset and Color.
my_vehicle:SetHeadlightsSetup(location, color?)

SetSteeringSetup
โ
Configures the Vehicle Steering
my_vehicle:SetSteeringSetup(steering_type, angle_ratio?)
Type | Parameter | Default | Description |
---|---|---|---|
SteeringType | steering_type | ||
float | angle_ratio? | 0.7 | Only applies when AngleRatio is selected |

SetSteeringWheelSetup
โ
Configures where the Steering Wheel is located, so Characters can grab it procedurally properly
my_vehicle:SetSteeringWheelSetup(location, radius)

SetTaillightsSetup
โ
Configures the Taillights Offset.
my_vehicle:SetTaillightsSetup(location)
Type | Parameter | Default | Description |
---|---|---|---|
Vector | location |

SetTransmissionSetup
โ
Configures the Vehicle Transmission
my_vehicle:SetTransmissionSetup(transmission_final_ratio?, transmission_change_up_rpm?, transmission_change_down_rpm?, transmission_gear_change_time?, transmission_efficiency?)
Type | Parameter | Default | Description |
---|---|---|---|
float | transmission_final_ratio? | 3.08 | The final gear ratio multiplies the transmission gear ratios |
integer | transmission_change_up_rpm? | 4500 | Engine Revs at which gear up change ocurrs |
integer | transmission_change_down_rpm? | 2000 | Engine Revs at which gear down change ocurrs |
float | transmission_gear_change_time? | 0.4 | Time it takes to switch gears (seconds) |
float | transmission_efficiency? | 0.94 | Mechanical frictional losses mean transmission might operate at 0.94 (94% efficiency) |

SetWheel
โ
Wheels can be updated in runtime by calling SetWheel again, you can for example change the suspension high or disable a wheel totally by toggling affected_by_engine off or setting radius to 0.
my_vehicle:SetWheel(index, bone_name, radius?, width?, max_steer_angle?, offset?, is_affected_by_engine?, is_affected_by_brake?, is_affected_by_handbrake?, has_abs_enabled?, has_traction_control_enabled?, max_brake_torque?, max_handbrake_torque?, cornering_stiffness?, side_slip_modifier?, friction_force_multiplier?, slip_threshold?, skid_threshold?, suspension_spring_rate?, suspension_spring_preload?, suspension_max_raise?, suspension_max_drop?, suspension_smoothing?, suspension_damping_ratio?, suspension_wheel_load_ratio?, suspension_axis?, suspension_force_offset?)
Type | Parameter | Default | Description |
---|---|---|---|
integer | index | Index of the wheel (0-N). Set it in ASC order | |
string | bone_name | Name of the bone to attach this wheel to | |
integer | radius? | 32 | Radius of the wheel |
integer | width? | 20 | Width of the wheel |
integer | max_steer_angle? | 50 | Steer angle in degrees for this wheel |
Vector | offset? | Vector(0, 0, 0) | If bone_name is specified, offset the wheel from the bone's location. Otherwise this offsets the wheel from the vehicle's origin |
boolean | is_affected_by_engine? | true | Whether engine should power this wheel |
boolean | is_affected_by_brake? | true | Whether brake should affect this wheel |
boolean | is_affected_by_handbrake? | true | Whether handbrake should affect this wheel |
boolean | has_abs_enabled? | false | Advanced Braking System Enabled |
boolean | has_traction_control_enabled? | false | Straight Line Traction Control Enabled |
integer | max_brake_torque? | 1500 | Max brake torque for this wheel (Nm) |
integer | max_handbrake_torque? | 3000 | Max handbrake brake torque for this wheel (Nm). A handbrake should have a stronger brake torque than the brake |
integer | cornering_stiffness? | 1000 | Tyre Cornering Ability |
float | side_slip_modifier? | 1.0 | Wheel Lateral Skid Grip Loss, lower number less grip on skid |
float | friction_force_multiplier? | 2.0 | Friction Force Multiplier |
float | slip_threshold? | 20.0 | Wheel Longitudinal Slip Threshold |
float | skid_threshold? | 20.0 | Wheel Lateral Skid Threshold |
float | suspension_spring_rate? | 250.0 | Spring Force (N/m) |
float | suspension_spring_preload? | 50.0 | Spring Preload (N/m) |
float | suspension_max_raise? | 10.0 | How far the wheel can go above the resting position |
float | suspension_max_drop? | 10.0 | How far the wheel can drop below the resting position |
float | suspension_smoothing? | 0.0 | Smooth suspension [0-off, 10-max] - Warning might cause momentary visual inter-penetration of the wheel against objects/terrain |
float | suspension_damping_ratio? | 0.5 | Suspension damping, larger value causes the suspension to come to rest faster [range 0 to 1] |
float | suspension_wheel_load_ratio? | 0.5 | Amount wheel load effects wheel friction. - At 0 wheel friction is completely independent of the loading on the wheel (This is artificial as it always assumes even balance between all wheels) - At 1 wheel friction is based on the force pressing wheel into the ground. This is more realistic. - Lower value cures lift off over-steer, generally makes vehicle easier to handle under extreme motions. |
Vector | suspension_axis? | Vector(0, 0, -1) | Local body direction in which where suspension forces are applied (typically along -Z-axis) |
Vector | suspension_force_offset? | Vector(0, 0, 0) | Vertical offset from where suspension forces are applied (along Z-axis) |
๐ย Eventsโ
Inherited Entity Events
Base Entityscripting-reference/classes/base-classes/Entity
Name | Description | |
---|---|---|
![]() | ClassRegister | Triggered when a new Class is registered with the Inheriting System |
![]() | Destroy | Triggered when an Entity is destroyed |
![]() | Spawn | Triggered when an Entity is spawned/created |
![]() | ValueChange | Triggered when an Entity has a value changed with :SetValue() |
Inherited Actor Events
Base Actorscripting-reference/classes/base-classes/Actor
Name | Description | |
---|---|---|
![]() | ClassRegister | Triggered when a new Class is registered with the Inheriting System |
![]() | Destroy | Triggered when an Entity is destroyed |
![]() | Spawn | Triggered when an Entity is spawned/created |
![]() | ValueChange | Triggered when an Entity has a value changed with :SetValue() |
Name | Description | |
---|---|---|
CharacterAttemptEnter | Triggered when a Character attempts to enter the Vehicle | |
CharacterAttemptLeave | Triggered when a Character attempts to leave the Vehicle | |
![]() | CharacterEnter | Triggered when a Character fully enters the Vehicle |
![]() | CharacterLeave | Triggered when a Character fully leaves the Vehicle |
![]() | Hit | Triggered when Vehicle hits something |
![]() | Horn | Triggered when Vehicle honks |
TakeDamage | Triggered when this Vehicle takes damage |

CharacterAttemptEnter
โ
Triggered when a Character attempts to enter the Vehicle
Return false to prevent it
Vehicle.Subscribe("CharacterAttemptEnter", function(self, character, seat)
-- CharacterAttemptEnter was called
end)

CharacterAttemptLeave
โ
Triggered when a Character attempts to leave the Vehicle
Return false to prevent it
Vehicle.Subscribe("CharacterAttemptLeave", function(self, character)
-- CharacterAttemptLeave was called
end)

CharacterEnter
โ
Triggered when a Character fully enters the Vehicle
Vehicle.Subscribe("CharacterEnter", function(self, character, seat)
-- CharacterEnter was called
end)

CharacterLeave
โ
Triggered when a Character fully leaves the Vehicle
Vehicle.Subscribe("CharacterLeave", function(self, character)
-- CharacterLeave was called
end)

Hit
โ
Triggered when Vehicle hits something
Vehicle.Subscribe("Hit", function(self, impact_force, normal_impulse, impact_location, velocity)
-- Hit was called
end)
Type | Argument | Description |
---|---|---|
Vehicle | self | |
integer | impact_force | The intensity of the Hit normalized by the Vehicle's weight |
Vector | normal_impulse | The impulse direction it hits |
Vector | impact_location | The world 3D location of the impact |
Vector | velocity | The Vehicle velocity at the moment it hits |

Horn
โ
Triggered when Vehicle honks
Vehicle.Subscribe("Horn", function(self, is_honking)
-- Horn was called
end)

TakeDamage
โ
Triggered when this Vehicle takes damage
Returnfalse
to cancel the damage (will still display animations, particles and apply impact forces)
Vehicle.Subscribe("TakeDamage", function(self, damage, bone, type, from_direction, instigator, causer)
-- TakeDamage was called
end)