Custom Blueprints#
This guide walks you through the process of packaging blueprint assets as an Addon for the Creator Hub using the Creator Kit.
If you're new to Unreal Blueprints, you can check out this tutorial for an introduction to how they work.
1. Preparing Blueprint Assets To Package#
First, you need to get the blueprint assets you would like to package into Creator Kit. Packaging blueprints is technically not different than packaging any type of Addon .pak file.
For this tutorial, we have a blueprint based clock system pack, which has a main clock actor blueprint, materials, textures, widgets, and sound files.
-
Launch the Creator Kit editor.
-
Access the HELIX Packaging Tool from the main toolbar.
-
In the packaging tool window, click New Package.
-
Enter a unique Package Name (e.g., ClockSystem).
-
Select Addon as the Package Type.
-
Click Add New Package. This action creates a dedicated folder for your assets (e.g., Content/Addon_ClockSystem).
-
Move (or create) the blueprints and all the dependent assets into the package folder you've just created.
2. Finalizing and Cooking The Package#
-
Make sure all the depending assets by your blueprint are placed inside package folder. If one of those assets are placed outside of the created package folder, created .pak file will have missing dependencies and this might cause crashes or runtime errors during playthrough with this package.
-
Make sure you have defined all the required functions, events, variables etc. in your blueprints to later access them with Lua inside Helix after importing your package there.
-
Return to the HELIX Packaging Tool window.
-
With your package selected, click the Package button. This process will cook your assets into the final
.pakfile format required by the Creator Hub. This may take some time. -
Once cooking is complete, a file explorer window will automatically open, displaying your final
.pakfiles. Your blueprint addon pack is now ready to be uploaded to the Creator Hub!
3. Using Packaged Custom Blueprints In Worlds#
1. By Lua#
For this example use case, we will try to load our packaged custom blueprint asset and spawn it on world with a Lua script. Then, we will define a custom event in the actor blueprint and call it from Lua script.
-
After creating your workspace, open build mode and import the package you created in Creator Kit HELIX Packaging Tool. To do that, click File -> Load Package from top bar, navigate to your package folder cooked by Creator Kit, and select
configFile.jsonin the folder. -
After import is completed, you will get a panel on the left side of window with the package's name. It should show your package's content as shown below:
-
Find and right click to the blueprint you would like to spawn in world. Select Copy Object Path from the dropdown menu. You can use this full path in Lua scripts to load the object into memory.
-
Now we need to write our Lua script to spawn our blueprint actor. Click Edit Scripts button and open the workspace folder.
-
To spawn our blueprint actor locally in the client, we add the client lua script below into
WORKSPACE_ID/scripts/main/client/main.luapath in the workspace.-- Load clock actor class from package. The path is copied from build mode interface as explained in the 3rd step. local ClockActorClass = UE.UObject.Load('/Game/Addon_ClockSystem/Blueprints/BP_HM_floor_clock_Interactive.BP_HM_floor_clock_Interactive_C') -- Spawn transform local SpawnTransform = Transform() SpawnTransform.Translation = Vector(500, 0, 150) SpawnTransform.Rotation = Rotator(0, 90, 0):ToQuat() SpawnTransform.Scale3D = Vector(1.5, 1.5, 1.5) -- Constructor local ClockActor = HWorld:SpawnActor( ClockActorClass, SpawnTransform, UE.ESpawnActorCollisionHandlingMethod.AlwaysSpawn ) -
We have a basic logic in the blueprint to spawn an UMG widget on screen as shown below. After walking towards the clock, the widget automatically spawns on the screen to tweak the time.
-
After walking towards the clock, the widget becomes accessible.
-
Now let's call an event we've previously defined in the blueprint. Our
SetCustomTimeevent changes the time shown on the clock. -
After restarting the game to clean the level from previous changes, we add the function call below at end of our
main.luascript to execute our custom event on spawned blueprint actor. The same syntax can be used for calling any function in spawned actors.-- Manually set time on spawned clock with our blueprint defined event ClockActor:SetCustomTime(0,30,5) -- second, minute, hour
2. By Blueprint#
[examples coming soon]

















