A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Assets and Asset Store' started by wahid_rachmawan, Oct 18, 2017.
Thank you, i've more healthy now.
Fixed in next update.
I really like how uNode looks, especially the vertical theme, which is a good way of representing algorithms where the execution goes from top to bottom. But in case of a state machine, it doesn't look very good, because there can be transitions in both directions.
So I think it's best if the outgoing connections go to both sides, and incoming ones go to the top or the bottom of the nodes. I happen to own another asset that allows creating state machines, see the screenshots for examples how it looks there.
Here is a layout in uNode --->
Now the same state machine made in the other tool --->
I think it looks a lot more clear and flexible.
Due to the rule about the connection directions, we get almost 360° freedom of placement of nodes that looks very good. --->
Then it will be problem to connect with non state nodes!
What about Bolt's port proxy approach?
I think the problem with connections can be solved approximately as in the figure below.
But I think Wahid_rachmawan will send us all to hell soon!
It turns out that, unfortunately, State Machine in uNode will be ugly, even with proxy - it's bad (for me)
I know that this problem can be solved - but it is certainly not easy and Wahid probably will not want to sacrifice for us.
all go downwards, no crossing , is this not better than spaghetti?
Each system have a pros and cons and due to how the state graph works its not possible to make state node like that because its only good for state node but not if it combine with regular node because uNode doesn't have dedicated state graph so i'll leave the design as is.
Yes this is what i mean, it doesn't seamless on combining with regular nodes.
That's just hiding a stuff so its only improve a little bit.
Yes its still not as good as expected, maybe a dedicated state graph may solve this problem but currently i still doesn't have a plan to make it.
When all go downward how we can transition to initial state?
I meant not like this , example in his image there is transition from state 8 to state9 . and look messy . instead connect directly to upward we clone transition, bring above of state9 and connect, this way vertical flow principle not violated.
And not just for from down to up, if you want transition from state9 to state5 again that connection gonna cross lot of other connections and state nodes.
from Szaruga 's post
I understand that it is not easy - to make a nice and clear state graph when it is not hierarchical and is integrated with the rest of things.
However, I think that one of the basic ideas of visual scripting - is the ability to arrange the code in a visual form in the most clear and readable form. If I did not need it - I would probably created code traditionally.
I still think that uNode is the best in its class, and you have accustomed us to the high level of your tool. Nevertheless, given that it is supposed to be a VISUAL tool - officially I consider State Graph to be the first significant disadvantage of uNode.
Nobody and nothing is perfect.
Then it will be similar to using Proxy:
Instead of copying transition to above it only mark proxy with dot.
I'll consider to improve the State Graph again after some major update, from now i'll leave as is.
How do you like that ?
Its good but i think better of what we have now, since it doesn't show the transition name in graph.
Looks cute !!!
So when we hover on dot we will see hidden connection?
What about also put small state name under dot? We could understand where it go without hover on it . Hover on each dot for remember every time could be hassle.
I suggest working on the state graph, when other important things will be ready and stable.
I think @BepopTune design is more clear and easy to implement since i just need to add name under the dot.
It is easy and improves the situation, but to a small extent.
Alisia proposals are better - but much harder to implement.
Maybe it's my fault, because I'm a person who is very sensitive to visual stimuli. I can see - quickly and efficiently pick up lines, connections, etc. - which helps me a lot better and faster to understand the graphic layout I'm looking at.
I use proxy connections as a last resort and always try to make all calls as visible and transparent as possible.
Therefore, in the case of state graph - such a layout is almost perfect for me --->
uNode v1.8b5 has been released.
-Added Support region for Vertical graph.
-Added ability to rename transition by double click on transition block (Vertical Graph)
-Added store parameter value for StateEventNode and TransitionEvent
-Added Once node
-Added Timer node
-Added Multi AND node
-Added Multi Arithmetic node
-Added Multi OR mode
-Mark ANDNode, ArithmeticNode and ORNode to obsolete.
-Fixed some bugs
Download here : http://maxygames.com/download/
To convert old AND, OR, Arithmatic node to multi input just right click on node and select 'Convert to multi AND/OR/Arithmatic' and add new input inside inspector.
I´ve tested it on Unity v5.6. Especially in my case "many target" situations. OnMouseOver with many Targets. Than "TransForm.Rotate" Node with a GameObject-List of many GameObjects via the "ForEachLoop"-Node. Works as expected. Also the C# generation works / the C# preview. The interesting thing is, if i sometimes got errors trying "C# generation" which results in no generation of a C# script, i can use "C#-preview" doing "copy n pase" and et voila it works !
I am happy, we have a "add note" function and a "add region" function. Very helpfull !
When deleting uNode, because you want only to use your generated script, you need the file "RuntimeSMHelper.cs" as far as i know. But somehow it doesn´t work. It only works if i don´t delete uNode. Maybe you can put a "folder" inside uNode with all necessary files. Currently it is located inside "other", i think. Or is there a way to do it without additional files ? Would be great to add this important info inside the documentation and the uNode.unitypackage !
Two arithmetic operations - divide and power - show errors in inspector. In case of the "divide" operation, it happens only when using an Action node, and it compiles to C# code correctly. In case of "power" it's both in a normal node and an Action node, and it compiles incorrectly to ^ operator, which in C# means XOR instead of power.
I have two suggestions:
1. Add colored frames around values connected to a node (preferably optional?) --->
2. Add colored text in Action nodes --->
Possibly, following this trail --->
Do it - if it is easier --->
Thanks for good feedback.
You'll need those file when using State Machine and i'll improve documentation on v1.8 stable is out.
Error check bug will be fixed soon and for Power operator it look like c# doesn't have it by default so i'll convert ^ to Math.Power instead.
It will be added in next update.
I've try to implement it before but UI Elements look like doesn't support rich text.
For me, it doesn´t work just leaving the file "RuntimeSMHelper.cs" (only when the uNode.dll is inside the new project). Maybe you can doublecheck it, when you are doing the documentation for uNode and you have time for it.
I meant a different kind of text coloring, where only the rightmost member type matters, not the types we get it from.
For me texts like this --->
(That is much better --->)
when in one color, are less readable than C# code in MonoDevelop or Visual Studio, where colors are used to indicate different kinds of code elements. [example] --->
Here are examples of how it could look in uNode --->
However, I understand that it is difficult to do or even impossible
Normally file inside 'Other' folder is all what you need, but if not please post it here.
Sure it look much better, i'll try to implement it.
@Szaruga ... good point. It makes really a better quality level of reading text, when using different color-code !
@Wahid ... sure, i try to report everything, to improve "uNode". This is what i got, just leaving the files inside "other" & deleting the rest (Tested on Uv5.6, very simple scene):
Assets/uNode_Code.cs(20,13): error CS0234: The type or namespace name `uNodeHelper' does not exist in the namespace `MaxyGames'. Are you missing an assembly reference?
It works only, if i put "uNode.dll" in addition into the project. But this shouldn´t go this way, as i understood it. Maybe you can investigate into it, when you got some time. Maybe also some other users can test this, too.
Just found that using multi target in event makes uNode required 'uNodeHelper' class, i'll fix it in next update.
Thanks for report it.
Top ! That would be great ! Thx
can we also have color for c# preview?
uNode have it, just import c# parser.
Because a colored rectangular frame can be associated with "energy" flow, I think it's better to instead of this idea:
But it would be best to make both options available, so every user can customize uNode according to their own preferences.
I'm sorry, if I expect too much, there are only suggestions.
I've implemented border color on input port and a colored node and block title soon i will release new version.
For the colored text inside button, this will available in the future update but i'll try to implement it and hope will available in next update too.
uNode v1.8b6 has been released.
-Now vertical graph is using asset file so users can makes new theme for vertical graph.
-Added colored node title on Vertical graph.
-Added colored block title for action & condition.
-Added proxy name for transition in Vertical graph.
-Removed Power operator, use UnityEngine.Mathf.Pow instead.
-Fixed some bugs.
Download here : http://maxygames.com/download/
Note: i not remove dependencies with uNode when generating script using multi target in 'Event' because removing dependencies will need a new script file for every event like Update, LateUpdate etc. So i think its good to using existing script instead.
what a nice new release. A lot of wishes from forum members are build in.
Indeed, now there are only some steps more, for getting a new official release of uNode.
Time is coming for Unity Community to notice, that there is a new visual programming language doing ones work with style of VFX Graph. I'm really deeply eager about how Unity members would handle uNode.
For my opinion presently to do:
- FSM: Let FSM be in the state it is. There is enough stuff for building FSM graphs.
If 'Spaghettis' are developed, a redesign should be better than new nodes. And we do have proxies.
- Consistence: Every node and graph element should have the same behaviors as the other ones there shouldn't be differences.
Example: Each node should be able to copy and past. Presently the nodes in an Action have no Copy/Past.The Action Block itself could be copied but not the nodes within.
We should have a look if those things do happen.
- Being smart: There shouldn't be things where User have to reflect of doing things this or that way and even why.
Example: In 'uNode editor>uNode_obj' there can not be found the word 'Method'. But in 'Right Click Menu > Goto' there is 'Methode 0' (or more of this). Clicking this menu point the graph is focused to an event node, this with a name without the phrase 'Method'.
How should a newbie understand this? Three places, diverging names and one functionality.
- Specially for consistence and being smart as an example is the problematically renaming of pasted nodes:
Please see picture. The correctly way is done by C#-Compiler - how else? - but not within uNode Editor.
OK! Going further?
Wahid is working within the code of uNode. There is less time left for work on documentation and user experience (UX).
What forum members could do is testing all parts of uNode, but they too would have less times.
Well, what else could be done?
There should be some testing about workflow with uNode and some building of more documentation for potentially new users.
Both could be done by rebuilding the old Unity Examples and even some new ones. Building from ground up within uNode, not importing of C# code.
And it would be helpfully if having some (code) Graph Snippets for using in ones work. Just a kind of library with good examples of users work. Such as: Building Primitives, UI example, FPC, ...
And as I'm reading my text I'm thinking: Why not having an example of every important node of uNode? Yes, I do mean every - static types if necessary.
For timing of this all: Not done within some weeks, but till end of summer.
Then uNode Vertical Graph as a revolutionary new step of programming may be introduced to Unity3D World.
For myself remains of wishing success for managing the next great release of uNode.
Thank you for better and better uNode. However, I have some important remarks about the new features.
1. Functions (methods) should have a special color, used only for them.
2. Currently in the expressions where members are accessed, only the leftmost element is colored, and the rest are left white. I think every element of such expression should be colored. I can think of 2 options here: Every element should have its own color, or the entire expression is colored according to its rightmost element, which is the most important, because it determines the type of the whole expression.
3. The "#Nodes" or "#Pin" text should be colored according to the type of connected value from nodes.
4. If a function's return type is "void", the "store to" part shouldn't be displayed.
5. Function parameters should be colored according to their type, also when used inside the function.
6. I think instead of "List.get_Item(index)", it should be displayed as "List [index]", or at least getting an item from a list should use a separate color.
7. The color of enums should be the same in action blocks and normal nodes (currently it isn't).
Hey, just tested the fresh build.
"Note: i not remove dependencies with uNode when generating script using multi target in 'Event' because removing dependencies will need a new script file for every event like Update, LateUpdate etc. So i think its good to using existing script instead." < Don´t know what this means (especially : "using existing script instead").
Sadly, it is the same as before. I got the same error (without uNode.dll):
error CS0234: The type or namespace name `uNodeHelper' does not exist in the namespace `MaxyGames'. Are you missing an assembly reference?
And with uNode.dll, it works as before. Just these errors came across:
TypeLoadException: Could not load type 'MaxyGames.JsonHelper' from assembly 'uNode, Version=220.127.116.11, Culture=neutral, PublicKeyToken=null'.
So does it mean, we will have a chance, got the generated code working without uNode.dll ? Or do we need this little file ?
Sure copy/paste Action & Condition will available soon.
This will be fixed soon.
Auto rename on paste will available in next update.
Sure this still on roadmap but not yet started maybe when the v1.8 stable will released.
-Are you mean a Graph Snippets for creating a new graph or what?
-An example of most important node can be found in the documentation but its only most, i still don't have time for work on documentation.
Thanks for your feedback and suggestion.
Thanks for detailed remarks, i'll improve color as you say for next update.
I mean you'll need uNode.dll when generating script using multi target in 'EventNode'.
So if you want to get pure c#, don't use multi target in EventNode, i planned to fix it in v2.0.
Sorry, but I have no idea what an EventNode or multi target is.
1. In the "Add Node" window, there are several categories: All, Function, Variable, Property, Type. But "Values" uses a separate button, and it's not included in "All". What's the reason of this?
2. Is there a chance uNode will allow using preprocessor directives (and parsing them)? Allowing platform-dependent compilation would be useful in some cases.
3. Which version of Unity should I use with uNode? Do you recommend using version 2019.1.0f2, or updating to a newer version?
4. There seems to be a problem with anonymous functions that started with uNode version 1.8b5. In versions up to 1.8b4 it worked properly, and in later versions it causes errors.
Unity 2019.1.0f2 + uNode v1.8b4 (correct) --->
but in uNode v1.8b6 (and b5) --->
5. When using the "Display Full Node Name" option and the vertical theme, some function parameters are displayed incorrectly as NULL. --->
6. After re-enabling the uNode editor and even after compilation - nodes change their location (red). It would be fun if it was possible to stay straight down(when I set such positions myself)?(green) --->
Ah ok...i was really wondering why nothing related to my report was fixed. "..., i planned to fix it in v2.0." Good, i can wait until v2.0 will fix this issue with "Multi-Target in Event-Node" ! Really important for me & other users, i guess. And ya, we need pure C# code output
Multi target in Event node:
Its can receive event from one or many game objects.
1. Because in 'Values' its only have Type so no need for category and why its use 'Values' button because if anyone want create a new instance they can click on the button and find what the type they want to create the instance.
2. Yes for generate preprocessor and No for parsing c#.
3. I recommend using Unity 2019.1.0f2 because uNode still in BETA.
4. You may fix it manually by disable
5 and 6. Will be fixed soon.
Edit: for num 6 i can't reproduce, in my it work as expected.
From the beginning:
To arrange nodes straight as in the picture --->
1. I need to spend some time using the 2.0 zoom
2. After re-enabling the editor, after compilation or when moving the group of nodes together - sometimes nodes change their position themselves - maybe because I don't use the snap node option
3. I don't use the snap node option - because with this option it is impossible to arrange the nodes as in the picture above
Here we go again to point 1...
You still have not improved it --->
Sorry forgot to complete write it.
-You can manually fix it by disable debug value node, i think you not use it but the serializer save it as true so you just to enable and disable the debug:
Let me know if it works.
Thanks i found the bug cause this happen:
-When re-enabling the editor using different zoom the bug may happen, it not change the position but change the width of the node because of zoom effect and currently i not found a way to fix it because its from unity side.
you mean for validation or if?
If I set it like that --->
I have such errors --->
Only this setting seems to work --->
Only one in four exploration trips end up finding an artifact with a mysterious name: "This" --->
This is not in the action nodes
I mean enable then disable debug option again to trigger the uNode to save the settings.
Thanks for the report it will be fixed in next update.
Sorry for forgot it because i not add it on roadmap before, it will be fixed in next update.
Problem with the action block:
Everything is OK here --->
However, in the action block - it doesn't work --->
You have to use a trick --->
edit// This problem also applies to other things that work similarly