Hi. I know that Blueprints main purpose are to allow designers to iterate quickly. And that more complicated systems probably should be designed in c++.
But is there a specific reason why you don’t allow programmers to rapidly prototype with their full potential in blueprints as well before we move over to c++?
There are some essential features that I’m really missing!
Being able to freely choose wheater something is private/protected/public.
Some things, like variables can ONLY be public or private. I might want to be able to access it within child classes, but NOT from other blueprints.
Being able to freely choose accessability for Custom Events.
Custom Events is required in order to use latent functions like the Delay node, which is saving SOOO much time.
But it’s rarely I want these events to be something other blueprints should fiddle with.
You have a tickbox to enable abstract classes. Which is great. Where are the abstract methods that FORCE you to override them?
I saw that with c++ you can add in PropertyAttributes that allow you to make a exposed variable hidden based on another variable state.
Is this something you could introduce for Blueprints as well?
I really wish BlueprintInterfaces could support EventDispatchers.
This happens 8/10 times I wish to use interfaces, I find that I can’t really, because I need the generic callback events.
Some variable types like UWorld especially, should be exposed to blueprints.
Using strings to load in levels is not really a solid method, as they are prone to spelling errors and they dont update if you change the names.
How ever, nothing stops you from creating a Load Level Instance (by Object Reference) node and converting its UWorld Soft Object to a variable.
This is super useful and most likely not supposed to be intended. But I think it should be!
You can do the same (as mentioned in point 6) with Event nodes. Create a Bind to Event node and drag the Event pin to a function input, and voila.
Generic callback method. Works amazingly for certain tasks. Like for example, a custom method I made called MakeConfimationWidget(AcceptCallback, DeclineCallback).
Please look into exposing these in an elegant way also.
If you have some comments on any of these I would love to hear your thought on the subjects.