Hi.
The code should work fine on 4.25 as well, just copy-paste it into a file/class of your own.
You then just call the CreateWindow() method with any UMG widget you created (with CreateWidget() either in C++ or BP) and get a window displaying that widget and all its contents.
About displaying the cam, you could have the cam render into a texture and use that texture in a UMG widget (in/for the window) for display - haven’t tested that, but should work.