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.
There is an idea how to make a state graph, more on the picture !
This will be fixed in next update.
1. It will be fixed soon.
2. Will available in next update.
3. Hmm not sure how it should be, would you like to give a picture/design?
With the proxy features i think there is no need to swap, try to convert wire to proxy by right click on it and i think the graph will look more great.
That's very good and clean design, i will try to implement it soon.
Everyone, Thanks you very much for suggestion and feedback.
I know I can use PROXY and I use - but loops - I often have extensive and it suits me to put them on the right - but if it's a problem, change the order, even if it's optional - I understand
What alisia shows in the picture are very good ideas.
It's my goal too, dividing things in smaller parts for better understanding and in parallel seeing how they are combined.
The picture about how the Region should be adjustable..
Okay i understand, for this i think will made a automatic order based on pin target position or manual tuning.
Yes its very good idea.
Already added and will available in next update, thanks for request it.
Thanks for your reply. Just one more question to 'Sticky Notes'.
Please see the picture.
It could be easy because 'Region Node' is already there.
Sticky Notes are text fields with some color and adjustable highs and with. No functionality to other nodes like region.
Sticky notes could be used as comments, not for a special node, but for the overall thoughts of the author.
Vertical Design, new Unity Graphs
Unity has build a new design for visual/graphical programming.
Please see picture taken from sample-with-visual-effect-graph/
They use blocks gathering some nodes. The nodes and blocks are then connected.
Unity uses Lines for long way connections and Blocks for nodes that are straight together.
uNode does have something like Unity Blocks, it is the 'Region Node'.
Maybe a special region node is necessary. For clarity I will call it uNode 'Block Node'.
Within a Block Node lines are not used for connections each nodes follow another.
uNode did it already with the concept of 'Event Sheet'.
But in Blocks the normal Nodes are used and put together one after the other.
If/case-nodes would leave the Block Node with lines to other nodes or blocks.
One, might be the True, can stay in the Block Node and other nodes can follow.
The above could be the first step.
Secondly it would be nice if the Block Node by itself would have Connectors for input and output, like Unity does.
The Block Node can then be scaled down with a header and when we need a look, it can popped up or opened may be in a second window.
With the long vertical Block Nodes there would be a clean vertical design showing what belongs together.
And not to underrate uNode what be the one and first visual programming language taking the concept of Unity Block Design!!!
Ok, so much for the moment. What do you think about this?
I have a plan to make Sticky Note but delayed due to fucusing on vertical design but i think i'll try to implement it before releasing an update (not sure next update will be available).
For the blocks like in VFX, uNode already have it in Action and Condition nodes ( this is what features in Event Sheet ) but currently its can only edited from inspector instead of graph, i have a plans to make it too just like the design in VFX blocks but firstly i need to make sure most of the main feature of the old graph has implemented in vertical design and once its finished i will start to make it. The current WIP feature for vertical graph :
Support for state node, the design will be like @alisia posted
Support for region node
Auto/manual port orders
The above feature i think will not take long time so a blocks system will be started and available soon.
And sure the block will have connection, header with icon, and drag & drop.
Thanks for the great idea.
This all sounds really good. I wish much success to your work.
VerticalTheme looks great now - very thanks
If node "Action" will look like --->
Is there a chance for something like this? --->
uNode already leaves behind all competition.
Yes something like that but the design will be more similar to VFX block.
No because to make it uNode need many of high level actions and each action need to have custom editor just only for vertical design.
Just finished making state node support for vertical graph.
Thanks @alisia for the great idea, the State node is now seamlessly to combine with regular nodes.
Very nice!!! can't wait to try!!!
Yes Vertical Design is great! So I installed 2018.3.0 and did same playing.
Yes it' looks impressive, waiting for more news ...
Sometimes when I try to move nodes coming out of the loop - something like that arises. --->
In addition, the editor very slow down and it is difficult to work.
I'm sorry, at the moment I don't have time for test an uNode new version, but in a previous version, I got some problem with uNode runtime when I use it with complex class and run it(edit and go to Playmode multiple time) for a long time. and then Unity editor takes a lot of memories(Ram) until 2-3 GB.
Is this an issue? Like a Chrome browser which uses for a long time?
Bug - Copy and Paste a Node, both have the same Node-Name - Error with C# preview
I like copy and paste and I got some strange results.
When using 'Debug.log Node' we can get a second instance with copy and paste.
Sadly both carry the same name.
I suppose the 'Preview-Bug' belongs to the error with double name.
Please see picture.
Unity 2018.3.0f2, uNode 1.7.5
Same Copy and Paste Bug with
Unity 2018.3,0f2, UNode 1.8b3fix
Seems to be a global problem. Another node here used 'Action' got the same 'Copy and Paste Error'.
Bug - Get Type about Prefab is lost, Warning at installing uNode 1.7.5
Is this OK? Or is something importend missing?
Question to forum - How using a third party tool?
Try to use a small tool, it is 'EasyCsv' by Redscarf.
Last release from Nov 29,2018 and it loads without any errors.
It is working fine. We can use a csv-file and write and read dates in Unity Runtime
I don't know how to combine it with uNode.
I have done parsing File 'CsvTest.cs' in 'Demo' and got some Objects in Hierarchy.
uNode Editor showed 3 'unassigned'-errors but no graph.
- unassigned body OnGUI : Foreach Loop
- unassigned body OnGUI : Using
- unassigned body OnGUI : Using
Picture shows Monobehavior. Do you have any ideas??
Unity 2018.3.0f2, uNode 1.8b3
Hmm something went wrong, i will investigate and fix it soon, alternatively you can fix it by click on 'Refresh' button.
Yes it still slow because there's still no optimization on performance, and performance will be optimized when it has less bug and most of functions are working properly.
And i hear in Unity 2019.2 have UI Rendering Optimization that makes UI Element run faster which is good for Vertical graph.
I think uNode runtime takes a lot of memories because of debug is enabled because when debug is enabled every value on connection/node is stored on the dictionary debug information, imagine every uNode runtime have many debug information which is still exist even the uNode runtime is destroyed so many uNode runtime in the scene will takes a lot of memories but the memory should be clean when you leave the playmode and if not i think its not from uNode runtime. The uNode runtime has some optimization for running in build (game) it has less cost on performance and memory usage but if you very care about performance i recommend to use generated c# instead or only use uNode runtime as few as possible. And i have a plans to create automatic convert uNode runtime to c# on build so anyone don't worry about performance overheat in uNode runtime.
Its not a bug because i not implementing auto rename the node name on paste.
The same node name should not have any problem.
Please post the stack trace so i can investigate and fix it, thanks.
You can ignore it, the warning related to obsolete API in newer unity version but it still works.
If you want to use the third party API you just need to import it and uNode will automatic creating new node menu based on third party API, you can access it from node creation menu.
But if not, tell me what do you need?
Its look like c# parser have a new bug caused by using and foreach, sorry but please send the text script instead of images.
Here is the C#-File for testing with Parser.
I meant that the editor slows down only when the error occurs.
Please send the library too because its has error in consoles after import.
Sorry for misunderstanding, yes error may cause editor slows so what is the error?
Hi, here is the unitypackage 'EasyCsv'.
EasyCsv do read and write of CSV files.
It is free, works at runtime and has release date of Nov 29, 2018. Author is Redscarf.
I want to use it for data write/reading, defining parameter external and internal of unity app.
Quick start help:
var table = CsvHelper.Create("csvName","csv text");
I want to use uNode runtime to making a Prototype only(for fast little change on runtime) and then convert to c# later, but when I switch between Play-mode and Edit-mode it's lag for 5 sec(when using normal compile c# in Unity not lag at all). If I use uNode class(for debug mode) I will generate c# for every little change. I'm not sure which one to choose.
Thanks for explain
There is nothing in console.
Thanks you, it has been fixed in next update.
At start uNode runtime has to initialize some of functions to works but it not take so much time until you have hundred of uNode with complex graph at the game start. Please use profiler with deep profiling to find where that makes it lag.
And if you just only use uNode runtime only for making prototype, just use uNode runtime as less as possible this can speed up the game start.
It weird, do you know where the error is?
It's hard for me to detect error that not show on the console.
Wishlist 'Recent Nodes' and 'Node Browser'
At first many thanks to your recent work. I'm sure next release will be an important step.
Now when I'm working with uNode I found some helpful things for easier workflow.
The suggestion I have taken from an other VPL easing the handling of 'Add Node'-List.
- A 'Node Browser' opened from menu, without the need to start node editor and clicking canvas, with better highs across the screen seeing all nodes following another. Just for learning and better overview.
- A help of using 'Add Node' list, a region for 'Recent Nodes'. I'm just working with my EasyCsv'-Tool. Every Time I want to look at a node I have to type 'csv' then the related nodes are shown. If Add-Node-Window would remember my recent typed characters this would be a great help.
Please see the Pictures.
That's a great idea, with Node Browser and Recent Nodes i think will improve productivity.
Thanks you, i added to priority plan and will available soon.
And everyone, i just made blocks features for action & condition system.
What do you think?
Are that's good enough or maybe need to be improved?
Of course its not only for action, i will add it to all node that uses action & condition system.
I like above
Can you make regular node use verticle sorting like this? or,
Can the action node contain all types of the regular node? and,
How action node generate c# look like(I mean clean c#)?
Because I think it's so clean when working around them or track errors.
It's close to the new Unity Visual Script.
Thank you for listening.
Yes it looks very good, really a block system within a graphical programming system.
You spoke about condition too. Here some questions
1. Do you have a first impression about condition system?
2. How is commenting be done? Is it possible to write some comments to left or right of each node?
Are those comments within the borders of the block? I would prefer they would be outside.
3. How is commenting of the block itself be done?
4. Can the block be down scaled? I would think, showing only a header and the comments?
blocks, condition node
Oh, I understand now.
In graph 'Input Get Key' is a condition. It's reacting with 'key 'W' pressed'.
If 'key 'W'' then 'GameObject-FindTag' is executed.
Sorry, but for the first moment user (me) do not see the difference between condition and action.
User has to read the text to understand what is going on.
I am sure there has to be a visual difference between the graphical looking of conditions and actions.
To blow it not up, there is only one real difference,
condition has at least two outputs (more than one) and
action has only one output.
This means, as I remarked in a post before, the true-condition output should stay in the block.
Just as you have done it.
And the false-condition output should leave the block, perhaps going to the right.
In case of that 'get -key condition' the false-output is always null.
Or connected to null.
It could be, we are waiting for 'W' to be pressed and handle something if 'W' is not pressed.
The false condition should be seen and we have a difference between condition and action nodes.
I will do an edit to this post with a picture of me thoughts.
My edit text is gone, I have destroyed it in any way, don't know how.
But picture is there.
In the meantime I think 'Null' is a data. Flow should not go from 'Null' to left into the Block.
The node with 'Null' should better be a kind of 'Placeholder' doing nothing. A place for adding flows if necessary.
Otherwise, just stopping the false-flow of condition.
If one don't like this, then default False-Output can be used.
1. No because it has different approach and nodes can't be inside of blocks but blocks can.
2. Block doesn't contain all types of regular node but it does contain the most useful feature in regular node like reflection node, set value node, comparison, is, etc.
3. Of course its generate pure c# like regular nodes.
1. Hmm i think with condition system anyone can validate something with less node and more clear.
2. Don't know what the suitable design for comment right now, maybe you have suggestion?
Yes its possible but don't know what it should be.
3. Don't know, this is what i still consider before, do you have any ideas?
4. Yes, i have it now.
The image i post above is still considered as action.
The action will execute block from up to bottom once every node is executed in one frame.
And Action is not combined with Condition.
The condition design is not complete yet but i will share for clarification.
This is the condition in Vertical graph:
The condition in inspector:
Unlike action, condition return boolean (true for success and false for failure) and every block have it too. It executed just like regular 'if' statement in c#, it compare every block whether it return true or false.
For multi output condition, with the current system it doesn't support because its not just used in graph but in event sheet and anyone can do integrate it with only a few line of codes. You can just use regular node instead and maybe combine it with regular nodes.
I can't get this error again right now.
VerticalTheme - It's almost perfect for me.
Here is an example of great transparency for me - I also like the cross-shaped loop system (marked yellow) --->
There are two things that look problematic
1. Switch and many exits - the more they are, the harder it is to arrange nodes - I have no idea how to improve it. --->
2. Constructor and many inputs --->
About new action & condition system - It's only when I start using - I'll see if I like it
I have a few suggestions, but I will wait until more important things are ready. However, there is a small detail ...
Snap Node - at this time it does not work in a vertical layout
Can you make the "snap node" option work with the vertical layout (preferably with customizable grid spacing)?
Your graph looking very good using vertical theme.
Added to planned feature.
Me too not know how to improve it, because of there's not idea to improve it i will leave it as is.
For this i think can make little improvement by minimizing value node that has no inputs.
Can we have , hold and drag connection from node , when we not hold mouse button it's reset and right click on existing connection it reset. like UE4 Blueprints?
At the moment one click pull and stick , if I change my mind and want to leave it , I have to full stop my mouse and click right .
For deleting existing connection I have to right click on it and click reset . why not just one right click and done .
Also hold and drag kind a feel good when you thinking were to connect
By the way I liked Action system block design.
The new vertical theme have it, use it instead.
Very nice new graph accomplishment ! I like the blocks for condition & actions
Good point from "Szaruga". It could be a lil bit problematic, from the ui-perspective. Maybe this could be a inspiration :
What i like to show, with this mock-up is, to put the numerics out of the node-window. This way it could grow as much as you want. Also it could be possible to implement a collapse / expand button. Maybe a solution for this ui-prob.
Great idea - additionally something like this (sliding) --->
I do not know what you mean
I like it --->
I do not like this --->
That's very great idea, i think it will solve graph problematic but with the current UI Elements API i think it is near impossible to do that but i will try to implement it in the future thanks for the great idea.
This is more complex than @sledgeman idea and its near impossible for now, but thanks you for the idea.
I mean a cross shaped loop marked as yellow feature was added to roadmap and it will be implemented in the future.
This is has been fixed in upcoming version that has automatic port order:
Don't worry - uNode is the best tool in its class in the world anyway.
raport a small error --->
Do you have any plans for creating macros like in a "flow canvas" or superunit in a "bolt"?
Just a little bit left to perfect visual scripting!!! thanks!!!
These are toys and not tools - they do not generate pure C # code and, like Blueprints in Unreal Engine, they reduce application performance.
Bolt looks nice and is easy to use but the performance is poor.
Macros would be nice
You are right about the bolt. I just would like to have a way to create my own blocks, for example, there is a "do once" block in flow canvas(I use it often) and there is no block in unode. With a macro, I could make it and use it in a my project. unfortunately my c# is very low, to make my own blocks on c#.
not necessarily a macro can some kind of block compilator ? ? ?
For example: part of the blocks with compile into one block ?
Something like this.
maybe this is all very difficult to do. I’m not a programmer.
Unity 2019.1 released...
Will the next version of uNode work with this version?
Hi alisia, what a good idea and a simple workflow - if possible.
Variant 2 (Block constructor)