Skip to main content
Version: latest - a1.15.x βš–οΈ

πŸ§‘ Character

Characters represents Actors which can be possessed, can move and interact with world. They are the default Skeletal Mesh Character built for nanos world.

πŸ’‚Authority
This class can only be spawned on 🟦 Server.
πŸ‘ͺInheritance
This class inherits from Base Actor Base Paintable .

Characters are Skeletal Meshes using Unreal's Mannequin Skeletal, with animations and interactivity already natively integrated into nanos world. It is possible to import any Skeletal Mesh (which uses Unreal's Mannequin Skeletal) to this Character.

πŸŽ’ Examples​

Server/Index.lua
-- The following examples are using all Skeletal Meshes which we currently have for examples, including the officials Woman, Man and Mannequin:
local woman = Character(Vector(100, 0, 100), Rotator(0, 0, 0), "nanos-world::SK_Female")
local man = Character(Vector(200, 0, 100), Rotator(0, 0, 0), "nanos-world::SK_Male")
local mannequin = Character(Vector(300, 0, 100), Rotator(0, 0, 0), "nanos-world::SK_Mannequin")
local mannequin_female = Character(Vector(400, 0, 100), Rotator(0, 0, 0), "nanos-world::SK_Mannequin_Female")

local post_apocalyptic = Character(Vector(400, 0, 100), Rotator(0, 0, 0), "nanos-world::SK_PostApocalyptic")
local classic_male = Character(Vector(500, 0, 100), Rotator(0, 0, 0), "nanos-world::SK_ClassicMale")

-- Adds Clothes to Man. Note: some Meshes only supports a specific Mesh (Men/Woman)
man:AddSkeletalMeshAttached("shirt", "nanos-world::SK_Shirt") -- Men only
man:AddSkeletalMeshAttached("shirt", "nanos-world::SK_Underwear") -- Men only
man:AddSkeletalMeshAttached("pants", "nanos-world::SK_Pants") -- Men only
man:AddSkeletalMeshAttached("shoes", "nanos-world::SK_Shoes_01")
man:AddSkeletalMeshAttached("tie", "nanos-world::SK_Tie")

-- Adds Clothes to Woman
woman:AddSkeletalMeshAttached("full", "nanos-world::SK_CasualSet") -- Woman only
woman:AddSkeletalMeshAttached("shoes", "nanos-world::SK_Sneakers")

-- Adds Beard to Man
man:AddStaticMeshAttached("beard", "nanos-world::SM_Beard_Extra", "beard")
man:AddStaticMeshAttached("beard", "nanos-world::SM_Beard_Middle", "beard")
man:AddStaticMeshAttached("beard", "nanos-world::SM_Beard_Mustache_01", "beard")
man:AddStaticMeshAttached("beard", "nanos-world::SM_Beard_Mustache_02", "beard")
man:AddStaticMeshAttached("beard", "nanos-world::SM_Beard_Side", "beard")

-- Adds Hair to Man
man:AddStaticMeshAttached("hair", "nanos-world::SM_Hair_Long", "hair_male")
man:AddStaticMeshAttached("hair", "nanos-world::SM_Hair_Short", "hair_male")

-- Adds Hair to Woman
woman:AddStaticMeshAttached("hair", "nanos-world::SM_Hair_Kwang", "hair_female")

More related examples:

Play as Propgetting-started/tutorials-and-examples/play-as-propNametagsgetting-started/tutorials-and-examples/name-tagsCharacter Meshes Guideassets-modding/creating-assets/skeletal-meshes/characters-meshes

πŸ—οΈ Constructor​

local my_character = Character(location?, rotation?, skeletal_mesh?, collision_type?, gravity_enabled?, max_health?, death_sound?, pain_sound?)
TypeNameDefaultDescription
Vector locationVector(0, 0, 0)
Rotator rotationRotator(0, 0, 0)
SkeletalMesh Reference skeletal_meshnanos-world::SK_Mannequin
CollisionTypecollision_typeCollisionType.Normal
boolean gravity_enabledtrue
number max_health100Current / Max Health
Sound Reference death_soundnanos-world::A_Male_01_DeathPlayed when Character dies
Sound Reference pain_soundnanos-world::A_Male_01_PainPlayed when Character takes damage

🦠 Functions​

Inherited Actor Functions
Base Actorscripting-reference/classes/base-classes/actor
ReturnsNameDescription
AddImpulseApplies a force in world world to this Actor
AttachToAttaches this Actor to any other Actor, optionally at a specific bone
DestroyDestroys this Actor
DetachDetaches this Actor from AttachedTo Actor
SetCollisionSets this Actor's collision type
SetForceAdds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel
SetGravityEnabledSets whether gravity is enabled on this Actor
SetVisibilitySets whether the actor is visible or not
SetHighlightEnabledSets whether the highlight is enabled on this Actor, and which highlight index to use
SetOutlineEnabledSets whether the outline is enabled on this Actor, and which outline index to use
SetLifeSpanSets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed.
SetLocationSets this Actor's location in the game world
SetRotationSets this Actor's rotation in the game world
SetRelativeLocationSets this Actor's relative location in local space (only if this actor is attached)
SetRelativeRotationSets this Actor's relative rotation in local space (only if this actor is attached)
SetScaleSets this Actor's scale
SetNetworkAuthoritySets the Player to have network authority over this Actor
SetValueSets a value in this Actor
TranslateToSmoothly moves this actor to a location over a certain time
RotateToSmoothly rotates this actor to an angle over a certain time
boolean IsBeingDestroyedReturns true if this Actor is being destroyed
boolean IsVisibleReturns true if this Actor is visible
boolean IsGravityEnabledReturns true if gravity is enabled on this Actor
boolean IsInWaterReturns true if this Actor is in water
boolean IsNetworkDistributedReturns true if this Actor is currently network distributed
boolean IsValidReturns true if this Actor is valid (i.e. wasn't destroyed and points to a valid Actor)
table of Base Actor GetAttachedEntitiesGets all Actors attached to this Actor
Base Actor or nilGetAttachedToGets the Actor this Actor is attached to
table GetBoundsGets this Actor's bounds
CollisionTypeGetCollisionGets this Actor's collision type
number GetIDGets the universal network ID of this Actor (same on both client and server)
Vector GetLocationGets this Actor's location in the game world
Rotator GetRotationGets this Actor's angle in the game world
Vector GetForceGets this Actor's force (set by SetForce())
boolean HasNetworkAuthorityReturns true if the local Player is currently the Network Authority of this Actor
boolean HasAuthorityGets if this Actor was spawned by the client side
Vector GetScaleGets this Actor's scale
string GetTypeGets the type of this Actor
any GetValueGets a value stored on this Actor at the given key. Please refer to Entity Values for more information
Vector GetVelocityGets this Actor's current velocity
AddActorTagAdds an Unreal Actor Tag to this Actor
RemoveActorTagRemoves an Unreal Actor Tag from this Actor
table of string GetActorTagsGets all Unreal Actor Tags on this Actor
function SubscribeSubscribes to an Event
UnsubscribeUnsubscribes all callbacks from this Event in this Actor within this Package, or only the callback passed
Inherited Paintable Functions
Base Paintablescripting-reference/classes/base-classes/paintable
ReturnsNameDescription
SetMaterialSets the material at the specified index of this Actor
SetMaterialFromCanvasSets the material at the specified index of this Actor to a Canvas object
SetMaterialFromSceneCaptureSets the material at the specified index of this Actor to a SceneCapture object
SetMaterialFromWebUISets the material at the specified index of this Actor to a WebUI object
ResetMaterialResets the material from the specified index to the original one
SetMaterialColorParameterSets a Color parameter in this Actor's material
SetMaterialScalarParameterSets a Scalar parameter in this Actor's material
SetMaterialTextureParameterSets a texture parameter in this Actor's material to an image on disk
SetMaterialVectorParameterSets a Vector parameter in this Actor's material
SetPhysicalMaterialOverrides this Actor's Physical Material with a new one
ReturnsNameDescription
number ApplyDamageDo damage to a character
AddSkeletalMeshAttachedSpawns and Attaches a SkeletalMesh into this Character
AddStaticMeshAttachedSpawns and Attaches a StaticMesh into this Character
DropDrops any Pickable the Character is holding
EnterVehicleEnters the Vehicle at Seat (0 - Driver)
GrabPropGives a Prop to the Character
HideBoneHides a bone of this Character
UnHideBoneUnHide a bone of this Character
boolean IsBoneHiddenGets if a bone is hidden
JumpTriggers this Character to jump
LeaveVehicleLeaves the current Vehicle
LookAtAI: Tries to make this Character to look at Location
MoveToAI: Makes this Character to walk to the Location
FollowAI: Makes this Character to follow another actor
StopMovementAI: Stops the movement
PickUpGives a Melee/Grenade/Weapon (Pickable) to the Character
PlayAnimationPlays an Animation Montage on this character
RemoveSkeletalMeshAttachedRemoves, if existing, a SkeletalMesh from this Character given it's custom ID
RemoveStaticMeshAttachedRemoves, if existing, a StaticMesh from this Character given it's custom ID
RemoveAllStaticMeshesAttachedRemoves all StaticMeshes attached
RemoveAllSkeletalMeshesAttachedRemoves all SkeletalMeshes attached
RespawnRespawns the Character, fullying it's Health and moving it to it's Initial Location
SetAccelerationSettingsSets the Movement Max Acceleration of this Character
SetBrakingSettingsSets the Movement Braking Settings of this Character
SetCameraModeSets the Camera Mode
SetCameraOffsetSets the Camera Offset (only affects TPS)
SetCanCrouchSets if this Character is allowed to Crouch and to Prone
SetCanAimSets if this Character is allowed to Aim
SetCanDropSets if this Character is allowed to Drop the Picked up item
SetCanJumpSets if this Character is allowed to Jump
SetCanDiveSets if this Character is allowed to Dive
SetCanSprintSets if this Character is allowed to Sprint
SetCanGrabPropsSets if this Character is allowed to Grab any Prop
SetCanPickupPickablesSets if this Character is allowed to Pick up any Pickable (Weapon, Grenade, Melee...)
SetCanPunchSets if this Character is allowed to Punch
SetCanDeployParachuteSets if this Character is allowed to deploy the Parachute
SetCapsuleSizeSets this Character's Capsule size
SetDamageMultiplierChanges how much damage this character takes on specific bones
SetDeathSoundChanges the Death sound when Character dies
SetFallDamageTakenSet the Fall Damage multiplier taken when falling from High places
SetFlyingModeSets the Flying Mode
SetFOVMultiplierSets the Field of View multiplier
SetHighFallingTimeSets time to transition to HighFalling state
SetGaitModeSets the Gait Mode
SetGravityScaleChanges the Gravity Scale
SetHealthSets the Health of this Character
SetImpactDamageTakenSet the Impact Damage taken when being roamed by things
SetInvulnerableSets if the Character can receive any damage
SetJumpZVelocitySets the velocity of the jump
SetMaxHealthSets the MaxHealth of this Character
SetMeshChanges the Character Mesh on the fly
SetMorphTargetSet Morph Target with Name and Value
number GetMorphTargetReturns the value of a Morph Target
ClearMorphTargetsClear all Morph Target that are set to this Mesh
table of string GetAllMorphTargetNamesReturns a table with all morph targets available
SetPhysicalAnimationSettingsApplies the physical animation settings to the body given
ResetPhysicalAnimationSettingsResets all Physical Animation settings
SetMovementEnabledEnables/Disables Character's Movement
SetParachuteTextureChanges the Parachute Texture
SetPainSoundChanges the Pain sound when Character takes damage
SetPunchDamageSet the Punch Damage this Character will apply on others
SetRagdollModeSets Character Ragdoll Mode
SetSpeedMultiplierSets all speed multiplier
SetStanceModeSets the Stance Mode
SetTeamSets a Team which will disable damaging same Team Members
SetViewModeSets the View Mode
SetWeaponAimModeSets the Weapon's Aim Mode
StopAnimationStops an Animation Montage on this character
UnGrabPropUnGrabs/Drops the Prop the Character is holding
boolean IsInRagdollModeGets if Character is in ragdoll mode
boolean IsInvulnerableGets if is invulnerable
boolean IsMovementEnabledGets if has movement enabled
CameraModeGetCameraModeGets the camera mode
boolean GetCanDropGets if can drop
boolean GetCanPunchGets if can punch
boolean GetCanAimGets if can aim
boolean GetCanCrouchGets if can crouch
boolean GetCanSprintGets if can sprint
boolean GetCanGrabPropsGets if can grab props
boolean GetCanPickupPickablesGets if can pickup Pickables (Weapons, Melee, Grenade...)
table GetCapsuleSizeGets the Capsule Size
table GetBoneTransformGets a Bone Transform in world space given a bone name
Rotator GetControlRotationGets the Control Rotation
number GetDamageMultiplierGets the Damage Multiplier of a bone
number GetFallDamageTakenGets the Fall Damage
FallingModeGetFallingModeGets the FallingMode
boolean GetFlyingModeGets if it's in Flying mode
GaitModeGetGaitModeGets the GaitMode
Prop or nilGetGrabbedPropGets the Grabbed Prop
number GetGravityScaleGets the gravity scale
number GetHealthGets the current health
number GetImpactDamageTakenGets the impact damage taken
number GetJumpZVelocityGets the Jump Z Velocity
number GetMaxHealthGets the Max Health
SkeletalMesh Reference GetMeshGets the Skeletal Mesh Asset
Vector GetMovingToGets the Moving To location
Base Pickable or nilGetPickedGets the Pickable if picking up
Player or nilGetPlayerGets the possessing Player
number GetPunchDamageGets the punch damage
number GetSpeedMultiplierGets the speed multiplier
StanceModeGetStanceModeGets the Stance Mode
SwimmingModeGetSwimmingModeGets the Swimming Mode
number GetTeamGets the Team
Vehicle or nilGetVehicleGets the entered Vehicle
ViewModeGetViewModeGets the View Mode
AimModeGetWeaponAimModeGets the Weapon Aim Mode

ApplyDamage​

Do damage to a character, will trigger all related events and apply modified damage based on bone. Also will apply impulse if it's a heavy explosion

Returns number (the damage applied)
local ret = my_character:ApplyDamage(damage, bone_name?, damage_type?, from_direction?, instigator?, causer?)
TypeParameterDefaultDescription
number damage
string bone_name?
DamageTypedamage_type?DamageType.Shot
Vector from_direction?Vector(0, 0, 0)
Player instigator?nilThe player which caused the damage
any causer?nilThe object which caused the damage

AddSkeletalMeshAttached​

Spawns and Attaches a SkeletalMesh into this Character, the SkeletalMesh must have the same Skeletal used by the Character Mesh, and will follow all animations from it. Uses a custom ID to be used for removing it further.

For customizing the Materials specific of a SkeletalMeshAttached, please use the following syntax 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_character:AddSkeletalMeshAttached(id, skeletal_mesh_asset?)
TypeParameterDefaultDescription
string idUsed further for removing or applying material settings on it
SkeletalMesh Reference skeletal_mesh_asset?

AddStaticMeshAttached​

Spawns and Attaches a StaticMesh into this Character 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 the parameter_nameattachable///[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_character:AddStaticMeshAttached(id, static_mesh_asset?, socket?, relative_location?, relative_rotation?)
TypeParameterDefaultDescription
string idUsed 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)

Drop​

Drops any Pickable the Character is holding
my_character:Drop()

EnterVehicle​

Enters the Vehicle at Seat (0 - Driver)
my_character:EnterVehicle(vehicle, seat?)
TypeParameterDefaultDescription
Vehicle vehicle
number seat?0

GrabProp​

Gives a Prop to the Character
my_character:GrabProp(prop)
TypeParameterDefaultDescription
Prop prop

HideBone​

Hides a bone of this Character.

Check Bone Names List
my_character:HideBone(bone_name?)
TypeParameterDefaultDescription
string bone_name?Bone to hide

UnHideBone​

UnHide a bone of this Character.

Check Bone Names List
my_character:UnHideBone(bone_name)
TypeParameterDefaultDescription
string bone_nameBone to unhide

IsBoneHidden​

Gets if a bone is hidden

Returns boolean (if the bone is hidden)
local ret = my_character:IsBoneHidden(bone_name)
TypeParameterDefaultDescription
string bone_nameBone to check

Jump​

Triggers this Character to jump
my_character:Jump()

LeaveVehicle​

Leaves the current Vehicle
my_character:LeaveVehicle()

LookAt​

AI: Tries to make this Character to look at Location
my_character:LookAt(location)
TypeParameterDefaultDescription
Vector locationWorld location to look

MoveTo​

AI: Makes this Character to walk to the Location

Triggers event MoveCompleted
my_character:MoveTo(location, acceptance_radius?)
TypeParameterDefaultDescription
Vector location
number acceptance_radius?50

Follow​

AI: Makes this Character to follow another actor

Triggers event MoveCompleted
my_character:Follow(actor, acceptance_radius?, stop_on_succeed?, stop_on_fail?, update_rate?)
TypeParameterDefaultDescription
Base Actor actorActor to follow
number acceptance_radius?50Radius to consider success
boolean stop_on_succeed?falseWhether to stop when reaching the target
boolean stop_on_fail?falseWhether to stop when failed to reach the target
number update_rate?0.25How often to recalculate the AI path

StopMovement​

AI: Stops the movement

Triggers event [MoveCompleted](character#movecompleted)
my_character:StopMovement()

PickUp​

Gives a Melee/Grenade/Weapon (Pickable) to the Character
my_character:PickUp(pickable)
TypeParameterDefaultDescription
Base Pickable pickable

PlayAnimation​

Plays an Animation Montage on this character
my_character:PlayAnimation(animation_path, slot_type?, loop_indefinitely?, blend_in_time?, blend_out_time?, play_rate?, stop_all_montages?)
TypeParameterDefaultDescription
Animation Reference animation_path
AnimationSlotTypeslot_type?AnimationSlotType.FullBody
boolean loop_indefinitely?false
number blend_in_time?0.25
number blend_out_time?0.25
number play_rate?1.0
boolean stop_all_montages?falseStops all running Montages from the same Group

RemoveSkeletalMeshAttached​

Removes, if existing, a SkeletalMesh from this Character given it's custom ID
my_character:RemoveSkeletalMeshAttached(id)
TypeParameterDefaultDescription
string id

RemoveStaticMeshAttached​

Removes, if existing, a StaticMesh from this Character given it's custom ID
my_character:RemoveStaticMeshAttached(id)
TypeParameterDefaultDescription
string id

RemoveAllStaticMeshesAttached​

Removes all StaticMeshes attached
my_character:RemoveAllStaticMeshesAttached()

RemoveAllSkeletalMeshesAttached​

Removes all SkeletalMeshes attached
my_character:RemoveAllSkeletalMeshesAttached()

Respawn​

Respawns the Character, fullying it's Health and moving it to it's Initial Location
my_character:Respawn(location?, rotation?)
TypeParameterDefaultDescription
Vector location?initial locationIf not passed will use the initial location passed when the Character spawned
Rotator rotation?Rotator(0, 0, 0)

SetAccelerationSettings​

Sets the Movement Max Acceleration of this Character
my_character:SetAccelerationSettings(walking?, parachuting?, skydiving?, falling?, swimming?, swimming_surface?, flying?)
TypeParameterDefaultDescription
number walking?768
number parachuting?512
number skydiving?768
number falling?128
number swimming?256
number swimming_surface?256
number flying?1024

SetBrakingSettings​

Sets the Movement Braking Settings of this Character
my_character:SetBrakingSettings(ground_friction?, braking_friction_factor?, braking_walking?, braking_flying?, braking_swimming?, braking_falling?)
TypeParameterDefaultDescription
number ground_friction?2
number braking_friction_factor?2
number braking_walking?96
number braking_flying?3000
number braking_swimming?10
number braking_falling?0

SetCameraMode​

Sets the Camera Mode (i.e. Only TPS, FPS or if allow both)

Using FPSOnly CameraMode on AI will lock his body rotation (when using LookAt)
my_character:SetCameraMode(camera_mode)
TypeParameterDefaultDescription
CameraModecamera_mode

SetCameraOffset​

Sets the Camera Offset (only affects TPS)
my_character:SetCameraOffset(camera_offset)
TypeParameterDefaultDescription
Vector camera_offset

SetCanCrouch​

Sets if this Character is allowed to Crouch and to Prone
my_character:SetCanCrouch(can_crouch)
TypeParameterDefaultDescription
boolean can_crouch

SetCanAim​

Sets if this Character is allowed to Aim
my_character:SetCanAim(can_aim)
TypeParameterDefaultDescription
boolean can_aim

SetCanDrop​

Sets if this Character is allowed to Drop the Picked up item
my_character:SetCanDrop(can_drop)
TypeParameterDefaultDescription
boolean can_drop

SetCanJump​

Sets if this Character is allowed to Jump
my_character:SetCanJump(can_jump)
TypeParameterDefaultDescription
boolean can_jump

SetCanDive​

Sets if this Character is allowed to Dive
my_character:SetCanDive(can_dive)
TypeParameterDefaultDescription
boolean can_dive

SetCanSprint​

Sets if this Character is allowed to Sprint
my_character:SetCanSprint(can_sprint)
TypeParameterDefaultDescription
boolean can_sprint

SetCanGrabProps​

Sets if this Character is allowed to Grab any Prop
my_character:SetCanGrabProps(can_grab_props)
TypeParameterDefaultDescription
boolean can_grab_props

SetCanPickupPickables​

Sets if this Character is allowed to Pick up any Pickable (Weapon, Grenade, Melee...)
my_character:SetCanPickupPickables(can_pickup)
TypeParameterDefaultDescription
boolean can_pickup

SetCanPunch​

Sets if this Character is allowed to Punch
my_character:SetCanPunch(can_punch)
TypeParameterDefaultDescription
boolean can_punch

SetCanDeployParachute​

Sets if this Character is allowed to deploy the Parachute
my_character:SetCanDeployParachute(can_deploy_parachute)
TypeParameterDefaultDescription
boolean can_deploy_parachute

SetCapsuleSize​

Sets this Character's Capsule size (will affect Camera location and Character's collision)
my_character:SetCapsuleSize(radius, half_height)
TypeParameterDefaultDescription
boolean radiusDefault is 42
boolean half_heightDefault is 96

SetDamageMultiplier​

Changes how much damage this character takes on specific bones
my_character:SetDamageMultiplier(bone_name, multiplier)
TypeParameterDefaultDescription
string bone_name
number multiplier

SetDeathSound​

Changes the Death sound when Character dies
my_character:SetDeathSound(sound_asset)
TypeParameterDefaultDescription
string sound_asset

SetFallDamageTaken​

Set the Fall Damage multiplier taken when falling from High places.

Setting to 0 will make the Character to do not take damage or enter ragdoll mode
my_character:SetFallDamageTaken(damage)
TypeParameterDefaultDescription
number damageDefault is 10

SetFlyingMode​

Sets the Flying Mode
my_character:SetFlyingMode(flying_mode)
TypeParameterDefaultDescription
boolean flying_mode

SetFOVMultiplier​

Sets the Field of View multiplier
my_character:SetFOVMultiplier(multiplier)
TypeParameterDefaultDescription
number multiplier

SetHighFallingTime​

Sets time elapsed until automatically transition to HighFalling state (from SmallFalling) in seconds
my_character:SetHighFallingTime(time)
TypeParameterDefaultDescription
number timeDefault is 1 second

SetGaitMode​

Sets the Gait Mode
my_character:SetGaitMode(mode)
TypeParameterDefaultDescription
GaitModemode

SetGravityScale​

Changes the Gravity Scale of this Character (can be negative)
my_character:SetGravityScale(scale)
TypeParameterDefaultDescription
number scale

SetHealth​

Sets the Health of this Character. You can only call it on alive characters (call Respawn first)
my_character:SetHealth(new_health)
TypeParameterDefaultDescription
number new_health

SetImpactDamageTaken​

Set the Impact Damage taken when being roamed by things.
Setting to 0 will make the Character to do not take damage or enter ragdoll mode
my_character:SetImpactDamageTaken(damage)
TypeParameterDefaultDescription
number damageDefault is 10

SetInvulnerable​

Sets if the Character can receive any damage
my_character:SetInvulnerable(is_invulnerable)
TypeParameterDefaultDescription
boolean is_invulnerable

SetJumpZVelocity​

Sets the velocity of the jump
my_character:SetJumpZVelocity(velocity)
TypeParameterDefaultDescription
number velocityDefault is 450

SetMaxHealth​

Sets the MaxHealth of this Character
my_character:SetMaxHealth(new_max_health)
TypeParameterDefaultDescription
number new_max_health

SetMesh​

Changes the Character Mesh on the fly
my_character:SetMesh(skeletal_mesh_asset)
TypeParameterDefaultDescription
SkeletalMesh Reference skeletal_mesh_asset

SetMorphTarget​

Set Morph Target with Name and Value
my_character:SetMorphTarget(name, value)
TypeParameterDefaultDescription
string nameMorph Target Name
number value

GetMorphTarget​

Returns the value of a Morph Target

Returns number (value of the Morph Target)
local ret = my_character:GetMorphTarget(name)
TypeParameterDefaultDescription
string nameMorph Target Name

ClearMorphTargets​

Clear all Morph Target that are set to this Mesh
my_character:ClearMorphTargets()

GetAllMorphTargetNames​

Returns a table with all morph targets available

Returns table of string (table with all morph targets available)
local ret = my_character:GetAllMorphTargetNames()

SetPhysicalAnimationSettings​

Applies the physical animation settings to the body given
my_character:SetPhysicalAnimationSettings(bone, include_self, is_local_simulation, orientation_strength?, angular_velocity_strength?, position_strength?, velocity_strength?, max_linear_force?, max_angular_force?)
TypeParameterDefaultDescription
string boneThe body we will be driving
boolean include_selfWhether to modify the given body
boolean is_local_simulationWhether the drive targets are in world space or local
boolean orientation_strength?0The strength used to correct orientation error
boolean angular_velocity_strength?0The strength used to correct angular velocity error
boolean position_strength?0The strength used to correct linear position error. Only used for non-local simulation
boolean velocity_strength?0The strength used to correct linear velocity error. Only used for non-local simulation
boolean max_linear_force?0The max force used to correct linear errors
boolean max_angular_force?0The max force used to correct angular errors

ResetPhysicalAnimationSettings​

Resets all Physical Animation settings
my_character:ResetPhysicalAnimationSettings()

SetMovementEnabled​

Enables/Disables Character's Movement
my_character:SetMovementEnabled(is_movement_enabled)
TypeParameterDefaultDescription
boolean is_movement_enabled

SetParachuteTexture​

Changes the Parachute Texture
my_character:SetParachuteTexture(texture)
TypeParameterDefaultDescription
Image Path texture

SetPainSound​

Changes the Pain sound when Character takes damage
my_character:SetPainSound(sound_asset)
TypeParameterDefaultDescription
Sound Reference sound_asset

SetPunchDamage​

Set the Punch Damage this Character will apply on others
my_character:SetPunchDamage(damage)
TypeParameterDefaultDescription
number damageDefault is 15

SetRagdollMode​

Sets Character Ragdoll Mode
my_character:SetRagdollMode(ragdoll_enabled)
TypeParameterDefaultDescription
boolean ragdoll_enabled

SetSpeedMultiplier​

Sets all speed multiplier
my_character:SetSpeedMultiplier(multiplier)
TypeParameterDefaultDescription
number multiplier1 is normal

SetStanceMode​

Sets the Stance Mode
my_character:SetStanceMode(mode)
TypeParameterDefaultDescription
StanceModemode

SetTeam​

Sets a Team which will disable damaging same Team Members
my_character:SetTeam(team)
TypeParameterDefaultDescription
number team0 is neutral and default

SetViewMode​

Sets the View Mode
my_character:SetViewMode(view_mode)
TypeParameterDefaultDescription
ViewModeview_mode

SetWeaponAimMode​

Sets the Weapon's Aim Mode
my_character:SetWeaponAimMode(aim_mode)
TypeParameterDefaultDescription
AimModeaim_mode

StopAnimation​

Stops an Animation Montage on this character
my_character:StopAnimation(animation_asset)
TypeParameterDefaultDescription
Animation Reference animation_asset

UnGrabProp​

UnGrabs/Drops the Prop the Character is holding
my_character:UnGrabProp()

IsInRagdollMode​

Gets if Character is in ragdoll mode

Returns boolean ()
local ret = my_character:IsInRagdollMode()

IsInvulnerable​

Gets if is invulnerable

Returns boolean ()
local ret = my_character:IsInvulnerable()

IsMovementEnabled​

Gets if has movement enabled

Returns boolean ()
local ret = my_character:IsMovementEnabled()

GetCameraMode​

Gets the camera mode

Returns CameraMode ()
local ret = my_character:GetCameraMode()

GetCanDrop​

Gets if can drop

Returns boolean ()
local ret = my_character:GetCanDrop()

GetCanPunch​

Gets if can punch

Returns boolean ()
local ret = my_character:GetCanPunch()

GetCanAim​

Gets if can aim

Returns boolean ()
local ret = my_character:GetCanAim()

GetCanCrouch​

Gets if can crouch

Returns boolean ()
local ret = my_character:GetCanCrouch()

GetCanSprint​

Gets if can sprint

Returns boolean ()
local ret = my_character:GetCanSprint()

GetCanGrabProps​

Gets if can grab props

Returns boolean ()
local ret = my_character:GetCanGrabProps()

GetCanPickupPickables​

Gets if can pickup Pickables (Weapons, Melee, Grenade...)

Returns boolean ()
local ret = my_character:GetCanPickupPickables()

GetCapsuleSize​

Gets the Capsule Size

Returns table (in the format { Radius: number, HalfHeight: number })
local ret = my_character:GetCapsuleSize()

GetBoneTransform​

Gets a Bone Transform in world space given a bone name

Returns table (in the format { Location: Vector, Rotation: Rotator })
local ret = my_character:GetBoneTransform(bone_name)
TypeParameterDefaultDescription
string bone_name

GetControlRotation​

Gets the Control Rotation

Returns Rotator ()
local ret = my_character:GetControlRotation()

GetDamageMultiplier​

Gets the Damage Multiplier of a bone

Returns number (the damage multiplier of the bone)
local ret = my_character:GetDamageMultiplier(bone_name)
TypeParameterDefaultDescription
string bone_name

GetFallDamageTaken​

Gets the Fall Damage

Returns number ()
local ret = my_character:GetFallDamageTaken()

GetFallingMode​

Gets the FallingMode

Returns FallingMode ()
local ret = my_character:GetFallingMode()

GetFlyingMode​

Gets if it's in Flying mode

Returns boolean ()
local ret = my_character:GetFlyingMode()

GetGaitMode​

Gets the GaitMode

Returns GaitMode ()
local ret = my_character:GetGaitMode()

GetGrabbedProp​

Gets the Grabbed Prop

Returns Prop or nil ()
local ret = my_character:GetGrabbedProp()

GetGravityScale​

Gets the gravity scale

Returns number ()
local ret = my_character:GetGravityScale()

GetHealth​

Gets the current health

Returns number ()
local ret = my_character:GetHealth()

GetImpactDamageTaken​

Gets the impact damage taken

Returns number ()
local ret = my_character:GetImpactDamageTaken()

GetJumpZVelocity​

Gets the Jump Z Velocity

Returns number ()
local ret = my_character:GetJumpZVelocity()

GetMaxHealth​

Gets the Max Health

Returns number ()
local ret = my_character:GetMaxHealth()

GetMesh​

Gets the Skeletal Mesh Asset

Returns SkeletalMesh Reference ()
local ret = my_character:GetMesh()

GetMovingTo​

Gets the Moving To location

Returns Vector (the moving to location or Vector(0, 0, 0) if not moving)
local ret = my_character:GetMovingTo()

GetPicked​

Gets the Pickable if picking up

Returns Base Pickable or nil ()
local ret = my_character:GetPicked()

GetPlayer​

Gets the possessing Player

Returns Player or nil ()
local ret = my_character:GetPlayer()

GetPunchDamage​

Gets the punch damage

Returns number ()
local ret = my_character:GetPunchDamage()

GetSpeedMultiplier​

Gets the speed multiplier

Returns number ()
local ret = my_character:GetSpeedMultiplier()

GetStanceMode​

Gets the Stance Mode

Returns StanceMode ()
local ret = my_character:GetStanceMode()

GetSwimmingMode​

Gets the Swimming Mode

Returns SwimmingMode ()
local ret = my_character:GetSwimmingMode()

GetTeam​

Gets the Team

Returns number ()
local ret = my_character:GetTeam()

GetVehicle​

Gets the entered Vehicle

Returns Vehicle or nil ()
local ret = my_character:GetVehicle()

GetViewMode​

Gets the View Mode

Returns ViewMode ()
local ret = my_character:GetViewMode()

GetWeaponAimMode​

Gets the Weapon Aim Mode

Returns AimMode ()
local ret = my_character:GetWeaponAimMode()

πŸš€ Events​

Inherited Actor Events
Base Actorscripting-reference/classes/base-classes/actor
NameDescription
DestroyTriggered when an Actor is destroyed
SpawnTriggered when an Actor is spawned/created
ValueChangeTriggered when an Actor has a value changed with :SetValue()
NameDescription
AnimationBeginNotifyWhen an Animation Montage Notify begins
AnimationEndNotifyWhen an Animation Montage Notify ends
AttackTriggered when the Character effectively attacks with a Melee
DeathWhen Character Dies
DropWhen Character drops the currently picked up Pickable
EnterVehicleWhen Character enters a vehicle
AttemptEnterVehicleTriggered when a Character attempts to enter a vehicle
FallingModeChangedCalled when FallingMode changes
FireWhen Character fires a Weapon
GaitModeChangedCalled when GaitMode changes
GrabPropWhen Character grabs up a Prop
HealthChangedWhen Character has it's Health changed, or because took damage or manually set through scripting or respawning
HighlightWhen Character highlights/looks at a Prop or a Pickable
InteractTriggered when a Character interacts with a Prop or Pickable
LeaveVehicleWhen Character leaves a vehicle
AttemptLeaveVehicleTriggered when this Character attempts to leave a vehicle
MoveCompletedCalled when AI reaches it's destination, or when it fails
PickUpWhen Character picks up anything
PossessedWhen Character is possessed
PunchWhen Character punches
RagdollModeChangedWhen Character enters or leaves ragdoll
AttemptReloadTriggered when this Character attempts to reload
ReloadWhen Character reloads a weapon
RespawnWhen Character Respawns
StanceModeChangedCalled when StanceMode changes
SwimmingModeChangedCalled when Swimming Mode changes
TakeDamageTriggered when this Character takes damage
UnGrabPropWhen Character drops a Prop
UnPossessedWhen Character is unpossessed
ViewModeChangedWhen Character changes it's View Mode
WeaponAimModeChangedCalled when Weapon Aim Mode changes

AnimationBeginNotify​

When an Animation Montage Notify begins
Character.Subscribe("AnimationBeginNotify", function(self, notify_name)

end)
TypeArgumentDescription
Character self
string notify_name

AnimationEndNotify​

When an Animation Montage Notify ends
Character.Subscribe("AnimationEndNotify", function(self, notify_name)

end)
TypeArgumentDescription
Character self
string notify_name

Attack​

Triggered when the Character effectively attacks with a Melee
Character.Subscribe("Attack", function(self, melee)

end)
TypeArgumentDescription
Character self
Melee melee

Death​

When Character Dies
Character.Subscribe("Death", function(self, last_damage_taken, last_bone_damaged, damage_type_reason, hit_from_direction, instigator, causer)

end)
TypeArgumentDescription
Character self
number last_damage_taken
string last_bone_damaged
DamageTypedamage_type_reason
Vector hit_from_direction
Player or nilinstigator
Base Actor or nilcauserThe object which caused the damage

Drop​

When Character drops the currently picked up Pickable
Character.Subscribe("Drop", function(self, object, triggered_by_player)

end)
TypeArgumentDescription
Character self
Base Pickable object
boolean triggered_by_player

EnterVehicle​

When Character enters a vehicle
Character.Subscribe("EnterVehicle", function(self, vehicle, seat_index)

end)
TypeArgumentDescription
Character self
Vehicle vehicle
number seat_index

AttemptEnterVehicle​

Triggered when a Character attempts to enter a vehicle

Return false to prevent it
Character.Subscribe("AttemptEnterVehicle", function(self, vehicle, seat_index)

end)
TypeArgumentDescription
Character self
Vehicle vehicle
number seat_index

FallingModeChanged​

Called when FallingMode changes
Character.Subscribe("FallingModeChanged", function(self, old_state, new_state)

end)
TypeArgumentDescription
Character self
FallingModeold_state
FallingModenew_state

Fire​

When Character fires a Weapon
Character.Subscribe("Fire", function(self, weapon)

end)
TypeArgumentDescription
Character self
Weapon weapon

GaitModeChanged​

Called when GaitMode changes
Character.Subscribe("GaitModeChanged", function(self, old_state, new_state)

end)
TypeArgumentDescription
Character self
GaitModeold_state
GaitModenew_state

GrabProp​

When Character grabs up a Prop
Character.Subscribe("GrabProp", function(self, prop)

end)
TypeArgumentDescription
Character self
Prop prop

HealthChanged​

When Character has it's Health changed, or because took damage or manually set through scripting or respawning
Character.Subscribe("HealthChanged", function(self, old_health, new_health)

end)
TypeArgumentDescription
Character self
number old_health
number new_health

Highlight​

When Character highlights/looks at a Prop or a Pickable
Character.Subscribe("Highlight", function(self, is_highlighted, object)

end)
TypeArgumentDescription
Character self
boolean is_highlightedWhether the object is being highlighted or not
Prop or Base Pickable object

Interact​

Triggered when a Character interacts with a Prop or Pickable

Return false to prevent it
Character.Subscribe("Interact", function(self, object)

end)
TypeArgumentDescription
Character self
Prop or Base Pickable object

LeaveVehicle​

When Character leaves a vehicle
Character.Subscribe("LeaveVehicle", function(self, vehicle)

end)
TypeArgumentDescription
Character self
Vehicle vehicle

AttemptLeaveVehicle​

Triggered when this Character attempts to leave a vehicle

Return false to prevent it
Character.Subscribe("AttemptLeaveVehicle", function(self, vehicle)

end)
TypeArgumentDescription
Character self
Vehicle vehicle

MoveCompleted​

Called when AI reaches it's destination, or when it fails
Character.Subscribe("MoveCompleted", function(self, succeeded)

end)
TypeArgumentDescription
Character self
boolean succeeded

PickUp​

When Character picks up anything
Character.Subscribe("PickUp", function(self, object)

end)
TypeArgumentDescription
Character self
Base Pickable object

Possessed​

When Character is possessed
Character.Subscribe("Possessed", function(self, possesser)

end)
TypeArgumentDescription
Character self
Player possesser

Punch​

When Character punches
Character.Subscribe("Punch", function(self)

end)
TypeArgumentDescription
Character self

RagdollModeChanged​

When Character enters or leaves ragdoll
Character.Subscribe("RagdollModeChanged", function(self, old_state, new_state)

end)
TypeArgumentDescription
Character self
boolean old_state
boolean new_state

AttemptReload​

Triggered when this Character attempts to reload

Return false to prevent it
Character.Subscribe("AttemptReload", function(self, weapon)

end)
TypeArgumentDescription
Character self
Weapon weapon

Reload​

When Character reloads a weapon
Character.Subscribe("Reload", function(self, weapon, ammo_to_reload)

end)
TypeArgumentDescription
Character self
Weapon weapon
number ammo_to_reload

Respawn​

When Character Respawns
Character.Subscribe("Respawn", function(self)

end)
TypeArgumentDescription
Character self

StanceModeChanged​

Called when StanceMode changes
Character.Subscribe("StanceModeChanged", function(self, old_state, new_state)

end)
TypeArgumentDescription
Character self
StanceModeold_state
StanceModenew_state

SwimmingModeChanged​

Called when Swimming Mode changes
Character.Subscribe("SwimmingModeChanged", function(self, old_state, new_state)

end)
TypeArgumentDescription
Character self
SwimmingModeold_state
SwimmingModenew_state

TakeDamage​

Triggered when this Character takes damage

Return false to cancel the damage (will still display animations, particles and apply impact forces)
Character.Subscribe("TakeDamage", function(self, damage, bone, type, from_direction, instigator, causer)

end)
TypeArgumentDescription
Character self
number damage
string boneDamaged bone
DamageTypetypeDamage Type
Vector from_directionDirection of the damage relative to the damaged actor
Player instigatorThe player which caused the damage
any causerThe object which caused the damage

UnGrabProp​

When Character drops a Prop
Character.Subscribe("UnGrabProp", function(self, prop)

end)
TypeArgumentDescription
Character self
Prop prop

UnPossessed​

When Character is unpossessed
Character.Subscribe("UnPossessed", function(self, old_possesser)

end)
TypeArgumentDescription
Character self
Player old_possesser

ViewModeChanged​

When Character changes it's View Mode
Character.Subscribe("ViewModeChanged", function(self, old_state, new_state)

end)
TypeArgumentDescription
Character self
ViewModeold_state
ViewModenew_state

WeaponAimModeChanged​

Called when Weapon Aim Mode changes
Character.Subscribe("WeaponAimModeChanged", function(self, old_state, new_state)

end)
TypeArgumentDescription
Character self
AimModeold_state
AimModenew_state

Male & Female Customization​

The following items can be used to customize Male & Female (nanos-world::SK_Male & nanos-world::SK_Female) default meshes from nanos world.

Morph TargetsMat. Scalar ParamsMat. Color ParamsMat. Texture Params
nose1BaseColorPowerLipstickTintTexture
nose2MuscularBrowsTintLipstickMask
browsSpecularBlushTintBrowsMask
mouthRoughnessEyeShadowTintBlushMask
fatScatterUnderwearTintEyeShadowMask
nose3DetailAmountHairTintNormal
chinDetailScaleTintNormalMuscular
faceUnderwearRoughnessUnderwearMask
nose4UnderwearSpecularSR
skinnyHairScatterHairTexture
jawHairAlphaPowerHairSpecular
brows2HairSpecularMultiplierHairRoughness
angryHairRoughnessMultiplierHairTangent
smirkHairPixelDepth
smirk2
smirk3
smile
nose6
jaw_forward
lips
lips2
mouth_wide
eyes1
eyes2
eyes3
eyes4
eyes_retraction
lips3
eyes5
nose7
forehead
bodyfat

Character's Skeleton Bone Names​

info

Ugly list I know.

  • root
    • pelvis
      • spine_01
        • spine_02
          • spine_03
            • clavicle_l
              • upperarm_l
                • lowerarm_l
                  • hand_l
                    • index_01_l
                      • index_02_l
                        • index_03_l
                    • middle_01_l
                      • middle_02_l
                        • middle_03_l
                    • pinky_01_l
                      • pinky_02_l
                        • pinky_03_l
                    • ring_01_l
                      • ring_02_l
                        • ring_03_l
                    • thumb_01_l
                      • thumb_02_l
                        • thumb_03_l
                    • weapon_l
            • clavicle_r
              • upperarm_r
                • lowerarm_r
                  • hand_r
                    • index_01_r
                      • index_02_r
                        • index_03_r
                    • middle_01_r
                      • middle_02_r
                        • middle_03_r
                    • pinky_01_r
                      • pinky_02_r
                        • pinky_03_r
                    • ring_01_r
                      • ring_02_r
                        • ring_03_r
                    • thumb_01_r
                      • thumb_02_r
                        • thumb_03_r
                    • weapon_r
            • neck_01
              • head
                • lefteye
                • righteye
                • leftlidup
                • leftlidlow
                • rightlidup
                • rightlitlow
      • thigh_l
        • calf_l
          • foot_l
            • ball_l
      • thigh_r
        • calf_r
          • foot_r
            • ball_r