Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Released] uNode - Visual Scripting [Support C# Import/Export]

Discussion in 'Assets and Asset Store' started by wahid_rachmawan, Oct 18, 2017.

  1. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Asset Store Link
    uNode is Visual Scripting plugin for Unity 3d. its allows allows empowering artists, designers and programmers to create gameplay mechanics, interactive systems and even C# script without writing a single line of code.

    c# generation.png
    block system.png
    Behavior Tree.png

    Organize.png

    c# parser.png



    This plugins using reflection system, which allows accessing all Types and their members in all assemblies that project works on, including project scripts.

    FEATURES
    •Flow Graphs

    Powerful flow graphs for low-level logic and complex tasks.

    •State Graphs
    Powerful state graphs which combine Flow, State Machine, and Behavior Tree into one graphs.

    •Live Editing
    Modify any part of your graphs while in playmode to quickly prototype and test ideas (Only supported in uNodeRuntime)

    •Runtime Debugging and Script Debugging
    Insert breakpoints, watch connection, and watch variable changed in runtime and generated script.

    •Undo/Redo
    Undo/Redo changed nodes, variable, etc fully support in editor.

    •Import/Export
    Import from exist uNode (runtime, class, struct) or Global Variable and Export to prefab, exist uNode to save more times.

    •C# Generator
    Each build in nodes are supported to generating a script and its fully no dependencies with uNode this mean you can remove uNode and run output script to another project without uNode.

    •C# Parser (Required Unity 2018)
    Import c# script into uNode to quickly creating a node graphs and learn how uNode work.

    •State Machine
    Elegant state machines for high-level logic and easy state management, support nested state machine and unity events in each of state.

    •Basic Support for Behavior Tree
    Included Behavior Tree nodes to help creating AI easily, fully support to combine it with State Machine and Flows nodes.

    •Dynamic Nodes
    Use automatically generated nodes for all and any Unity functionality, your code and 3rd party APIs. Including Methods, Properties, Fields, Unity Events, C# Events, Generic Methods, Constructors and Operators.

    •Built-in Documentation
    Get instant access to Unity and custom documentation directly from the Editor.

    •And much more

    C# Generator Feature
    •Class:
    Support modifier, namespace, attributes, interface, and inherit from another class.
    •Struct: Support modifier, namespace, attributes, and interface.
    •Interface.
    •Enum.
    •Variable:
    Support modifier, and attributes.
    •Property: Support modifier, and attributes.
    •Method: Support modifier, attributes, parameter, and generic parameter for Generic Method.
    •Constructor: Support modifier, and parameter.
    •NestedType: A type defined within a class or struct (unlimited of nested).

    Supported C# Object
    •Variable
    •Properties
    •Method
    •Generic Method
    •Constructor
    •Delegates/Event
    •Types
    •Generic Types


    Supported Type: UnityEngine.Object and its subclasses, and type that supported by FullSerializer will be supported.

    Videos:

     
    Last edited: Oct 18, 2019
    frbrz, zhiligeng and ZiadJ like this.
  2. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode v1.1 upcoming update:
    -Support Generating C# Properties(auto properties or with getter/setter) in both class or struct.
    -Support Generating C# Constructors with/without parameters in both class or struct.
    -Added NodeSwitch.cs
    -Added LocalVariable Support for Function, Constructor, and Property(getter/setter).
    -Added DragAndDrop variable, property, or local variable to canvas for fast creating node to get/set variable.
    -Added DragAndDrop function to canvas for fast creating node to invoke function.
    -Added DragAndDrop UnityEngine.Object to canvas for fast creating node to get or invoke value.
    -Added DragAndDrop variable, property, or local variable to Action/Validation for fast creating event to get/set variable.
    -Added DragAndDrop function to Action/Validation for fast creating event to invoke function.
    -Added DragAndDrop UnityEngine.Object to Action/Validation for fast creating event to get, set, or invoke value.
    -Added PlaceFit Tools used to auto arrange nodes position.
    -Improved Documentation.
    -Improved uNode Editor performance.
    -Changed TypeSelectorWindow to TypeBuilderWindow.
    -Moved EventCoroutine class to RuntimeSMHelper.cs file and remove EventCoroutine.cs file.
    -Fixed bugs when generating abstract method.
    -Fixed bugs when generating inherith member "this" will be "base" for all inherith member.
    -Fixed bugs on creating function in prefab the modifier is not correct.
    -Fixed gui bugs in some of node.
    -Fixed bugs TypeBuilder showed null type.
    -Fixed ItemSelector can select type when can only select instance item.
    -Fixed ItemSelector can select custom item and this item that are not valid type/target.
    -Fixed can't paste node when uNode object is not prefab.
    -And much more
     
  3. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
  4. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode v1.1 is now released:
    -Support Generating C# Properties(auto properties or with getter/setter) in both class or struct.
    -Support Generating C# Constructors with/without parameters in both class or struct.
    -Added NodeSwitch.cs
    -Added LocalVariable Support for Function, Constructor, and Property(getter/setter).
    -Added DragAndDrop variable, property, or local variable to canvas for fast creating node to get/set variable.
    -Added DragAndDrop function to canvas for fast creating node to invoke function.
    -Added DragAndDrop UnityEngine.Object to canvas for fast creating node to get or invoke value.
    -Added DragAndDrop variable, property, or local variable to Action/Validation for fast creating event to get/set variable.
    -Added DragAndDrop function to Action/Validation for fast creating event to invoke function.
    -Added DragAndDrop UnityEngine.Object to Action/Validation for fast creating event to get, set, or invoke value.
    -Added PlaceFit Tools used to auto arrange nodes position.
    -Improved Documentation.
    -Improved uNode Editor performance.
    -Changed TypeSelectorWindow to TypeBuilderWindow.
    -Moved EventCoroutine class to RuntimeSMHelper.cs file and remove EventCoroutine.cs file.
    -Fixed bugs when generating abstract method.
    -Fixed bugs when generating inherith member "this" will be "base" for all inherith member.
    -Fixed bugs on creating function in prefab the modifier is not correct.
    -Fixed gui bugs in some of node.
    -Fixed bugs TypeBuilder showed null type.
    -Fixed ItemSelector can select type when can only select instance item.
    -Fixed ItemSelector can select custom item and this item that are not valid type/target.
    -Fixed can't paste node when uNode object is not prefab.
    -And much more
     
  5. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,513
    first feedback, the bright green color should go

    its very promising, and also good that it outputs c#
     
  6. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Thanks for your feedback, soon i will improve the UI to more good to see.
     
  7. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,513
    Can it also import c# scripts and make a visual script from them?
     
  8. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    No currently it can't import c# script. Import C# still in plans and need more research, in the future uNode will support it.
     
    Lars-Steenhoff likes this.
  9. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode v1.2 upcoming update:
    -Updated FullSerializer.dll to latest version.
    -Added set value support from value node.
    -Added NodeTry.cs
    -Improved uNode Editor.
    -Improved DoWhileLoop.cs (Added gui in node and removed validation)
    -Improved ForeachLoop.cs (Added gui in node)
    -Improved ForNumberLoop.cs (Added gui in node and removed validation)
    -Improved WhileLoop.cs (Added gui in node and removed validation)
    -Improved ASNode.cs (Now support value type, value type will using convert operator)
    -Fixed crash when doing make connection.
    -Fixed FullSerializer can't serialize System.Char type.
    -Fixed DoWhileLoop wrong generating code.
    -And much more
     
  10. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode v1.2 is now released:
    -Updated FullSerializer.dll to latest version.
    -Added set value support from value node.
    -Added NodeTry.cs
    -Improved uNode Editor.
    -Improved DoWhileLoop.cs (Added gui in node and removed validation)
    -Improved ForeachLoop.cs (Added gui in node)
    -Improved ForNumberLoop.cs (Added gui in node and removed validation)
    -Improved WhileLoop.cs (Added gui in node and removed validation)
    -Improved ASNode.cs (Now support value type, value type will using convert operator)
    -Fixed crash when doing make connection.
    -Fixed FullSerializer can't serialize System.Char type.
    -Fixed DoWhileLoop wrong generating code.
    -And much more
     
  11. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    looks really promising. Maybe you can make a video showing it in action ...
     
  12. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Thanks for your suggestion, but i still busy improving the asset so i plans for make the video soon after my priority is done.
     
  13. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    First things, first ... ;)
     
  14. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    -first priority is to be able to import C# script and for that i need wait the new unity 2018 so importing C# into uNode will be developed after unity 2018 release.

    Next update anonymous method will be supported
    Screenshot (416).png
    the anonymous method for runtime uNode is done, c# generation for anonymous method will be supported soon.
     
    Last edited: Jan 5, 2018
  15. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode v1.3 upcoming update:
    -Now support move the canvas using right mouse button.
    -Now support for generating summary for class, variable, property, method, and constructor.
    -Now support for editing UnityEngine.Color32 just like UnityEngine.Color
    -Added NodeAnonymousFunction.cs used for generating Anonymous Method and its supported at runtime
    -Added MakeArrayNode.cs used for easy creating array.
    -Improved Editor for showing the index of extension node and dim the node if its not connected.
     
  16. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode v1.3 is now released:
    -Now support move the canvas using right mouse button.
    -Now support for generating summary for class, variable, property, method, and constructor.
    -Now support for editing UnityEngine.Color32 just like UnityEngine.Color
    -Added NodeAnonymousFunction.cs used for generating Anonymous Method and its supported at runtime
    -Added MakeArrayNode.cs used for easy creating array.
    -Improved Editor for showing the index of extension node and dim the node if its not connected.
     
  17. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Updated Roadmap:
    •Adding more transition in StateMachine.
    •Support for generating indexer for class/struct.
    •Support for generating interfaces, enum, and delegates type.
    •Support for generating generic class/struct.
    •Support for generating nested type.
    •Improved UI for better look and feel.
    •Behavior Tree.

    For C# Parse(Parse Script into nodes) currently is under development and will be available soon after Unity 2018.1 stable version released.
     
    AndrewAssetStore likes this.
  18. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Any news on progress...like implemented stuff inside ver. 1.4 ?
     
  19. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Yes our progress are finish to release ver 1.4 we are now waiting unity 2018 stable version to make sure it working on unity 2018.
    The next update coming in v1.4:
    -Brand new StateMachine System which more powerful and more easy to use.
    -Added CSharpParser[BETA] which you can used to parse c# into uNode (required Unity 2018.1 with .Net Standard 2.0)
    -Added IncrementDecrementNode.cs used to generate pre Increment/Decrement or post Increment/Decrement.
    -Added NegateNode.cs used to generate negation.
    -Added StateEventNode.cs used to make event for StateMachine.
    -Added uNodePreference
    -Added Preference Editor Tool in uNodeEditor
    -Added commentary for node.
    -Added Condition Transition
    -Added OnApplicationFocus Transition
    -Added OnApplicationPause Transition
    -Added OnApplicationQuit Transition
    -Added OnBecameInvisible Transition
    -Added OnBecameVisible Transition
    -Added OnCollisionEnter Transition
    -Added OnCollisionEnter2D Transition
    -Added OnCollisionExit Transition
    -Added OnCollisionExit2D Transition
    -Added OnCollisionStay Transition
    -Added OnCollisionStay2D Transition
    -Added OnDestroy Transition
    -Added OnDisable Transition
    -Added OnEnable Transition
    -Added OnMouseDown Transition
    -Added OnMouseDrag Transition
    -Added OnMouseEnter Transition
    -Added OnMouseExit Transition
    -Added OnMouseOver Transition
    -Added OnMouseUp Transition
    -Added OnMouseUpAsButton Transition
    -Added OnTimerElapsed Transition
    -Added OnTransformChildrenChanged Transition
    -Added OnTransformParentChanged Transition
    -Added OnTriggerEnter Transition
    -Added OnTriggerEnter2D Transition
    -Added OnTriggerExit Transition
    -Added OnTriggerExit2D Transition
    -Added OnTriggerStay Transition
    -Added OnTriggerStay2D Transition
    -Improved Editor
    -Improved PlaceFit Tools
    -Improved Support for Coroutine
    -Improved C# Code Generation
    -Improved uNode Runtime Performance
    -Improved ItemSelector Performance
    -Improved StateMachine for better understanding and fast creation of state
    -Fixed some gui bugs when drawing MemberData that targeting Values
    -Fixed error when using ISNode
    -Fixed error when converting type using ASNode
    -Fixed error when invoking generic method
    -Fixed error when invoking constructor
    -Fixed error when generating type conversions
    -Fixed error when generating function/constructor parameter
    -Fixed bug can't set value in field/property/uNodeVariable inside value type.
    -Fixed bug incorrect some values after exporting uNode.
    -Fixed ItemSelector incorrect select deep item.
    -Fixed TypeBuilder can't build generic type when parameter more than 4.
    -And much more
     
  20. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Progress sounds very good. I am still on U5.6. I am thinking about to buy your tool ! I am afraid, because i bought also some other similar tools, and the development was not frequent or ended at all. So can you asure, that you will frequently update your tool ?
     
  21. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    quote "...This plugins using reflection system...": i read "reflection" isnt performing good. Maybe you can explain whats about, why other system avoiding it, or have workarounds.
     
  22. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    I used U5.6 too, U2018.1 only required when you want using C# Parser. Yes we will have frequently update, when our roadmap all are done we will find new feature. after done in C# Parse we will try to find the way to sync between C# script and uNode so programmer can write they own knowledge in C#.

    Yes reflection is slow especially when using to make big graph that run forever even when have good optimization it still slow compare to native script, this why i make my plugin to be able to generate C# so when someone have related issue about performance they can generate C# source. But our runtime uNode still useful for make something like game setting, in game event, or something else that does not impact huge performance.
     
  23. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Ok. Got it. If you say, you have great plans with the tool, and the dev. will be going on, i trust your company and buy this tool. Without a demo its difficult to judge if it fits to my workflow. The idea is: 1.) doing some game logics, pretty fast with VS 2.) later on, export to C# and doing details in code (readable code). Is such a workflow possible ? Or will it be possible ?

    Thx for calrification with the topic "reflection system" !
     
  24. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Yes its possible, uNode will generate readable c# code and you can modify it (and generated script also not have dependency to uNode mean you can remove uNode and still can using the generated script) . But from now when you modify the generated script uNode not detect it and when you manually parse the script to back to uNode everything will be change this is not sync to sync it uNode need to detect the modified script and so on but before do that we need to fulfill our roadmap first and then we need to make C# Parser able to parse wide range of script after that we move forward to sync c# and uNode.
     
  25. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Okay. Now i am playin with uNode. Wanted to a simple Task: onUpdate roatet a Cube. So "event"-node is easy to find. Than you have an "action"-node. But from there, i don´t know where i can set my values. It seems too comlicated :(
     
  26. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Hi sledgeman, can you tell me what would you do?
    i can give some pic for excample.

    And also you can get uNode v1.4 by PM me with invoice number and soon i will send it. it have many improvement that make hard think to simple in prev version like creating object, invoking method or get/set field or properties.
     
  27. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Ok. I am a long term user of PlayMaker. Great Tool. It is really easy to use. I am sure it is the reason it got soo many users on board. I would say, user expirience UI design and accesability is a key to succes. Maybe you can take care of making things simple, or better say: making complex things more simple.

    I try to PM you, to get a sneak peak of v1.4. Just curious how the progress is going on.

    I just wanted to build a really simple task:
    - onUpdate, rotating a cube, by defining xyz values and maybe with deltaTime
    Thats it.
     
  28. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Here some pic for rotate cube:
    -first way
    rotate_cube.gif
    -second way(using Action node)
    rotate_cube2.gif
    edit. below the picture to rotate cube with deltatime:
    rotate_cube3.gif
     
    Last edited: Mar 14, 2018
  29. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Hey Wahid.

    Great Update. With this small Tutorial i got the workflow how it is gonna be to used. It works perfect. Also tested "compiling" in v1.4. Works perfect out of the box !

    I also tried the event: "OnMouseEnter". Is it possible in this node to define the target-object ? f.e. : onmouseenter -> gameObject Cube ...
     
    Last edited: Mar 14, 2018
  30. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Hi sledgeman,

    Thanks for good review.

    I have remove ability to define target object of the event because in generated script event are called in game object where the component attached to it, so to maintenance between runtime and output script we remove it but you can use different way by communicate between uNode ex: in cube you have event "OnMouseEnter" that call custom event to other uNode.
     
  31. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Yeah, i know it is usual to do events on the gameObject component. But it is very clumsy & outdated. You mean i can achieve it by puting uNode on the targt-gameObject, right ? (than OnMouseOver calls the custom-node, right)

    If i write my own code, its ok, i got a good overview. But if i use a visual-scripting and i have to put an event-node on my 150ies object in my hierarchy (if you have a complex project), it doesnt make fun to find all these dependencies in your long hierarchy.

    Therefore it is really good, to have a clean overview. You have all your code on top of the hierarchy inside an empty-object. This is straight forward, i would say. Or did you mean an other way to achieve it, with uNode ?
     
  32. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Ok i will add ability to define the target object of events, i have it in earlier uNode so its not take long to finish, but this only for runtime. This feature will available in next update.
     
  33. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Sounds good !
    It was my thought, to have this ability inside the uNode-runtime. I guess if you compile it, it would also work. I just can say that the workflow & the easy accessability & speed is relevant for a nice VS system. :) (not allways enormous functions)
     
  34. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Ah, forgot to ask: ... is it possible to have multi-target-objects inside one event-node ? If not, this is a function tip: Otherwise i have to place more event-nodes on the screen, what results in:

    - spent more time
    - overview is getting worst

    The same functionility is also very welcome within the action-node: to set up, more than one target-object.
     
  35. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Yes its possible i will make it like that. for action node you can connect the next target of action node to flow control to use more than one target.
     
  36. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Very cool :cool: !!! So curious about the next final version !
     
  37. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    When i compile the uNode-runtime, i have to give it a name. Lets say "test" (should be the class name). But when it comes out, it is something like this: "public class _11142 : MonoBehaviour {" ... so only a number: _11142. I have manualy to correct the name. Only if the name is correct, i am able to attach my C# script onto a empty-object.

    Could this be automated ?
     
  38. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Yes, this will be available in next update by finding a class with extending MonoBehavior or its subclasses.

    Thanks for the tips.
     
  39. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Great. Like the progress ! :)
     
  40. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode v1.4 has been released on the Asset store:
    -Brand new StateMachine System which more powerful and more easy to use.
    -Added CSharpParser[BETA] which you can used to parse c# into uNode (required Unity 2018.1 with .Net Standard 2.0)
    -Added support to define multiple target object for EventNode
    -Added support to store parameter value from specific event for EventNode
    -Added IncrementDecrementNode.cs used to generate pre Increment/Decrement or post Increment/Decrement.
    -Added NegateNode.cs used to generate negation.
    -Added StateEventNode.cs used to make event for StateMachine.
    -Added uNodePreference
    -Added Preference Editor Tool in uNodeEditor
    -Added commentary for node.
    -Added Condition Transition
    -Added OnApplicationFocus Transition
    -Added OnApplicationPause Transition
    -Added OnApplicationQuit Transition
    -Added OnBecameInvisible Transition
    -Added OnBecameVisible Transition
    -Added OnCollisionEnter Transition
    -Added OnCollisionEnter2D Transition
    -Added OnCollisionExit Transition
    -Added OnCollisionExit2D Transition
    -Added OnCollisionStay Transition
    -Added OnCollisionStay2D Transition
    -Added OnDestroy Transition
    -Added OnDisable Transition
    -Added OnEnable Transition
    -Added OnMouseDown Transition
    -Added OnMouseDrag Transition
    -Added OnMouseEnter Transition
    -Added OnMouseExit Transition
    -Added OnMouseOver Transition
    -Added OnMouseUp Transition
    -Added OnMouseUpAsButton Transition
    -Added OnTimerElapsed Transition
    -Added OnTransformChildrenChanged Transition
    -Added OnTransformParentChanged Transition
    -Added OnTriggerEnter Transition
    -Added OnTriggerEnter2D Transition
    -Added OnTriggerExit Transition
    -Added OnTriggerExit2D Transition
    -Added OnTriggerStay Transition
    -Added OnTriggerStay2D Transition
    -Improved Editor
    -Improved PlaceFit Tools
    -Improved Support for Coroutine
    -Improved C# Code Generation
    -Improved uNode Runtime Performance
    -Improved ItemSelector Performance
    -Improved StateMachine for better understanding and fast creation of state
    -Fixed some gui bugs when drawing MemberData that targeting Values
    -Fixed error when using ISNode
    -Fixed error when converting type using ASNode
    -Fixed error when invoking generic method
    -Fixed error when invoking constructor
    -Fixed error when generating type conversions
    -Fixed error when generating function/constructor parameter
    -Fixed bug can't set value in field/property/uNodeVariable inside value type.
    -Fixed bug incorrect some values after exporting uNode.
    -Fixed ItemSelector incorrect select deep item.
    -Fixed TypeBuilder can't build generic type when parameter more than 4.
    -And much more
     

    Attached Files:

  41. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Wow ... awesome progress ! Really impressed by your fast updates ! :cool:

    I have to say: its soo cool, to convert your own C# scripts into the nodes ! Unbelieveable !
    Also a superb idea, to give the users the option to modifiy colors of the uNode-UI !
     
  42. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Hey,

    just tested some stuff in v1.4:
    1.) "-Added support to define multiple target object for EventNode" <-- i don´t know how to get my desired target object into the event node :( (f.e. OnMouseOver or OnMouseEnter)

    2.) Sometimes the "uNode" window freezes if i want to drag it somewhere. Do you also expirience such behavior ?

    3.) The "changelog.txt" is not updated. There is still written: version 1.3

    4.) The "compile"-button disappeared (nearby the "select-button"). It was there in the v1.4 beta :(
    It was really handy. Would be great if it gets there again !

    5.) Strange, i dont have the option "preferences Editor" inside the tools !?

    6.) Your workflow, like described in post #28 doesn´t work anymore :(. What happened ???

    7.) UI-improvement:


    All tested with Unity 5.64
     
    Last edited: Mar 22, 2018
  43. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Hi sledgeman,

    1)This image will show you how to setup target object in EventNode:
    setupTargetObjectEvent.gif

    2)No, i did not find such a problem, maybe you can send me image for that.

    3)I tried importing new version of uNode in asset store with the new project and i see changelog.txt is updated.

    4)No i did not remove the "compile" button in v1.4

    5)I see the preference editor after i import new uNode from asset store.

    6)I have tested, and its working maybe you have version 1.3.

    7)Okay, new UI improvement will be available soon.

    Edit: Try reimporting new version of uNode maybe this can fix it.
     
    Last edited: Mar 22, 2018
  44. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Ok.

    Strange. My last install was v1.4beta. And than the final v1.4. And as shown in your last GIF, there is no "Target Object" option. Maybe the v1.4 isnt yet in the asset Store. I will wait one day, till unity updates the assetStore. Should be more save.
     
  45. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    So i downloaded it again, and all points dissapeared. Maybe you uploaded v1.3 instead of v1.4 ?;)

    1.)
    A UI improvement, which you can addon into preferencesEditor: give the user the ability to "color" his nodes !!! This way i can categorize my nodes not only by names, but by color ! And the output of the node defines the color of the string.

    2.)
    Btw...there is still an another icon inside the package, than the icon / logo inside the assetStore. This can be confusing. (you should change the logo, also in your 1st post, to prevent irritating users).

    3.)
    Auto-naming the class of generated C# script isnt in this v1.4, right ?

    4.)
    When the generated C# script is ready, can you make a "checkbox" inside the node, to make values public / private ? I´ve done it by my own. But a function / checkbox inside the node would be great. So my generated C# script has public values, options, targets and i can do lot faster, than go back into code and do it by my own
     
    Last edited: Mar 22, 2018
  46. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    Have you checkup the changelog,
    if the changelog is updated this mean you have latest version, or check if your project has CSharpParser.unitypackage because in new version i include it.
    Screenshot (477).png

    1.) of course i already have a plan to add it in the future version of uNode and its still on roadmap "Improved UI for better look and feel".

    2.) this problem happen maybe because i upload uNode when my icon still old, this will fixed in next update.

    3.) Auto-naming the class of generated C# script already added in v1.4, i not included it in changelog but its has been added.

    4.) did you mean value is variable or property if yes its has modifier which let you modify it, like the picture below:
    Screenshot (476).png


    thanks for report it.
     
  47. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Now, i got the right v1.4. And everything works fine !!!:)(guess it was v1.3 last download) Anyways ...

    3.) didn´t work for me. I compiled my setup, but have to change my class manually :( Tested Unity 5.64. If you compile it, and you are in the save process, the file is named "GameObject.cs" which you can use to save to. But If i change it to my desired one "Test.cs" the class still stay with "GameObject" which prompts an error !

    4.) Yep, thats what i meant ! Thx
     
    Last edited: Mar 22, 2018
  48. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    3.) keep in mind that Auto-naming only applied to first class that aren't named and it will auto naming based on the gameobject name so if you already rename the class it will not working, except you remove the name of the class.
     
    Last edited: Mar 22, 2018
  49. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    Okay.

    If i rename my class to: "test", and i go to save my compiled file, the autocomplete still have "GameObject.cs" inside. I have to rename it by my own. Nothing special, but would be much more cool, if it autocompletes by reading my renamed class.

    Next thing with C#:
    While saving file, it points you outside the folder "Assets" ! Also anoying. It would makes sense if you are automaticly pointed to the "Assets"-folder, where you simply save your file.
     
  50. wahid_rachmawan

    wahid_rachmawan

    Joined:
    Oct 4, 2017
    Posts:
    509
    uNode have basic structure to generating C# first the name of file should be the name of gameobject and second the class name depend on uNode Component name this structure applied for support generating multiply class/struct in one file. Of course i will change this system to auto naming class based on file your are save in the future version of uNode but this only applied when generating from scene object.

    Yes that sound good i will change it soon, thanks for the tips.