Blueprint
Tip
If your Actor Blueprint was spawned on the Server, it will be automatically synchronized with other players using the HELIX Network Authority system! It follows the same rules as all other entities!
Examples#
Calling Blueprint Events from lua#
```lua title=Client/Index.lua -- Spawns the Blueprint local blueprint = Blueprint(Vector(), Rotator(), "my-asset-pack::BP_MyBlueprint")
local param1 = 123 local param2 = "hello there!"
-- Calls the event, passing any parameters blueprint:CallBlueprintEvent("MyBlueprintCustomEvent", param1, param2)
### Binding Blueprint Event Dispatchers
```lua title=Client/Index.lua
-- Spawns the Blueprint
local blueprint = Blueprint(Vector(), Rotator(), "my-asset-pack::BP_MyBlueprint")
-- Subscribes to a Blueprint Event Dispatcher
blueprint:BindBlueprintEventDispatcher("MyBlueprintDispatcher", function(self, arg1, arg2)
Console.Log("Called from Blueprint!", arg1, arg2)
end)
Constructors#
Static Functions#
Functions#
Events#
✅ List of Supported Parameter Types#
List of all supported parameters which can be passed between Lua ↔ Blueprint:
Lua Type | Blueprint Type | Lua → BP | BP → Lua |
---|---|---|---|
boolean |
Boolean |
✅ | ✅ |
number |
Byte |
✅ | ✅ |
number |
Integer |
✅ | ✅ |
number |
Integer64 |
✅ | ✅ |
number |
Float |
✅ | ✅ |
number |
Enum |
✅ | ✅ |
string |
String |
✅ | ✅ |
string |
Name |
✅ | ✅ |
string |
Text |
✅ | ✅ |
Vector2D |
Vector2D |
✅ | ✅ |
Vector |
Vector |
✅ | ✅ |
Rotator |
Rotator |
✅ | ✅ |
Color |
Color |
✅ | ✅ |
Color |
LinearColor |
✅ | ✅ |
StaticMesh |
StaticMeshActor |
✅ | ✅ |
Prop |
StaticMeshActor |
✅ | ✅ |
Weapon |
SkeletalMeshActor |
✅ | ✅ |
Vehicle |
WheeledVehiclePawn |
✅ | ✅ |
Grenade |
StaticMeshActor |
✅ | ✅ |
Melee |
StaticMeshActor |
✅ | ✅ |
Light |
Light |
✅ | ✅ |
Decal |
DecalActor |
✅ | ✅ |
TextRender |
WorldText3D |
✅ | ✅ |
Sound |
AmbientSound |
✅ | ✅ |
Canvas |
MaterialInstanceDynamic |
✅ | ❌ |
WebUI |
MaterialInstanceDynamic |
✅ | ❌ |
SceneCapture |
MaterialInstanceDynamic |
✅ | ❌ |
Blueprint |
Actor |
✅ | ✅ |
Widget |
Widget |
✅ | ❌ |
BaseActor |
Actor |
✅ | ✅ |
Player |
PlayerController |
✅ | ❌ |
SpecialPath |
Texture2D |
✅ | ❌ |
table |
Any Struct |
✅ | ✅ |
Note
It is only possible to pass Actors from Blueprint → Lua if the Actor is a Spawned Entity. It is not possible to pass newly spawned Actors in Blueprints to Lua.
Tip
Passing Maps
, Arrays
and Sets
is also supported! As long their keys/values are in the list above.
Any Struct#
Custom Structs can also be passed and retrieved, just pass an object with the same properties as the Unreal Struct, examples:
FTransform#
{
["Translation"] = Vector(),
["Rotation"] = Rotator(),
["Scale"] = Vector()
}
FMargin#
{
["Bottom"] = 0.0,
["Left"] = 0.0,
["Right"] = 0.0,
["Top"] = 0.0
}
FVector4#
{
["W"] = 0.0,
["X"] = 0.0,
["Y"] = 0.0,
["Z"] = 0.0
}