Skip to main content
Version: latest - a1.156.0 โš–๏ธ

Base Vehicle

Base class for all Vehicle entities.

๐Ÿ‘ชBase Class
This is a Base Class, an abstract definition that shares common methods and events with it's child classes. You cannot spawn it, and you cannot call anything on the Base Class name itself. Use any class that inherits it.

Classes that share methods and events from this Base Class: VehicleWheeled, VehicleWater.

๐Ÿฆ ย Functionsโ€‹

ReturnsNameDescription
AddSkeletalMeshAttachedAttaches a Skeletal Mesh as master pose to this entity
AddStaticMeshAttachedAttaches a Static Mesh to this entity
functionBindAnimationBlueprintEventDispatcherAssigns and Binds an Animation Blueprint Event Dispatcher
varargs of anyCallAnimationBlueprintEventCalls an Animation Blueprint Event or Function
table of stringGetAllSkeletalMeshAttachedGets all Skeletal Meshes attached to this entity
table of stringGetAllStaticMeshAttachedGets all Static Meshes attached to this entity
anyGetAnimationBlueprintPropertyValueGets an Animation Blueprint Property/Variable value directly
tableGetDoorsGets all configured Doors
SkeletalMesh ReferenceGetMeshGets the Asset name
CharacterGetPassengerGets a passenger from a seat
table of CharacterGetPassengersGets all passengers
HideBoneHides a bone of this Vehicle
booleanIsBoneHiddenGets if a bone is hidden
booleanIsEngineStartedChecks if the engine is started
PlayAnimationPlays an Animation on this Vehicle
RemoveAllSkeletalMeshesAttachedRemoves all SkeletalMeshes attached
RemoveAllStaticMeshesAttachedRemoves all StaticMeshes attached
RemoveSkeletalMeshAttachedRemoves, if it exists, a SkeletalMesh from this Vehicle given its custom ID
RemoveStaticMeshAttachedRemoves, if it exists, a StaticMesh from this Vehicle given its custom ID
SetAnimationBlueprintPropertyValueSets an Animation Blueprint Property/Variable value directly
SetBuoyancyPontoonsSets the Buoyancy Pontoons used by the Water simulation
SetBuoyancySettingsSets how this entity behaves on Water
SetCameraArmLengthSets how far the camera stays from this Vehicle while driving it
SetCameraOffsetSets the Vehicle Camera Offset
SetDoorAdds a Door to the Vehicle
SetExplosionSettingsConfigures the Explosion Settings when health reaches zero
SetStaticMeshAttachedTransformSets a Static Mesh Attached location and rotation
StopAnimationStops an Animation Montage on this Vehicle
UnbindAnimationBlueprintEventDispatcherUnbinds an Animation Blueprint Event Dispatcher
UnHideBoneUnHide a bone of this Vehicle

Slow

AddSkeletalMeshAttachedโ€‹

Spawns and attaches a SkeletalMesh to this entity, the SkeletalMesh must have the same skeleton used by this Actor's mesh, and will follow all animations from it. Uses a custom ID to be used for removing/customizing it afterwards
๐Ÿ†•Updated Function
This method was recently updated in ver. 1.144. See the Compatibility Versions page for more information.
my_vehicle:AddSkeletalMeshAttached(id, skeletal_mesh_path, socket?, relative_location?, relative_rotation?, use_parent_bounds?, use_base_leader_pose_component?, animation_path?, attachable_id?)

Parameters

TypeParameterDefaultDescription
stringid Required parameter Used further for removing or applying material settings on it
SkeletalMesh Referenceskeletal_mesh_path Required parameter Path to SkeletalMesh asset to attach
stringsocket?
Bone socket to attach to
Vectorrelative_location?Vector(0, 0, 0)
Relative location
Rotatorrelative_rotation?Rotator(0, 0, 0)
Relative rotation
booleanuse_parent_bounds?true
If true, this component uses its parents bounds when attached. This can be a significant optimization with many components attached together
booleanuse_base_leader_pose_component?true
If true, this component will use the base leader pose component for copying its animation
Animation Referenceanimation_path?
Path to Animation asset to play on the Skeletal Mesh attached
stringattachable_id?
Optionally attaches this to another attached skeletal mesh (instead of attaching to the root component)

See also RemoveSkeletalMeshAttached.


Slow

AddStaticMeshAttachedโ€‹

Spawns and attaches a StaticMesh to this Vehicle in a Socket with a relative location and rotation. Uses a custom ID to be used for removing/customizing it afterwards
my_vehicle:AddStaticMeshAttached(id, static_mesh_path, socket?, relative_location?, relative_rotation?, use_parent_bounds?, attachable_id?)

Parameters

TypeParameterDefaultDescription
stringid Required parameter Unique ID to assign to the StaticMesh
StaticMesh Referencestatic_mesh_path Required parameter Path to StaticMesh asset to attach
stringsocket?
Bone socket to attach to
Vectorrelative_location?Vector(0, 0, 0)
Relative location
Rotatorrelative_rotation?Rotator(0, 0, 0)
Relative rotation
booleanuse_parent_bounds?true
If true, this component uses its parents bounds when attached. This can be a significant optimization with many components attached together
stringattachable_id?
Optionally attaches this to another attached static mesh (instead of attaching to the root component)

See also SetStaticMeshAttachedTransform, RemoveStaticMeshAttached.


Slow

BindAnimationBlueprintEventDispatcherโ€‹

Assigns and Binds an Animation Blueprint Event Dispatcher.

Note: only VehicleWheeled has an Animation Blueprint, on any other Vehicle type this does nothing.
local ret = my_vehicle:BindAnimationBlueprintEventDispatcher(dispatcher_name, callback)

Parameters

TypeParameterDefaultDescription
stringdispatcher_name Required parameter Event Dispatcher name
functioncallback Required parameter Callback function to call with this format

Returns

TypeDescription
functionthe callback itself

Slow

CallAnimationBlueprintEventโ€‹

Calls an Animation Blueprint Event or Function
Returns all Function return values on Client Side

Note: only VehicleWheeled has an Animation Blueprint, on any other Vehicle type this does nothing.
local ret_01, ret_02, ... = my_vehicle:CallAnimationBlueprintEvent(event_name, arguments...?)

Parameters

TypeParameterDefaultDescription
stringevent_name Required parameter Event or Function name
anyarguments...?nil
Sequence of arguments to pass to the event

Returns

TypeDescription
varargs of anythe function return values

Optimal

GetAllSkeletalMeshAttachedโ€‹

Gets all Skeletal Meshes attached to this entity
local ret = my_vehicle:GetAllSkeletalMeshAttached()

Returns

TypeDescription
table of stringthe key as the Attached ID, and the value as the Asset Path

Optimal

GetAllStaticMeshAttachedโ€‹

Gets all Static Meshes attached to this entity
local ret = my_vehicle:GetAllStaticMeshAttached()

Returns

TypeDescription
table of stringthe key as the Attached ID, and the value as the Asset Path

Slow

GetAnimationBlueprintPropertyValueโ€‹

Gets an Animation Blueprint Property/Variable value directly.

Note: only VehicleWheeled has an Animation Blueprint, on any other Vehicle type this returns nil.
local ret = my_vehicle:GetAnimationBlueprintPropertyValue(property_name)

Parameters

TypeParameterDefaultDescription
stringproperty_name Required parameter Name of the Animation Blueprint variable

Returns

TypeDescription
anythe property value

See also SetAnimationBlueprintPropertyValue.


Moderate

GetDoorsโ€‹

Gets all configured Doors
local ret = my_vehicle:GetDoors()

Returns

TypeDescription
tableAll configured Doors with this format

Optimal

GetMeshโ€‹

Gets the Asset name
local asset = my_vehicle:GetMesh()

Returns

TypeDescription
SkeletalMesh Referenceasset path

Optimal

GetPassengerโ€‹

Gets a passenger from a seat
local passenger = my_vehicle:GetPassenger(seat)

Parameters

TypeParameterDefaultDescription
integerseat Required parameter Index of the seat, 0 is the driver

Returns

TypeDescription
Characteror nil if no passenger in seat

Moderate

GetPassengersโ€‹

Gets all passengers
local passengers = my_vehicle:GetPassengers()

Returns

TypeDescription
table of CharacterAll passengers

Optimal

HideBoneโ€‹

Hides a bone of this Vehicle
my_vehicle:HideBone(bone_name)

Parameters

TypeParameterDefaultDescription
stringbone_name Required parameter Bone to hide

See also UnHideBone, IsBoneHidden.


Optimal

IsBoneHiddenโ€‹

Gets if a bone is hidden
local is_hidden = my_vehicle:IsBoneHidden(bone_name)

Parameters

TypeParameterDefaultDescription
stringbone_name Required parameter Bone to check

Returns

TypeDescription
booleanif the bone is hidden

See also UnHideBone, HideBone.


Optimal

IsEngineStartedโ€‹

Checks if the engine is started
local is_started = my_vehicle:IsEngineStarted()

Returns

TypeDescription
booleanWhether the engine is started

Moderate

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?)

Parameters

TypeParameterDefaultDescription
Animation Referenceanimation_path Required parameter The Animation asset to play
stringslot_name?DefaultSlot
The Animation Slot to play it on
booleanloop_indefinitely?false
This parameter is only used if the Vehicle has an Animation Blueprint
floatblend_in_time?0.25
This parameter is only used if the Vehicle has an Animation Blueprint
floatblend_out_time?0.25
This parameter is only used if the Vehicle has an Animation Blueprint
floatplay_rate?1.0
This parameter is only used if the Vehicle has an Animation Blueprint
booleanstop_all_montages?false
Stops all running Montages from the same Group. This parameter is only used if the Vehicle has an Animation Blueprint

Optimal

RemoveAllSkeletalMeshesAttachedโ€‹

Removes all SkeletalMeshes attached
my_vehicle:RemoveAllSkeletalMeshesAttached()

Optimal

RemoveAllStaticMeshesAttachedโ€‹

Removes all StaticMeshes attached
my_vehicle:RemoveAllStaticMeshesAttached()

Optimal

RemoveSkeletalMeshAttachedโ€‹

Removes, if it exists, a SkeletalMesh from this Vehicle given its custom ID
my_vehicle:RemoveSkeletalMeshAttached(id)

Parameters

TypeParameterDefaultDescription
stringid Required parameter Unique ID of the SkeletalMesh to remove

See also AddSkeletalMeshAttached.


Optimal

RemoveStaticMeshAttachedโ€‹

Removes, if it exists, a StaticMesh from this Vehicle given its custom ID
my_vehicle:RemoveStaticMeshAttached(id)

Parameters

TypeParameterDefaultDescription
stringid Required parameter Unique ID of the StaticMesh to remove

See also AddStaticMeshAttached.


Slow

SetAnimationBlueprintPropertyValueโ€‹

Sets an Animation Blueprint Property/Variable value directly on the Animation Blueprint passed in the constructor.

Note: only VehicleWheeled has an Animation Blueprint, on any other Vehicle type this does nothing.
my_vehicle:SetAnimationBlueprintPropertyValue(property_name, value)

Parameters

TypeParameterDefaultDescription
stringproperty_name Required parameter Name of the Animation Blueprint variable
anyvalue Required parameter The value to set

See also GetAnimationBlueprintPropertyValue.


Moderate

SetBuoyancyPontoonsโ€‹

Sets the spherical Pontoons used to float this entity on Water, overriding the ones automatically calculated from the Mesh bounds and mass.

Pass no value (or an empty table) to go back to the automatically calculated ones.

Pontoons only have an effect on Maps with Water Buoyancy enabled
my_vehicle:SetBuoyancyPontoons(pontoons?)

Parameters

TypeParameterDefaultDescription
tablepontoons?nil
Array with the Pontoons, or nil to restore the automatically calculated ones with this format

Moderate

SetBuoyancySettingsโ€‹

Any value passed as nil restores that setting's default.

While the Pontoons are being automatically calculated, changing buoyancy_coefficient also recalculates them, as their radius derives from it.
my_vehicle:SetBuoyancySettings(enabled?, buoyancy_coefficient?, buoyancy_damp?, max_buoyant_force?)

Parameters

TypeParameterDefaultDescription
booleanenabled?true
Whether Buoyancy forces are applied at all
floatbuoyancy_coefficient?0.1
How much it floats, the higher the more
floatbuoyancy_damp?1000
First order damping on the vertical velocity, reduces bobbing
floatmax_buoyant_force?5000000
Clamp on the upwards force, stops light objects being launched out of the water

Optimal

SetCameraArmLengthโ€‹

Sets how far the camera stays from this Vehicle while driving it, in centimeters.

This overrides the Player's own Camera Arm Length for as long as they are driving it. Set it to 0 to use the Player's value instead, which is the default.
my_vehicle:SetCameraArmLength(arm_length)

Parameters

TypeParameterDefaultDescription
integerarm_length Required parameter The distance in centimeters, or 0 to use the Player's own value

Optimal

SetCameraOffsetโ€‹

Sets the Vehicle Camera Offset
my_vehicle:SetCameraOffset(offset)

Parameters

TypeParameterDefaultDescription
Vectoroffset Required parameter The new Vehicle Camera Offset

Optimal

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)

Parameters

TypeParameterDefaultDescription
integerseat_index Required parameter Index of the seat, 0 is the driver
Vectoroffset_location Required parameter Location of the door trigger relative to the vehicle
Vectorseat_location Required parameter Location of the seat relative to the vehicle
Rotatorseat_rotation Required parameter Rotation of the seat relative to the vehicle
integertrigger_radius Required parameter Radius of the trigger used to enter through this door
integerleave_lateral_offset Required parameter It's where the Character will be ejected when leaving it (e.g. -150 for left door or 150 for right door)

Optimal

SetExplosionSettingsโ€‹

Configures the Explosion Settings when health reaches zero
my_vehicle:SetExplosionSettings(engine_relative_location, materials_index_burnt_override, materials_index_burnt_invisible)

Parameters

TypeParameterDefaultDescription
Vectorengine_relative_location Required parameter Relative location of the Engine. Used to apply particles and effects.
tablematerials_index_burnt_override Required parameter List of material indexes to override to burnt when exploded. Leave it empty for all indexes.
tablematerials_index_burnt_invisible Required parameter List of material indexes to override to invisible when exploded. Leave it empty for all indexes.
Vehicle.SetExplosionSettings Examples
Vehicle Explosion Settings
my_vehicle:SetExplosionSettings(Vector(-50, 0, 0), { 1, 2, 4 }, { 3 })

Optimal

SetStaticMeshAttachedTransformโ€‹

Sets a Static Mesh Attached location and rotation
my_vehicle:SetStaticMeshAttachedTransform(id, relative_location, relative_rotation)

Parameters

TypeParameterDefaultDescription
stringid Required parameter Unique ID of the StaticMesh set with AddStaticMeshAttached
Vectorrelative_location Required parameter New relative location
Rotatorrelative_rotation Required parameter New relative rotation

See also AddStaticMeshAttached.


Optimal

StopAnimationโ€‹

Stops an Animation Montage on this Vehicle
my_vehicle:StopAnimation(animation_asset?)

Parameters

TypeParameterDefaultDescription
Animation Referenceanimation_asset?
Leave empty to stop all Montages

Optimal

UnbindAnimationBlueprintEventDispatcherโ€‹

Unbinds an Animation Blueprint Event Dispatcher
my_vehicle:UnbindAnimationBlueprintEventDispatcher(dispatcher_name, callback?)

Parameters

TypeParameterDefaultDescription
stringdispatcher_name Required parameter Event Dispatcher name
functioncallback?nil
Optional callback to unbind

Optimal

UnHideBoneโ€‹

UnHide a bone of this Vehicle
my_vehicle:UnHideBone(bone_name)

Parameters

TypeParameterDefaultDescription
stringbone_name Required parameter Bone to unhide

See also HideBone, IsBoneHidden.

๐Ÿš€ย Eventsโ€‹

NameDescription
CharacterAttemptEnterTriggered when a Character attempts to enter the Vehicle
CharacterAttemptLeaveTriggered when a Character attempts to leave the Vehicle
CharacterEnterTriggered when a Character fully enters the Vehicle
CharacterLeaveTriggered when a Character fully leaves the Vehicle
EngineStartTriggered when the engine starts
EngineStopTriggered when the engine stops
HitTriggered when Vehicle hits something

CharacterAttemptEnterโ€‹

Triggered when a Character attempts to enter the Vehicle

Return false to prevent it
<AnyVehicleClass>.Subscribe("CharacterAttemptEnter", function(self, character, seat)
-- CharacterAttemptEnter was called
return true
end)

Arguments

TypeArgumentDescription
Base VehicleselfThe Vehicle that triggered the event
CharactercharacterThe Character
integerseatThe seat index

CharacterAttemptLeaveโ€‹

Triggered when a Character attempts to leave the Vehicle

Return false to prevent it
<AnyVehicleClass>.Subscribe("CharacterAttemptLeave", function(self, character)
-- CharacterAttemptLeave was called
return true
end)

Arguments

TypeArgumentDescription
Base VehicleselfThe Vehicle that triggered the event
CharactercharacterThe Character

CharacterEnterโ€‹

Triggered when a Character fully enters the Vehicle
<AnyVehicleClass>.Subscribe("CharacterEnter", function(self, character, seat_index)
-- CharacterEnter was called
end)

Arguments

TypeArgumentDescription
Base VehicleselfThe Vehicle that triggered the event
CharactercharacterThe Character
integerseat_indexThe seat entered, 0 is the driver

CharacterLeaveโ€‹

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

Arguments

TypeArgumentDescription
Base VehicleselfThe Vehicle that triggered the event
CharactercharacterThe Character
integerseat_indexThe seat left, 0 is the driver

EngineStartโ€‹

Triggered when the engine starts
<AnyVehicleClass>.Subscribe("EngineStart", function(self)
-- EngineStart was called
end)

Arguments

TypeArgumentDescription
Base VehicleselfThe Vehicle that triggered the event

EngineStopโ€‹

Triggered when the engine stops
<AnyVehicleClass>.Subscribe("EngineStop", function(self)
-- EngineStop was called
end)

Arguments

TypeArgumentDescription
Base VehicleselfThe Vehicle that triggered the event

Hitโ€‹

Triggered when Vehicle hits something
<AnyVehicleClass>.Subscribe("Hit", function(self, impact_force, normal_impulse, impact_location, velocity, other_actor)
-- Hit was called
end)

Arguments

TypeArgumentDescription
Base VehicleselfThe Vehicle that triggered the event
floatimpact_forceThe intensity of the Hit normalized by the Vehicle's weight
Vectornormal_impulseThe impulse direction it hits
Vectorimpact_locationThe world 3D location of the impact
VectorvelocityThe Vehicle velocity at the moment it hits
Base Actor or nilother_actorThe other actor that hit this Vehicle