{"id":1000,"date":"2022-08-20T11:43:57","date_gmt":"2022-08-20T02:43:57","guid":{"rendered":"https:\/\/colory-games.net\/site\/?p=1000"},"modified":"2023-11-04T20:36:35","modified_gmt":"2023-11-04T11:36:35","slug":"released-unreal-engine-plugin-advanced-control-flow-en","status":"publish","type":"post","link":"https:\/\/colory-games.net\/site\/en\/released-unreal-engine-plugin-advanced-control-flow-en\/","title":{"rendered":"Released Unrael Engine Plugin &#8220;Advanced Control Flow&#8221;"},"content":{"rendered":"\n<div class=\"wp-block-jetpack-markdown\"><p><a href=\"https:\/\/i0.wp.com\/colory-games.net\/site\/wp-content\/uploads\/home\/products\/unreal-engine-plugin\/advanced_control_flow.png?ssl=1\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/colory-games.net\/site\/wp-content\/uploads\/home\/products\/unreal-engine-plugin\/advanced_control_flow.png?ssl=1\" alt=\"\" data-recalc-dims=\"1\"><\/a><\/p>\n<p>We recently released the Unreal Engine plugin &quot;Advanced Control Flow&quot;!<br>\nThe goal of &quot;Advanced Control Flow&quot; is to enable complex control statements in blueprints with a single blueprint node.<\/p>\n<p><a href=\"https:\/\/www.unrealengine.com\/marketplace\/en-US\/product\/advanced-control-flow\">Marketplace: Advanced Control Flow<\/a><\/p>\n<p>Free version is available on GitHub (But it requires the build process in C++).<br>\nIf you like it, please consider purchasing it on Marketplace.<\/p>\n<p><a href=\"https:\/\/github.com\/colory-games\/UEPlugin-AdvancedControlFlow\">GitHub: colory-games\/UEPlugin-AdvancedControlFlow<\/a><\/p>\n<p>Now this article will introduce the two types of blueprint nodes provided by the plugin.<\/p>\n<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">\u76ee\u6b21<\/p><ul class=\"toc_list\"><li><a href=\"#MultiBranch_Multiple_conditional_branches_in_one_node\">MultiBranch: Multiple conditional branches in one node!<\/a><\/li><li><a href=\"#Conditional_Sequence_execute_all_processes_matching_the_condition\">Conditional Sequence: execute all processes matching the condition.<\/a><\/li><li><a href=\"#Summary\">Summary<\/a><\/li><\/ul><\/div>\n<h2><span id=\"MultiBranch_Multiple_conditional_branches_in_one_node\">MultiBranch: Multiple conditional branches in one node!<\/span><\/h2>\n<p><a href=\"https:\/\/i0.wp.com\/raw.githubusercontent.com\/colory-games\/UEPlugin-AdvancedControlFlow\/main\/docs\/images\/tutorial\/vanilla_vs_multibranch.png?ssl=1\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/raw.githubusercontent.com\/colory-games\/UEPlugin-AdvancedControlFlow\/main\/docs\/images\/tutorial\/vanilla_vs_multibranch.png?ssl=1\" alt=\"\" data-recalc-dims=\"1\"><\/a><\/p>\n<p>If you want to write multiple conditional branches (if-elseif-else statements in C++) using Branch nodes, you will generally need to use multiple Branches to achieve this. (Left side of the above figure)<br>\nIf it is only 2 or 3 conditional branches, it is not a problem.<\/p>\n<p>Let&#8217;s consider 10 conditional branches.<br>\nIt is obvious that 10 Branches will make it difficult to understand the original logic.<\/p>\n<p>However, by using the <strong>MultiBranch<\/strong> node, it can be realized by simply placing one node. (right in the above figure)<br>\nIt is nice to have only one node to place so that we can concentrate on the original logic.<\/p>\n<p>You can add\/delete pins for conditional branches from Add Pin or from the menu when right-clicking a node.<br>\nThe ability to freely change the number of pins is another advantage of using the MultiBranch node.<\/p>\n<h2><span id=\"Conditional_Sequence_execute_all_processes_matching_the_condition\">Conditional Sequence: execute all processes matching the condition.<\/span><\/h2>\n<p><a href=\"https:\/\/i0.wp.com\/raw.githubusercontent.com\/colory-games\/UEPlugin-AdvancedControlFlow\/main\/docs\/images\/tutorial\/vanilla_vs_conditional-sequence.png?ssl=1\"><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/raw.githubusercontent.com\/colory-games\/UEPlugin-AdvancedControlFlow\/main\/docs\/images\/tutorial\/vanilla_vs_conditional-sequence.png?ssl=1\" alt=\"\" data-recalc-dims=\"1\"><\/a><\/p>\n<p>As you know, a Sequence node executes all the processes connected to the output execution pins.<\/p>\n<p>Let&#8217;s consider the case where we want to execute only those processes that match the conditions among the processes connected to the execution pins on the output side of the Sequence node.<br>\nNormally, we would add a Branch node behind the execution pin. (left in the above figure)<\/p>\n<p><strong>Conditional Sequence<\/strong> node makes it easy to execute all the processes that match the condition. (right in the above figure)<br>\nThe Branch node no longer needs to be placed behind the output execution pin.<br>\nThis makes it easier to focus on the original logic.<\/p>\n<h2><span id=\"Summary\">Summary<\/span><\/h2>\n<p>In this article, we have introduced two types of blueprint nodes provided by &quot;Advanced Control Flow&quot;.<br>\nIf you find it difficult to understand the operation from this article, please check out the video uploaded on YouTube.<\/p>\n<\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/c9moKtYbnvA?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=ja&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation\"><\/iframe><\/span>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":968,"comment_status":"open","ping_status":"open","sticky":false,"template":"templates\/single-home-techblog.php","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[162,160,80,170,166,94,71],"tags":[],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/colory-games.net\/site\/wp-content\/uploads\/home\/products\/unreal-engine-plugin\/advanced_control_flow.png?fit=1280%2C720&ssl=1","_links":{"self":[{"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/posts\/1000"}],"collection":[{"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/comments?post=1000"}],"version-history":[{"count":3,"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/posts\/1000\/revisions"}],"predecessor-version":[{"id":1043,"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/posts\/1000\/revisions\/1043"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/media\/968"}],"wp:attachment":[{"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/media?parent=1000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/categories?post=1000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/colory-games.net\/site\/wp-json\/wp\/v2\/tags?post=1000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}