{"id":11165,"date":"2024-11-16T08:17:25","date_gmt":"2024-11-16T06:17:25","guid":{"rendered":"https:\/\/store.algosyntax.com\/?post_type=asx-lms-tutorial-cpt&#038;p=11165"},"modified":"2026-04-08T23:58:52","modified_gmt":"2026-04-08T21:58:52","slug":"ue5-multiple-windows-at-runtime-enhanced-ui","status":"publish","type":"documentation","link":"https:\/\/store.algosyntax.com\/documentation\/ue5-multiple-windows-at-runtime-enhanced-ui\/","title":{"rendered":"UE5 Multiple Windows At Runtime &#8211; Enhanced UI"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"11165\" class=\"elementor elementor-11165\" data-elementor-post-type=\"documentation\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6196ceb e-flex e-con-boxed e-con e-parent\" data-id=\"6196ceb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b37dee7 elementor-widget elementor-widget-text-editor\" data-id=\"b37dee7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The Enhanced UI Plugin for unreal engine 5 contains a UMG system to create multiple windows at runtime. These windows are capable of hosting differnt widgets of your choosing.\u00a0 You can design all your windows Using Blueprints or the UMG Designer and Spawn and Destroy them using blueprints. The system is mainly developed in C++ but exposes all essential tools and functions to blueprints so that Blueprint only designers can still use the system without issues.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eee5c6b elementor-widget elementor-widget-button\" data-id=\"eee5c6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/store.algosyntax.com\/marketplace\/unreal-engine\/enhanced-ui\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Enhanced UI Plugin Full Feature List<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a7ecd6c elementor-widget elementor-widget-heading\" data-id=\"a7ecd6c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">The Multiple Windows Demo Map<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c1f36b elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"7c1f36b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1583\" height=\"838\" src=\"https:\/\/store.algosyntax.com\/wp-content\/uploads\/marketplace\/unreal-engine\/enhancedui\/multiple-windows.jpg\" class=\"attachment-full size-full wp-image-11181\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-031181b elementor-widget elementor-widget-text-editor\" data-id=\"031181b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>To get started open the demo map and play with the windows a bit to see their behaviour&#8230;.\u00a0<br \/>The demo map is located at<\/p><p><strong> EnhancedUI_Content\/SmartWindows\/Maps\/DefaultWindowsSampleMap.umap\u00a0<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7acafd0 elementor-widget elementor-widget-heading\" data-id=\"7acafd0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">The Multiple Windows Demo Blueprints<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e995aab elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"e995aab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1534\" height=\"422\" src=\"https:\/\/store.algosyntax.com\/wp-content\/uploads\/marketplace\/unreal-engine\/enhancedui\/multiple-windows-demomap.jpg\" class=\"attachment-full size-full wp-image-11183\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a4e830 elementor-widget elementor-widget-text-editor\" data-id=\"8a4e830\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>All the blueprints\/ widgets that power this map are located at the following location:<br \/><br \/><strong>EnhancedUI_Content\/SmartWindows\/Blueprints<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59f68e2 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"59f68e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1543\" height=\"414\" src=\"https:\/\/store.algosyntax.com\/wp-content\/uploads\/marketplace\/unreal-engine\/enhancedui\/smartwindows-blueprints.jpg\" class=\"attachment-full size-full wp-image-11184\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29064f8 elementor-widget elementor-widget-text-editor\" data-id=\"29064f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The main widget for the demo map is :\u00a0<br \/>&#8220;<strong>WBP_SampleSmartWindowManager<\/strong>&#8220;<\/p><p>If you open it, you will notice that it inherits from UUserWidget class..\u00a0<br \/>But what we really want to focus on is the <strong>AxSmartWindowManagerCanvas<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4e31f1 elementor-widget elementor-widget-heading\" data-id=\"e4e31f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">AxSmartWindowManagerCanvas<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-baba0b8 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"baba0b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1586\" height=\"803\" src=\"https:\/\/store.algosyntax.com\/wp-content\/uploads\/marketplace\/unreal-engine\/enhancedui\/axsmartwindowmanagercanvas.jpg\" class=\"attachment-full size-full wp-image-11189\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2a1db5 elementor-widget elementor-widget-text-editor\" data-id=\"c2a1db5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>AxSmartWindowManagerCanvas\u00a0<\/strong>is a specialized Canvas Panel that is tuned to host and control <strong>SmartWindows.\u00a0\u00a0<\/strong>There is an example of a Smart window in the blueprints folder. We&#8217;ll get to it shortly.<br \/><br \/>Ideally , you want this Canvas to fill your entire screen, but we have centered it here, to show you that the windows within it won&#8217;t move outside its bounds.<br \/><br \/>Now, the <strong>SmartWindowManagerCanvas<\/strong> will\u00a0 automatically <strong>register<\/strong> any <strong>SmartWindow\u00a0<\/strong>added to it at design time&#8230; As you can see <strong>WBP_SampleSmartWindow<\/strong> is added at design time.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee39088 elementor-widget elementor-widget-heading\" data-id=\"ee39088\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Creating and registering windows at runtime<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4616c99 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"4616c99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1278\" height=\"550\" src=\"https:\/\/store.algosyntax.com\/wp-content\/uploads\/marketplace\/unreal-engine\/enhancedui\/adding-more-windows.jpg\" class=\"attachment-full size-full wp-image-11190\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ba55ec elementor-widget elementor-widget-text-editor\" data-id=\"0ba55ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>In order to add more windows at runtime, get a reference to the <strong>SmartWindowManagerCanvas\u00a0<\/strong>and call the <strong>&#8220;Create and Register Smart\u00a0 Window()&#8221;.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1444b77 elementor-widget elementor-widget-heading\" data-id=\"1444b77\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">What Registering Means<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc6a309 elementor-widget elementor-widget-text-editor\" data-id=\"fc6a309\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>By &#8220;Registering&#8221; a smart window with Window Manager Canvas, you ensure that window can be resized, moved, maximized etc around at runtime.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-57eecef elementor-widget elementor-widget-heading\" data-id=\"57eecef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">The Smart Window Widget<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13b4d91 elementor-widget elementor-widget-text-editor\" data-id=\"13b4d91\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The <strong>SmartWindowManagerCanvas\u00a0<\/strong>expects you to add widgets that inherit from &#8220;<strong>AxSmartWindow<\/strong>&#8220;.\u00a0<br \/>You can customize the default window or create your own from scratch by inheriting from <strong>AxSmartWindow.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c3fe390 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"c3fe390\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1599\" height=\"836\" src=\"https:\/\/store.algosyntax.com\/wp-content\/uploads\/marketplace\/unreal-engine\/enhancedui\/smartwindow-widget.jpg\" class=\"attachment-full size-full wp-image-11195\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18219a8 elementor-widget elementor-widget-heading\" data-id=\"18219a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">The Content Slot<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7fcc779 elementor-widget elementor-widget-text-editor\" data-id=\"7fcc779\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>SmartWindow widgets have few requirements&#8230; Among them, the <strong>ContentSlot<\/strong>, this is of type NamedSlot.<br \/>The ContentSlot can host anything you want within the Window. This is supposed to contain all your Window&#8217;s Content.<br \/><br \/>So in the Main Widget, you can add anything to the Content Slot of the windows&#8230;<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c0e2fc2 elementor-widget elementor-widget-button\" data-id=\"c0e2fc2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/store.algosyntax.com\/marketplace\/unreal-engine\/enhanced-ui\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Get The Enhanced UI Plugin<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"featured_media":0,"template":"elementor_header_footer","categories":[129,132],"tags":[133],"class_list":["post-11165","documentation","type-documentation","status-publish","hentry","category-unreal-engine","category-enhanced-ui","tag-user-interface","entry"],"acf":[],"_links":{"self":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/documentation\/11165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/documentation"}],"about":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/types\/documentation"}],"version-history":[{"count":2,"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/documentation\/11165\/revisions"}],"predecessor-version":[{"id":13353,"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/documentation\/11165\/revisions\/13353"}],"wp:attachment":[{"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/media?parent=11165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/categories?post=11165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/store.algosyntax.com\/asx-rest\/wp\/v2\/tags?post=11165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}