Base Pickable
Pickables are special Actors which can be grabbed, held and used by Characters.
info
This is a base class. You cannot spawn it directly.
Examples of Pickable Actors are: Weapon, Melee and Grenade.
They have special methods and events and are highlighted when looked at by a Character.
Functions
Returns | Name | Description | |
---|---|---|---|
![]() | AddSkeletalMeshAttached | Attaches a Skeletal Mesh as master pose to this entity | |
![]() | AddStaticMeshAttached | Attaches a Static Mesh to this entity | |
PullUse | Pulls the usage of this Pickable (will start firing if this is a weapon) | ||
ReleaseUse | Releases the usage of this Pickable (will stop firing if this is a weapon) | ||
![]() | RemoveSkeletalMeshAttached | Removes, if it exists, a SkeletalMesh from this Pickable given its custom ID | |
![]() | RemoveStaticMeshAttached | Removes, if it exists, a StaticMesh from this Pickable given its custom ID | |
SetAttachmentSettings | Sets the Attachment Settings for this Pickable (how it attaches to the Character when Picking up) | ||
SetCrosshairMaterial | Sets the crosshair material for this Pickable | ||
SetPickable | Sets if this Pickable can be picked up from ground by the player | ||
![]() | SkeletalMesh Reference | GetMesh | Gets the name of the asset this Pickable uses |
![]() | Character or nil | GetHandler | Gets the Character, if it exists, that's holding this Pickable |

AddSkeletalMeshAttached
Spawns and attaches a SkeletalMesh to this Pickable, 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 it later.
For customizing the Materials specific to a mesh attached with this function, use the following syntax as theparameter_name
in the Base 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_pickable:AddSkeletalMeshAttached(id, skeletal_mesh_path)
Type | Parameter | Default | Description |
---|---|---|---|
string | id | Unique ID to assign to the SkeletalMesh | |
SkeletalMesh Reference | skeletal_mesh_path | Path to SkeletalMesh asset to attach |

AddStaticMeshAttached
Spawns and attaches a StaticMesh to this Pickable in a Socket with a relative location and rotation. Uses a custom ID to be used for removing it later
For customizing the Materials specific to a mesh attached with this function, use the following syntax as theparameter_name
in the Base 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_pickable:AddStaticMeshAttached(id, static_mesh_path, socket?, relative_location?, relative_rotation?)
Type | Parameter | Default | Description |
---|---|---|---|
string | id | Unique ID to assign to the StaticMesh | |
StaticMesh Reference | static_mesh_path | Path to StaticMesh asset to attach | |
string | socket? |
| Bone socket to attach to |
Vector | relative_location? | Vector(0, 0, 0) | Relative location |
Rotator | relative_rotation? | Rotator(0, 0, 0) | Relative rotation |

PullUse
Pulls the usage of this Pickable (will start firing if this is a weapon)
my_pickable:PullUse(release_use_after?)
Type | Parameter | Default | Description |
---|---|---|---|
float | release_use_after? | -1 | Time in seconds to automatically release the usage (-1 will not release, 0 will release one tick after) |

ReleaseUse
Releases the usage of this Pickable (will stop firing if this is a weapon)
my_pickable:ReleaseUse()

RemoveSkeletalMeshAttached
Removes, if it exists, a SkeletalMesh from this Pickable given its custom ID
my_pickable:RemoveSkeletalMeshAttached(id)
Type | Parameter | Default | Description |
---|---|---|---|
string | id | Unique ID of the SkeletalMesh to remove |

RemoveStaticMeshAttached
Removes, if it exists, a StaticMesh from this Pickable given its custom ID
my_pickable:RemoveStaticMeshAttached(id)
Type | Parameter | Default | Description |
---|---|---|---|
string | id | Unique ID of the StaticMesh to remove |

SetAttachmentSettings
Sets the Attachment Settings for this Pickable (how it attaches to the Character when Picking up)
my_pickable:SetAttachmentSettings(relative_location, relative_rotation?, socket?)
Type | Parameter | Default | Description |
---|---|---|---|
Vector | relative_location | Location relative to the Socket | |
Rotator | relative_rotation? | Rotator(0, 0, 0) | Rotation relative to the Socket |
string | socket? | hand_r_socket | Character Socket to attach to when picked up |

SetCrosshairMaterial
Sets the crosshair material for this Pickable
my_pickable:SetCrosshairMaterial(material_asset)
Type | Parameter | Default | Description |
---|---|---|---|
Material Reference | material_asset | Asset path to the crosshair material |

SetPickable
Sets if this Pickable can be picked up from ground by the player
my_pickable:SetPickable(is_pickable)
Type | Parameter | Default | Description |
---|---|---|---|
boolean | is_pickable |

GetMesh
Gets the name of the asset this Pickable uses
— Returns SkeletalMesh Reference.
local ret = my_pickable:GetMesh()

GetHandler
Gets the Character, if it exists, that's holding this Pickable
local ret = my_pickable:GetHandler()
Events
Name | Description | |
---|---|---|
![]() | Drop | When a Character drops this Pickable |
![]() | Hit | When this Pickable hits something |
Interact | Triggered when a Character interacts with this Pickable (i.e. tries to pick it up) | |
![]() | PickUp | Triggered When a Character picks this up |
![]() | PullUse | Triggered when a Character presses the use button for this Pickable (i.e. clicks left mouse button with this equipped) |
![]() | ReleaseUse | Triggered when a Character releases the use button for this Pickable (i.e. releases left mouse button with this equipped) |

Drop
When a Character drops this Pickable
Pickable.Subscribe("Drop", function(self, character, was_triggered_by_player)
-- Drop was called
end)
Type | Argument | Description |
---|---|---|
Base Pickable | self | The Pickable which has been dropped |
Character | character | The Character that dropped it |
boolean | was_triggered_by_player | If the Player actively pressed the Drop binding to drop |

Hit
When this Pickable hits something
Pickable.Subscribe("Hit", function(self, impact_force, normal_impulse, impact_location, velocity)
-- Hit was called
end)
Type | Argument | Description |
---|---|---|
Base Pickable | self | The Actor that was hit |
float | impact_force | The intensity of the hit normalized by the Pickable's weight |
Vector | normal_impulse | The impulse direction of the hit |
Vector | impact_location | The world space location of the impact |
Vector | velocity | The Pickable's velocity at the moment it hit |

Interact
Triggered when a Character interacts with this Pickable (i.e. tries to pick it up)
Returnfalse
to prevent the interaction
Pickable.Subscribe("Interact", function(self, character)
-- Interact was called
end)
Type | Argument | Description |
---|---|---|
Base Pickable | self | The Pickable that just got interacted with |
Character | character | The Character that interacted with it |

PickUp
Triggered When a Character picks this up
Pickable.Subscribe("PickUp", function(self, character)
-- PickUp was called
end)
Type | Argument | Description |
---|---|---|
Base Pickable | self | The Pickable that just got picked up |
Character | character | The Character that picked it up |

PullUse
Triggered when a Character presses the use button for this Pickable (i.e. clicks left mouse button with this equipped)
Pickable.Subscribe("PullUse", function(self, character)
-- PullUse was called
end)
Type | Argument | Description |
---|---|---|
Base Pickable | self | The Pickable which has just been used |
Character | character | The Character that used it |

ReleaseUse
Triggered when a Character releases the use button for this Pickable (i.e. releases left mouse button with this equipped)
Pickable.Subscribe("ReleaseUse", function(self, character)
-- ReleaseUse was called
end)
Type | Argument | Description |
---|---|---|
Base Pickable | self | The Pickable which has just stopped being used |
Character | character | The Character that stopped using it |
➕ Available Crosshairs
HELIX provides a bunch of crosshair materials which can be used in Weapons/Pickables. You can of course create your own crosshair materialr and use those instead!


List of crosshair materials included in the default asset pack
helix::MI_Crosshair_Circle
helix::MI_Crosshair_Crossbow
helix::MI_Crosshair_Dot
helix::MI_Crosshair_Holo
helix::MI_Crosshair_Launcher
helix::MI_Crosshair_Regular
helix::MI_Crosshair_Regular_X
helix::MI_Crosshair_Rocket
helix::MI_Crosshair_Separated_Triangle
helix::MI_Crosshair_Shotgun
helix::MI_Crosshair_Square
helix::MI_Crosshair_Submachine
helix::MI_Crosshair_Tee
helix::MI_Crosshair_ThreeDots
helix::MI_Crosshair_Triangle
helix::MI_Crosshair_Vee