Create SWindow as UMG widget

Hi all!

I’ve already found some info about SWindow widget itself here: Two windows in a program - Platform & Builds - Epic Developer Community Forums
and here:
How to show the SWindow when I clicked the button? - C++ - Epic Developer Community Forums
and also about creating your custom UMG widget through C++ ('s tutorial): A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums

But still i can’t get myself in any point from where I can start, so my question is:
can I make a custom SWindow widget exposed to UMG editor where i’m able to place inside window any content I want?
If so, where should I start? What engine class i need to inherit or is it possible to follow 's tutorial with some modifications in order to implement window widget instead of rectange with custom render code?

The purpose of all of this is pretty simple: i want to get draggable window that is separated from main window and containts some UMG widgets with scripted logic (no C++ needed for window content creation).

Im using Unreal to make my bachelor’s degree work (small CAD software dedicated to specific theme) and currently trying to imrpove some of the UI aspects of it (currently, draggable UMG windows that are visible inside main viewport only are not very comfortable to work with).

Thank you.

You probably wont able to do that as UMG editor was not designed to edit SWindow, you would need to design support for it whole thing youtself. But why dont you jusy make function that creates SWindow and place widget generated from UMG class. You can easily grab Slate widget from UMG widget with this class:

You store UClass of some UMG widget, you create object from it and store it some where using NewObject function and then you use TakeWidget to grab slate widgey from it and add it to SWindow widget you created in C++.

Awesome, thank you! That’s what I wanted to hear. Definitely will try this.

Hi, !
I created a SWindow and set a umg as it’s content, if I CLOSE the SWindow though CLICK the close button before stop the game. I’ll get a error:

SObjectWidget for 'MySlateWindow_C /Engine/Transient.UnrealEdEngine_0:GameInstance_0.MySlateWindow_C_0' destroyed while collecting garbage. This can lead to multiple GCs being required to cleanup the object. Possible causes might be, 1) ReleaseSlateResources not being implemented for the owner of this pointer. 2) You may just be holding onto some slate pointers on an actor that don't get reset until the actor is Garbage Collected. You should avoid doing this, and instead reset those references when the actor is Destroyed.

Do you know how to solved this?

Thanks