NodeCanvas Forums › General Discussion › Overreaching Request
I was curious if there were any possibility that you could “incept” NodeCanvas & FlowCanvas into unity and create a standalone app, or at least one with minimal unity dependencies that could still ingest .net libraries and dynamically create nodes from them. Preferably in a way that could either spit out C#/.Net to use elsewhere or a flow-graph script that it could run later. It would be helpful to have this as both a native Windows app and a Linux app that could be run headless on a server. The headless Linux version could then run the flow-graphs as automation bots and micro-services. The C#/.Net output option could be used for Azure servers and whatnot, or as a means of crafting scripts for use in other projects. Also, some sort of GUI system for the nodes and their libraries would be super handy. If we could ingest .net libraries and they were auto-assigned little generated icons for each node created, then presented in a menu bar at the top similar to Grasshopper3D, along with some nice editing options for placement, naming, icons, etc within the menu. Then we could import libraries and have a quick working visual plugin pack. Given the options to rename everything, swap icons, etc we could easily test new things and trick them out to our liking if we decided to keep them. Everything could be readily available and accessible while easily accommodating an ever-growing directory of ingested plugin packs and libraries of nodes. Having all the nodes readily available in such a menu is quite helpful for quickly throwing out very large node graphs once you’re familiar with their locations and what’s available. Even when you’re not really sure how to proceed, digging around such a menu can be quite inspirational given a broad enough selection of options. Ideally, each node, at least for this menu would be a group of its reflected option sets. Basically, you could take each node and toss it onto the canvas then be given the selection of which flavor you wanted (Translate (Vector3), Translate(Vector3, Space), etc). Much of this proposed GUI functionality is already implemented in some form or another, as far as being able to access reflected nodes and such. This would be yet another very useful tool in the already seemingly extensive arsenal, an alternate means of accessing the nodes available.
So, why would I ask such a thing when I could just install Unity instead, and go use this as it was intended?
Turns out, it’s not as simple to do that as you might think. I’ve spent a good chunk of the last 4 days trying for exactly that option. I’ve installed and uninstalled at least 7-8 versions of Unity and Unity Hub, multiple times. I’ve meticulously gone through the entire folder structure of the computer to remove every trace of anything Unity, along with the entire registry, all the system environment settings, all the system symlink settings, and pretty literally most other places anything Unity could be hiding. After that, I installed fresh versions and ran a script that explicitly allowed every .exe and .dll that unity created access through the firewall, which happens to be thousands of files. I’ve made sure I have the most recent drivers on the GPU. I’ve confirmed my system specs meet or exceed their listed requirements on every item. Still, after all of that, I have never seen Unity. I have only ever attempted to create a project which always appeared to work, then Unity always attempted to open it, then it crashed. After that, attempting to reopen that project would only ever end one of two ways. If I had Unity Hub opened the whole time it would let me attempt opening the project only to declare that it was for some other unknown version of Unity, to which I would reply that it should upgrade it, and it would fail. If I had closed Unity Hub and then came back to try opening the project again, it would flag the project then explain how it was for an unknown editor version and it would never attempt reopening the project. It would also forget the project existed after that if I closed and reopened Unity Hub again. The project would simply be gone, though it was still cluttering up my file system. Did I try not having Unity Hub installed and opening Unity alone? Yep, multiple versions. Each attempt only ever left me with another 130mb folder with 7,833 files and 655 folders of apparently unusable garbage to clean up. This has now happened around 60-70 times, leaving me to wonder what that must be doing to my hard drive just for attempting to open a program. Worth mentioning too is that during all of this their Licensing client/server was doing a splendid job and often had 2 or more instances running on the computer with a nice strong internet connection going. Good for them. So, after all of that and now facing a few more un-installations of this steaming pile of garbage, I’m kind of just disgusted by it. Even if I did get it working at this point I’m not sure I would feel any better about it. What horrors await me next is about all I could contemplate now. I have never had a program so adamant about not working as this one, nor have I encountered one so secretive, not having a project means no entry for you, making a project means it’ll crash. Cool, point taken, have fun then.
My initial plan was to get these and Odin (for extending the GUI as proposed above) then basically use them as described above as closely as possible. But, I really just don’t have enough concern for it left in me at this point to keep fighting Unity just to get it open. It would still be nice to have these node editors though. I only bothered with Unity in the first place to mess with these. Now, they don’t seem as concerning, but my proposed standalone versions would be very interesting if you happened to make them 🙂