Magic Nodes

Will the scanning happen only on first launch of a new project or each time opening it? If latter is true, can’t you just write all the info to a file in the project folder to prevent re-scan each time? Also what about new Enums created inside editor, will they get recognized or will a complete re-scan needed after each new added Enum?

I hope I’m not too far off on the technical side, since I have zero clue about how this is made :stuck_out_tongue:

These are two things (amongst others) in the @Todo list before investigating threaded scans.

Right now I do a one-off large scan at boot time (around 73%) and never update again until an Editor reboot.

There might be other opinions but I would rather have faster boot times than getting a word colored and an info which I can find on internet easily. However, if it was only on project creation (not every launch), I would definitely prefer having it.

From what I understand, you have already got it working. Then I think best option for now would be as you said, the option to toggle it on/off unless there are more important things you’ve planned.

Also, apparently there is a user with the name Todo :smiley:

I had to do this, there was no way to escape…
The little button will kick background threads to update auto-complete data without blocking the Editor.
This way we can work while it builds the data without causing bad editor performance:

Today’s task… off-node toolbar tools :stuck_out_tongue:

Double clicking an item from engine’s source tree, a tab will open with source in read-only mode…

I am trying to implement the “member context box” into the off-node code editor.
I wrote that thing so long ago that I have no clue what those markup prefixes mean anymore, but it’s almost working :slight_smile:

Fixed bugs on search tool and added a global async search in files tool (searchs only keywords within source code files):

I have unified all the compilation process to one click and added a compile button to the asset toolbar as well.
I also want to chain into it an auto fresh of node pins after compile without breaking existing pin connections, but that science I haven’t mastered yet…

(there’s no need to click both node then toolbar compiler button anymore, button do the whole thing now):

Just submitted v0.4.0 containing further improvements to search tools and a few low level changes for external expansions.
This is going to be the last update for some time, while I prepare to start pushing more complex stuff through the expansion api added (external modules that can do fancy stuff).

I’m submitting another update (for Unreal 4.25) where the node’s code editor now has an “incremental” unreal type scanner (searches for types while we type in editor without locking the editor), this way the “Build Database” process becomes less mandatory when using the node;

I’m also moving the development repository entirely to Unreal 4.25 because it’s not possible for me to keep up with all the engine internal changes while building the plugin for older and newer architectures at same time, this single change already took me entire last sunday because of the new “gotchas” lol.

I haven’t tried your plugin, but it looks really interesting to me.
Just wanna say thank you for such an amazing plugin. You are doing a great thing.

Hi.

I’am testing now your MagicNodes project. I find it very interesting, because now you have both worlds. The simple Nodes and complexity of C++. Very good idea.

however I would have some suggestions.

Please excuse my bad English first, but I hope you understand what I mean anyway. If I understand the whole thing correctly, you can create magicnodes as code in the content browser. In the blueprint you then create a container for the code and then insert it into the node. The problem I have is that you can see the complete code in the container. Too confusing to program, but just wasteful in space. I personally would find it better if the code is not displayed in the container. just inputs and outputs just like normal nodes. maybe another button to renew.

You can hide the code by pressing the arrow on the node
/ /\

Ah ok.

But the editor, the big one, not the one within the nodes, urgently needs a little revision. tabs and formatting are still quite difficult. I am also spoiled by visual studio. and the automatic completion stops. otherwise, very good work, I have to say.

I know :slight_smile:
developing a code editor in Slate is very difficult especially when compared to Visual Studio which is so good.

I wonder if you can make use of NoesisGUI? And if it would make development easier?

1 Like

No, visual studio is at least 50 million lines of code.
There’s a ton of things to do to make code editor in Unreal smoother… GUI for games is different matter.

I have been thinking about adding auto formatting to code, but half the people I asked said they like it other half said they hate auto formatted code.

First of all, thanks a lot for this awesome plugin! Really, I didn’t think it was possible to make something like this!

I’ve got a question. Is it possible to pass as pin a Blueprint only class? Imagine that I’ve got a blueprint Actor, could I pass it in some way to a magic node?