Skip to main content
Version: bleeding-edge ๐Ÿฉธ

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

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 No description provided

Returns

TypeDescription
anythe property value

See also SetAnimationBlueprintPropertyValue.


Moderate

GetDoorsโ€‹

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

Returns

TypeDescription
tablewith 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 No description provided

Returns

TypeDescription
Characteror nil if no passenger in seat

Moderate

GetPassengersโ€‹

Gets all passengers
local passengers = my_vehicle:GetPassengers()

Returns

TypeDescription
table of Characterpassengers

Optimal

IsEngineStartedโ€‹

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

Returns

TypeDescription
booleanis_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 No description provided
stringslot_name?DefaultSlot
No description provided
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 No description provided
anyvalue Required parameter No description provided

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 No description provided

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 No description provided
Vectoroffset_location Required parameter No description provided
Vectorseat_location Required parameter No description provided
Rotatorseat_rotation Required parameter No description provided
integertrigger_radius Required parameter No description provided
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

๐Ÿš€ย 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 VehicleselfNo description provided
CharactercharacterNo description provided
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 VehicleselfNo description provided
CharactercharacterNo description provided

CharacterEnterโ€‹

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

Arguments

TypeArgumentDescription
Base VehicleselfNo description provided
CharactercharacterNo description provided
integerseat_indexNo description provided

CharacterLeaveโ€‹

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

Arguments

TypeArgumentDescription
Base VehicleselfNo description provided
CharactercharacterNo description provided
integerseat_indexNo description provided

EngineStartโ€‹

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

Arguments

TypeArgumentDescription
Base VehicleselfNo description provided

EngineStopโ€‹

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

Arguments

TypeArgumentDescription
Base VehicleselfNo description provided

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 VehicleselfNo description provided
integerimpact_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