A few weeks ago (engine 4.2) I added 2 homemade macros into the StandardMacros. The first one is a For Loop with a “step” entry pin that takes any int (+ or -), the 2nd is the same thing with a break entry exec. I added them to the StandardMacros because I know it is something that I will use often in many projects, and because I never created a Blueprint Macro Library yet, I have been lazy learning how to create one.
Now, I just updated the engine to 4.3, and it removed my custom macros from the StandardMacros. Ok, no problem with that, I will just stop being lazy and create a “CustomStandardMacros” library. So, when I want to create the library, I am asked to choose a parent class for it and I do not understand why.
My understanding is that a macro only contains non-compiled code that can be used in any context, and that the code from it will be compiled by the blueprint using it, whatever the type or class of blueprint it is.
So, I have 2 questions.
- Why do I need to choose a parent class when creating a Blueprint Macro Library?
- What parent class do I have to use if I want the macros in my library to run in any and every type of blueprints for the next 20 years without having to concern about it, the same way I do with the StandardMacros?