I think this tool is a great idea, I could write CPP but there are cases when I need the rapid iteration of BP to refine expressions and this could make converting those into CPP faster than me doing it by hand. Obviously the code has said not to be too readable but I would probably only ever use it for smaller chunks to build up function libraries, new nodes for me to use that bypass BPs weaknesses.
One of the biggest thing BP has going for it is it isnt human readable it has a layer there for display so you could output it in any other visual way (including text), Im surprised someone hasnt made a node->text graph tab yet but this is certainly a step in that direction. Im really hopeful about the future of BP because of the support it gets with projects like this, I cant wait to see as it evolves and gets faster with larger libraries of nodes to use and less barriers between the sub-editors
That is indeed very impressive, but seeing as how this could potentially either work great or not at all - wouldn’t the ability to specify which blueprints to “nativize” be a better option…? Like Hevedy mentioned he’s apparently got some issues with plugins and some events not working; so instead of it all breaking - you could prevent those BPs that do not properly convert from being converted.
I have no idea how this stuff works, to me it’s magic - basically skynet stuff going on. Just a thought. :rolleyes:
Edit:
I just read the preview summary for 4.12 and saw this;
Can exclude certain Blueprints from the process in your game’s DefaultEditor.ini file (under [BlueprintNativizationSettings]). General “types” of Blueprints can be excluded: +ExcludedBlueprintTypes=/Script/UMGEditor.WidgetBlueprint. Specific assets can also be excluded: +ExcludedAssets=/Game/Blueprints/MyBlueprint
Blueprint still don’t have 100% access to APIs, you still need C++ to fully use OnlineSubsystems, don’t (and never will) have direct access to Slate and 100% of it’s widgets. Also there is stuff that easier to be done in C++ then Blueprint, like more advance loops.
Totally agree. I don’t like the idea of Blueprints. I suppose they are good for prototyping and for very small things, but I have to code. C++ is awesome and very powerful.
Just trying this out for the first time, in 4.11, I notice that if there is a line break in a blueprint comment, it will translate to a line break in the C++ source, which won’t work with C++ “//-style” comments. It should strip the line breaks and/or wrap the comment in a “/* */” pair.