Slate Class

So I’ve been interested in using Slate to create my own editor window for a project I’m working on. This is specifically for use in the editor, not during run-time. I’ve watched and read many tutorials but haven’t really gotten anywhere far. I’m a little confused about:

  • Does it have to be a plugin?
  • When creating a New C++ Class, what do I select as the parent class if I want to make an SWindow?
  • How do I invoke this window to appear?
  • Is there a way to add a new button to a blueprint of a specific class?

Thanks for any responses.

  1. It doesn’t necessarily have to be a plugin, but you probably do at least want it to be a separate module unless you want to include editor code in with your project (perfectly viable). Plugins are more convenient than modules though IMO.

  2. I don’t think the creation wizard lists slate classes since Slate doesn’t use reflection, so you can just create the empty .h / .cpp files and add them to your solution (or create empty .h/.cpp files directly in VS).

  3. Entirely up to you. Personally I quite like using the Tab system and creating a Toolkit, as that slots into the existing editor quite nicely. There are a few examples of this in the engine source, my advice would be to just look at a window that is invoked in a similar way to yours.

  4. Not sure what you mean exactly, but most likely yes.

Ok, so while I was trying to find a parent slate class to derive from, I was clicking the button “Show all Classes” that brings up the search bar. I didn’t realize that if I didn’t press that button and just scroll down, I would find the parent class I was looking for, “SComponentWidget”. However, I’m following a tutorial and it uses something called SDetailsSection, yet the editor is telling me that no such thing exists.

Here is the tutorial: https://docs.unrealengine.com/en-US/…Slate/Overview

EDIT: It also says there are too many input arguments for the macro: SLATE_NAMED_SLOT