Is there any reason to use UMG for a pure C++ UI implementation instead of using Slate directly?

Do I understand correctly that UMG is just a Blueprint-focused wrapper over Slate, and it may be easier to go with straight Slate if I am much more comfortable using C++ than Blueprints?

No. UMG adds a ton of unnecessary overhead just for the sake of having a WYSIWYG editor.
If you can, relatively fast, write Slate UIs in C++ then there’s pretty much zero reasons to go and use UMG.

The only reason to use UMG instead of slate is that UMG allows in editor Edit.
If you can use slate - then it would be a better choice performance wise.
Also UMG is limited and very annoying :slight_smile: