Magic Nodes

Edit: Seems it wont generate code because it was open in visual studio.

I would like to see it auto indent code and needs a complile/generate button in the MagicNode editor. (Not just on the node itself.)

At this moment I consumed all the time I was allowed to invest into this plugin.
I wanted to implement all the algorithms in the custom toolkit just like the ones that is implemented on the Node editor; I just couldn’t deliver for now, ran out of time.

Auto indent I was also unable to implement at this time, Slate got in the way (I failed in that function and scrapped it).

But all these things already noted, I also want them lol
I’m not too worried about it, because I want to keep working on it for many years. I just can’t rush it or prioritize it above my job tasks :s

It might not be my place to say this but in case you really didn’t, you should DEFINITELY submit for Dev Grants (there is no luck involved), they even have a check-box for “Tool/Plugin” in submission form. I just hope you get rewarded for this awesome tool materialistically as well! Wish I could do it myself :p.

I submitted plugin update for Unreal 4.22.
Keep in mind that this thing is still an experimental beta tool, I still didn’t have any extra time to go back and work it some more.

I’ve submitted v0.1.5 to marketplace (I have no access to GitHub where I am right now so the files in Git will be outdated for a while)…

  • In text/code editor within Nodes (expanded nodes) I have included auto indentation for new code lines.
    However, there’s a hard-coded routine in Slate’s multiline text widget which I cannot override right now, it automatically adds new line whenever Enter key is pressed. So the auto indentation will always come with an extra line break, I am working around that pressing backspace once a new line is included… I cannot find a way to fix this problem for now, sorry!

  • In pre-compiler class I’ve included an extra check to ignore whatever header includes that are incomplete or invalid before trying to generate the C++ objects.

Those changes are currently on the submitted plugin v0.1.5 for Unreal 4.22.

Some quick nodes to workaround this issue: Unreal Engine Issues and Bug Tracker (UE-68641)

Make sure you read this:

Can download nodes here:
https://www.dropbox.com/s/19foctkvju…ts.uasset?dl=0
https://www.dropbox.com/s/sqymv91hvo…el.uasset?dl=0 [HR][/HR]


[HR][/HR]

This is so awesome. Is this like some sort of convenience wrapper around the normal “C++ backed Blueprint node” design or are you doing something special?

It’s a custom “Kismet Node”: A new, community-hosted Unreal Engine Wiki - Announcements and Releases - Unreal Engine Forums

The turn-around thing about this node is that it can actually generate C++ classes and invoke functions from the generated classes by itself.
In general Kismet Nodes (or the UFUNCTION(…) ones) only know about C++ functions that already exist.

This node in particular creates an Unreal Object to store the code the user typed, then in runtime it already knows the pointer in memory to the compiled version of the function to call.
At runtime the node de-references the pointer and calls the “Execute” function of its object…

So you can have N^ custom Kismet Nodes packed into this only one node, instead of need to create one custom Kismet Node for each execution object you have.

OK, cool! some of that made sense to me! (that’s a huge improvement over where I was a month ago.) I have much more Unreal to learn.

I cannot install this plugin to UE 4.23.

I didn’t see this post earlier, sorry.
New engine releases take a few days to have plugin updates released for them. By now it is already possible to install 4.23 version.

Hi is it possible to make the same thing but for the custom node in the material editor?

Yes, would be possible.
But I still have no free time to add more work on this tool yet.

I applied for a grant so I could add more programmer work on it, but Epic’s judges said they couldn’t get to an agreement, some liked it and some did not.
Still waiting for official reply.

Hi to all. 1st post as only just started to learn game dev and moving over from app programming. Been programming on&off since Amiga :slight_smile: days played with lots of languages mainly procedural/funcitional. but OOP :open_mouth: So Ive just come across your product :slight_smile: Thank you. Just what the doctor ordered, installing as I type. I hope and think this could be a huge benefit into moving over to c~~ sorry thats me crying cause ++ … generally gives me such a headache ;o. Thank you Again.
Zebuddi. :slight_smile:

https://i.imgur.com/VJMlmR8.png

I am super excited to announce that 'Magic Nodes Plugin](Magic Node in Code Plugins - UE Marketplace)’ is officially a Epic Mega Grants](Epic MegaGrants | Apply For Funding to Enhance the UE Open Source Community - Unreal Engine) recipient for this year of 2020!
Thanks to Epic Games’ terrific generosity I have the path clear to move forward and make this tool grow to the point where it can be.
I also want to thank you, everyone out there who is a believer and has been using Magic Nodes, always providing me with awesome feedback.
Great things are coming! Feel free to always get in contact with me through email or PM me if you use Magic Nodes and want to share your experience!

Thank you again, Tim Sweeney & all of Epic Games staff!!
Much appreciated!
[HR][/HR]
IT’S PEANUT BUTTER JELLY TIME!!!

You definitely deserved it, congratulations!
Also, glad you tried :wink:

I have been working on hundreds of little improvements to the code editor in the node, later I need to implement the new functionalities into the code editor in assets as well.
Several problems have been fixed in the editor (auto indentation on Enter key press now works properly, etc), and I began implementation of a keyword suggestion popup;

I plan to release this new version this week (v0.3.0):

I’m done for now with the code editor expansion.
Both in-node editor and in-asset editor implement the same “intellisense” algorithms now, I was reluctant to do this earlier because I knew it’s a massive amount of code to maintain :s
I’ve mitigated the need for duplicated code by creating generic base text editor classes…

I am submitting the update to Epic now, should also upload to GitHub this weeked and then keep researching ways to keep improvements coming in:

Have been working on a decent source tree viewer, for references when coding in-editor…

I am facing a dilemma with Enums…
I can add Unreal Enums to the auto complete system (if you see previous screenshot above you will see that they aren’t recognised as enum types because I keep them out of scans for now), but if I add them there’s a *HUGE *amount of enums in Unreal to scan and take type info from. The issue with that is when the Editor is booting you may experience a very long scan process; depending on your system specs can take more than 5 minutes at startup while the editor collects type info from each and all Uenums existing in the engine.

I don’t know if I should add that… maybe keep it disabled, but with an option to activate it if you guys want it enabled?!
I really don’t want to deal with multithreaded code analysis, at least not for the upcoming months because reasons :3
Basically this is as slow as waiting for Visual Studio to finish scanning a Unreal project…

Image below is type info triggered from *EAccessLevel *enum I was using as guinea pig: