{"id":1384,"date":"2026-04-03T18:50:50","date_gmt":"2026-04-03T18:50:50","guid":{"rendered":"https:\/\/sites.wsagames.com\/yy8y24\/?p=1384"},"modified":"2026-05-12T14:32:45","modified_gmt":"2026-05-12T14:32:45","slug":"unreal-engine-5-blueprint-tutorials","status":"publish","type":"post","link":"https:\/\/sites.wsagames.com\/yy8y24\/2026\/04\/03\/unreal-engine-5-blueprint-tutorials\/","title":{"rendered":"Unreal Engine 5 Blueprint Tutorials"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>NPC patrol and tracking system \uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/02\/25\/npc-patrol-and-tracking-system\/\">Development of NPC patrol and tracking system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This was my first time working with an enemy AI system, so I used these two videos to get a basic understanding of how to build one. I then organised my thoughts and, based on my own understanding, built a simple enemy AI system.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV15aMqzvEbT\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV13qMqzwEyF\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Player Pickup System\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/03\/01\/player-pickup-system\/\">Development of player pickup system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Following this tutorial, I learnt how to calculate the detection range and the grab range. I summarised the blueprint approach outlined in the tutorial and adapted it, modifying the trigger key and the distance between the item and the player after grabbing, and successfully implemented the feature independently.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV1Ge4y1u7Ai\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Player nervous bar UI and increase and decrease nervous\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/03\/01\/player-nervous-bar-ui-and-increase-and-decrease-nervous\/\">Development of player nervous bar UI and increace and decrease nervous<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">As I had no prior experience with UE5, I wasn\u2019t sure how to create a UI interface in the software. I learnt the process for creating UI interfaces in UE5 by following the first tutorial. Based on my understanding of the game, I created a simple health bar UI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Through the second tutorial, I gained an understanding of the concepts behind health gain and health loss blueprints. Based on my summary and reflection on the tutorial, I felt that the approach to health loss blueprints was overly complex, so I independently developed a simpler health loss blueprint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After I finished the blueprint, two issues arose: 1. The health-restoring blueprint did not work on NPCs. 2. I had set the health to decrease by 10 each time, but in the game it dropped straight to 0. I discussed these issues with Ross and we resolved them.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV1rT4y1z7TD\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV143411P7vP\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Checkout and Door-Opening System\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/03\/07\/checkout-and-door-opening-system\/\">Development of checkout and door-opening system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Through this tutorial, I learnt the approach to creating door-opening animations. Following the tutorial\u2019s guidance and adjusting the values, I completed the animation for opening and closing the door.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I built a separate checkout (item quantity detection) blueprint from scratch, and I connected these two separate systems according to my own approach to form a fully integrated, interconnected system.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV188Nvz7E9Z\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Character Dialogue System\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/03\/07\/character-dialogue-system\/\">Development od character dialogue system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">I came across many different types of dialogue tutorials, studied them, summarised their blueprint approaches, and identified their core commonalities. I extracted the blueprint approaches I needed from the tutorials and combined them with my own ideas to complete the dialogue system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After completing the Blueprint, I changed the dialogue text. However, when the game ran, the dialogue text hadn\u2019t been updated and remained the original version. I asked Ross, and he told me that I should click on the object that triggers the dialogue and change the text in that object\u2019s details panel, rather than changing it in the Blueprint variables.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV1jY411Z7Yb\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV15dXJYQEyc\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Shopping Car System\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/03\/25\/shopping-car-system\/\">Development of shopping car system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This tutorial gave me an idea: the concept behind this feature is that objects can only be pushed or pulled along the ground and cannot be picked up. So I realised that I already had a blueprint for picking up objects; I simply needed to lock the Z-axis to ensure that objects could only be pushed or pulled and not picked up. I added a check to the pick-up blueprint so that the Z-axis is locked whenever a shopping trolley is detected.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV16j411C77i\/?spm_id_from=333.1387.favlist.content.click\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Shopping List System\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/04\/02\/shopping-list-system\/\">Development of shopping list system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">From this tutorial, I learnt how to convert a PNG image into a texture, and I learnt how to add animations when creating UI elements.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV1X2421N7Bz\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mini Game System\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/04\/19\/mini-game-system\/\">Development of mini game system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">If the mini-game requires players to progress through levels, I need to ensure that the game can save their progress, which involves quite complex operations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, I\u2019ve found a jigsaw puzzle mini-game created using user controls; when the game is triggered, it simply opens and closes the canvas panel, so there\u2019s no need to save player data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The issue I\u2019m facing is that when the mini-game is triggered, the player\u2019s movement and camera view are locked, but even after the mini-game ends, the player is still unable to move.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I consulted Ross and resolved the issue. The problem was that the player became locked in place once the mini-game was triggered, but my Blueprint required the player to be locked in place again before they could be interacted with it was impossible to trigger the mini-game twice. So I moved the action to unlock the player to just before the Blueprint that closes the mini-game. The Blueprint now works by first unlocking the player once the mini-game is complete, and then closing the mini-game.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV1MQ4y1b7za?spm_id_from=333.788.player.switch&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8&amp;p=2\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NPC Dialogue System\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/04\/19\/customers-dialogue-system\/\">Development of NPC dialogue System<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The system works fine, but UE5 throws an error when the game is closed. After consulting Ross, I found out that the error is caused by the player overlapping with the collision volume too many times; although the dialogue has been removed, the command to remove it is still being triggered. Ross therefore advised me to add a condition in the Blueprint to prevent it from being triggered multiple times.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NPC Animation\uff1a<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/05\/04\/npc-animation\/\">Development of NPC animation<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This is a tutorial on creating a 2D platformer using UE5; this section focuses on creating 2D character animations. I have used the approach mentioned in the video to assemble the animation frame by frame.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As I am using the default character model in UE5, I cannot simply delete the static mesh, nor can I directly apply the animation to the default static mesh. So, I added a PaperFlipBook component; both components appear simultaneously, but the default static mesh is hidden. Although both components exist, the player can only see the 2D character.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV1zMudzZETN\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Cut Scene system:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wsagames.com\/yy8y24\/2026\/05\/04\/cut-scene\/\">Development of cut scene system<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">This video primarily demonstrates how to play a video in full-screen mode in UE5. I have independently developed the Blueprint logic for the entire cutscene. My approach is to play this video before the player transitions to the next level, and once the video has finished, the player moves on to the next scene. As the video is placed within a User Control, after creating the video as per the tutorial, I added a Blueprint to create a Widget and add it to the viewport before the level transition Blueprint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Although the Blueprint is running, the video is displayed as a static image in the viewport and cannot be played. I discussed this issue with Ross, who explained that as the video is 5 seconds long, the delay added in the Blueprint must be longer than or equal to the video\u2019s duration; otherwise, the widget will be displayed in the viewport for too short a time, and the video will not play.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I encountered an issue with cutscenes during the build process; specifically, the videos went missing after the build was successful. After doing some research, I discovered that whilst the folder containing my cutscene videos was named \u2018cutscene\u2019, the folder for storing videos in UE5 is named \u2018Movies\u2019, and the videos could not be included in the build. I therefore renamed the folder and updated the video paths.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.bilibili.com\/video\/BV1dbZxBrENq\/?spm_id_from=333.1387.favlist.content.click&amp;vd_source=b51d3784fe57f75ac90ebd3c11c5bad8\">Link of the tutorial video<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>NPC patrol and tracking system \uff1a This was my first time working with an enemy AI system, so I used these two videos to get a basic understanding of how to build one. I then organised my thoughts and, based on my own understanding, built a simple enemy AI system. Player Pickup System\uff1a Following this [&hellip;]<\/p>\n","protected":false},"author":56,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[66,1],"tags":[],"class_list":["post-1384","post","type-post","status-publish","format-standard","hentry","category-research-semester-2","category-year2"],"_links":{"self":[{"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/posts\/1384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/users\/56"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/comments?post=1384"}],"version-history":[{"count":49,"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/posts\/1384\/revisions"}],"predecessor-version":[{"id":1709,"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/posts\/1384\/revisions\/1709"}],"wp:attachment":[{"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/media?parent=1384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/categories?post=1384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.wsagames.com\/yy8y24\/wp-json\/wp\/v2\/tags?post=1384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}