Search Unity

DOTS Visual Scripting 6th experimental drop

Discussion in 'Entity Component System' started by ans_unity, Dec 17, 2019.

Thread Status:
Not open for further replies.
  1. ans_unity

    ans_unity

    Unity Technologies

    Joined:
    Oct 12, 2017
    Posts:
    124
    Hi everyone,

    Drop 6 of Visual Scripting for DOTS is ready for you to try!

    This time around we are using a Unity package for the drop but it is not visible by default in the package manager. You will need to enable it by adding this line in the manifest under dependencies:

    "dependencies": {"com.unity.visualscripting.entities" : "0.2.3-preview"}

    You'll need to create a project using 2019.3.0f3
    (https://unity3d.com/unity/beta/2019.3)


    New features / nodes

    • Control Flow: Execute Once
    Execute some nodes only one time particularly when the node is in an update event.​

    • Switch Control Flow
    Ability to have different flows depending on a value​

    • Tracing on Single nodes
    Ability to select a specific node and track when it's being triggered on a recorded session.​

    • Show/Hide
    Stacked node showing/hiding a hybrid renderer object.​

    • Enable/Disable Collision
    Ability to enable/disable physics DOTS component​

    • Support Jobs in onstart/onEnd stacks
    onStart / onEnd events can now be converted to Jobs System​


    Fixes

    • VSB-418 Right clicking on an empty/default blackboard throws NRE
    • VSB-412 Line numbers are overlapped on the code if the code is longer than 100 lines.
    • VSB-411 PostIncrement error
    • VSB-404 Missing constant fields in searcher
    • VSB-403 Missing UsingDirectives when create node with MethodSearcherItem attribute
    • VSB-402 Graph with only a query in it will show errors in codegen
    • VSB-400 Update After / Update Before settings in inspector is missing
    • VSB-393 Some binary nodes have the wrong ports types
    • VSB-391 Tracing isn't working with custom function in graph
    • VSB-389 Function nodes don't work at runtime
    • VSB-388 Macro nodes don't work at runtime
    • VSB-386 Warning whenever we open the codeviewer
    • VSB-384 Nothing is executed in a coroutine if connected to a separate Stack
    • VSB-383 Can create two ''then'' from an IF
    • VSB-381 Coroutines aren't working in OnKey events
    • VSB-380 Error in blackboard after deleting a graph
    • VSB-378 1 frame delay due to coroutine initialization/completion
    • VSB-377 OnEvent stack with a coroutine doesn't compile
    • VSB-376 Errors with Recorder when using translation in a move to
    • VSB-369 Error is not raised when something is wrong with a coroutine node.
    • VSB-270 Creating a loop directly from the event stack will put the loop stack behind it
    • VSB-269 Creating a macro with a sticky note will not remove sticky from root graph
    • VSB-245 Some edges won't auto connect

    Known issues
    • Event's aren't consumed outside of the Entity that sent it
    • Issues with Physics and coroutines
    • Upgrading graphs from Drop 5 will have issues (converting add/multiply... to equals)
    • The component array of the second ForAllEntities node is not passed to the job.
    As with the previous experimental drops, this is work in progress that we share to engage in an open discussion with our community. Expect issues and weird workflows as we work our way up to a more final product.

    Most notably, we are still far from the final user experience, the complexity you see here is not representative of what we want to deliver. We have not yet created high level nodes to reduce the number of operations or finalized our UI to make interactions as intuitive they can be.

    So kindly take note of the usual disclaimers:
    • Not for production use.
    • Early picture of Visual Scripting, not be representative of the final version.
    • You will need to be tech savvy to use this version. Not yet ready for everyone.
    • Things will change.
    Most of the team will be away for the Holidays, and will be unable to respond to your feedback immediately. We will be back in January, ready to work on the next version!

    Happy Holidays to you all!
     
  2. Guedez

    Guedez

    Joined:
    Jun 1, 2012
    Posts:
    827
    This might be from my C# version or something but line 143 of com.unity.visualscripting.entities@0.2.3-preview\Runtime\TracingRecorderSystem.cs thinks that Time refers to
    ComponentSystemBase.Time
    , which cannot be called from a static context, rather than
    UnityEngine.Time
    . This was fixed by changing
    var frame = Time.frameCount;
    to
    var frame = UnityEngine.Time.frameCount;


    I had to do this last version too, but then I could just edit the source file, now they are coming straight from packages, so my modifications will be undone next time I open the editor
     
  3. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    789
    This only happens when you have the DOTS Editor package also installed. It would be nice if this is fixed so you are able to use the DOTS Editor with Visual scripting out the box.

    Also to have your changes stay you can make the package local as if you were downloading the previous drops. Just copy the package from Library/PackageCache/Packages you want to move - You can move the packages you want to modify to Your Project/Packages (Where the manifest file is and all packages placed in that folder will automatically import)
     
  4. wilson_p

    wilson_p

    Joined:
    Nov 4, 2018
    Posts:
    39
    Bug report:
    1. creating more than one custom functions in a graph, it usually got errors.
    2. using "if" node in a custom function, the function will get crashed.
    3. when senario 1 or 2 happens, you will never call any custom graph function in your main thread.
    4. custom function doesn't support reference function parameters( ref float a).
    5. sometimes a custom function can be created inside a stack, sometimes the same function can only be created from graph(out side of stacks).
    6. cannot "get item" directly form a float 3x3 node. But you can create a "get item" node out of other type(like float3) node, and connect the "get item" node with "float 3x3" node, it works.
    7. I lost all my connect lines after saving graph with above bugs.
     
    Last edited: Dec 19, 2019
  5. jeanedouard_unity

    jeanedouard_unity

    Unity Technologies

    Joined:
    May 2, 2019
    Posts:
    49
    Hi, thanks for the feedback.
    1 - 3 and 7. Can you post a screenshot of your graph?
    4. This is a known issue. Ref and Out keywords are not supported yet.
    5. If your function returns a value this is a graph function. If the function just returns void, then it's a stack function. The difference between what you can create on the graph or in a stack is that only data can be created on the graph. If you want to manipulate data, that's in a stack. That's why only graph nodes have output ports.
    6. Will be fixed.
     
    Last edited: Dec 19, 2019
    jasperbrooks79 likes this.
  6. wilson_p

    wilson_p

    Joined:
    Nov 4, 2018
    Posts:
    39
    bugreport201912200.jpg
    Thank you so much for your reply.
    It might because of what you said, "If your function returns a value this is a graph function. If the function just returns void, then it's a stack function. "
    New bug report:
    1. I just noticed that float2x2, float3x3, float4x4 variable cannot be created from blackboard.
    2. It seems that "Once" node should swap "if done" and "otherwise", according to the code generated.
     
    Last edited: Dec 20, 2019
    jasperbrooks79 likes this.
  7. kodagames

    kodagames

    Joined:
    Jul 8, 2009
    Posts:
    548
    Hello,

    I've downloaded Unity 2019.3.0f.3 then added the line of code "com.unity.visualscripting.entities" : "0.2.3-preview" to the manifest.json file but don't see the DOTS menu items, can someone point me in the right direction. I'm charged up to help!

    I'm not sure how to delete this post but 3rd times a charm its working now ;)
    Edit / Update: Ok, so far I'm loving this!!!

    I've noticed that after connecting a variable to a node (multiplier in this case), the mul float parameter inside of the node disappears (I'm assuming this is by design).
    Screen Shot 2019-12-21 at 10.02.27 PM.png

    Also when in play mode objects that are used in an ECSgraph disappear from the hierarchy, it looks like this is the reason for the Entity Debugger once an item is selected the details show up in the inspector. One hurdle nothing is selectable in the scene view?

    P.S. did I say Im loving this (tool tips are sweet)!
     
    Last edited: Dec 22, 2019
  8. jeanedouard_unity

    jeanedouard_unity

    Unity Technologies

    Joined:
    May 2, 2019
    Posts:
    49
    Hi, glad you like it. And it's not done yet.

    Yes, it is by design.

    It is not related to Visual Scripting. That's the entity conversion flow. Once a GameObject is converted to an entity it is removed from the hierarchy view. But you can see the entity in the Entity Debugger.
     
    jasperbrooks79 likes this.
  9. ICEC00L3D

    ICEC00L3D

    Joined:
    Oct 29, 2016
    Posts:
    1
    How'd you get it to work I still can't find it?
     
    jasperbrooks79 likes this.
  10. andywatts

    andywatts

    Joined:
    Sep 19, 2015
    Posts:
    112
    What's the thinking behind the "Visual Script -> New Event" menu option?
    It defines a bufferElementData, but not sure how I might use this for events in dots.
    Simply check the buffer contents in a system?
     
    jasperbrooks79 likes this.
  11. MegaMileyStudios

    MegaMileyStudios

    Joined:
    Aug 19, 2017
    Posts:
    72
    I'm running the editor in the light color theme and this is how the new component window looks, barely readable. Also the script preview window was show on top at the exact same location so I didn't know that there was this second window below it at first
     

    Attached Files:

  12. MegaMileyStudios

    MegaMileyStudios

    Joined:
    Aug 19, 2017
    Posts:
    72
    I followed the video by CodeMonkey during testing out the Visual Scripting system myself, you can find his video here


    Overall I'm starting to see how to use the Visual Scripting system, as expected it's not production ready in any way but that's very clear from the main post.
    Here's a bunch of things I noticed during my testing

    • A new ECS Graph doesn't auto open whereas the new Components do automatically open
    • Can't press delete or backspace on an object to remove it inside the blackboard
    • The ECS graph opened with the OnUpdate in the top left corner cutting off "My Query", this made me think that it was some kind of tools tab or the component menu at first glance
    • The overall theme is very much focussed on the dark mode even when using the light mode. Not all text is readable because of this
    • Error tooltips don't try to stay within the bounds of the ECS graph window, they can easily be cut off at the edge
    • The icons in the top look like they are disabled in the light theme, the Save icon looks fine but the others all look grayed out, did not know I could click on them because of this.
    • A double click is required to add a component to a query where a single click could be enough
    • When you drag out a node from the bottom of the on-update and similar it doesn't automatically show the function window, you need to press spacebar first. This shouldn't be required imo
    • It's not that intuitive how you can drag nodes around, when you hover over a node and it shows a line in between the top of the node-stack and function itself (a single if-statement in my case) you can't drag it to move the node around.
    • The 'Get Property' -> 'Properties' -> 'Edit Ports' workflow for getting a single value from a component is not that user friendly.
    • When adding a new field to a component the code-viewer automatically shows up even though I closed it right after creating the component
    • A blank/unsaved component script can't be added to a gameobject, it gives the error "Can't add script behaviour MoveDirection. The script needs to derive from MonoBehaviour!"
    • It's not visually obvious that you can add a function back into a node-stack, there are two tiny blue dots at the sides but the "press spacebar" text seems to be on top of this. It does work when there already is a node inside the stack
    • In the component editor you can't press CMD+s to save it, you have to press the save button at the bottom
    • It would be nice to have a way to control what nodes will be moved when you drag a parent node. Right now it always moved the entire stack so you'd have to work from left to right instead of just moving a single node
    • I can't drag a component from the Blackboard into the script
    • When dragging out a node from a component the 'functions menu' appears on a completely different position than the visual script window (not the window is not in the top left corner but in the center of my screen and not full-screen) could either have something to do with display scaling or it not taking the window position into account.
    • Align node/hierarchy allows nodes to overlap each other
    • On the "Translate by" function, the add boolean is kinda odd, I know what it means but it's not that intuitive.
    • CMD+Z doesn't fully respect the position of nodes, I just added a Greater Than node to a property output, it moved the child node down to that location (the point I referred to earlier), I pressed CMD+Z and the Greater Than node did disappear but the location didn't properly restore itself.
    • Can't shift scroll in the code-viewer to scroll horizontally
    • Saving a visual script isn't enough to get it to run, you also need to build it (at least it doesn't auto build all the time)
    • In the first couple seconds the gameview in the editor lags quite a bit, might be related to 2019.3 in general though.

    And I've also got two things that I felt were missing:

    • Having a snap to grid on the nodes would be very welcome, or some kind of auto align tool depending on the nearby nodes.
    • A way to add comments would be highly appreciated


    Overall I like the direction where this is going, it's got a long road ahead but there's some hard work being done!

    I might try to make some more stuff and could also have a look at the video posted on the Unity Channel on Youtube regarding ECS and taking input from the user and re-producing that in the Visual Scripting to see how feasible it is right now to follow coding tutorials with the Visual Scripting system :)
     
    Last edited by a moderator: Dec 23, 2019
  13. CodeMonkeyYT

    CodeMonkeyYT

    Joined:
    Dec 22, 2014
    Posts:
    125
    Yup I just posted that video, hope it works as a useful introduction!

    One more issue I noticed while recording, if you create a new Component, and then switch to another window before hitting "Save", it will create the Component without "Proxy" in the name.
    Create Component named "Test" -> Alt Tab to another window -> Back to Unity -> New file shows up, Test.cs
    If you click "Save" it will rename itself to TestProxy.cs, if you forget to hit "Save" it will stay as Test.cs and be unable to drag into a Game Object.

    Also is there a reason why the Blackboard isn't visible by default? Seems like it should automatically open as soon as there's a Query in the script.

    I'm planning on doing a complete simple game using only Visual Scripting so will have more feedback soon.

    Keep up the great work!
     
  14. MegaMileyStudios

    MegaMileyStudios

    Joined:
    Aug 19, 2017
    Posts:
    72
    I'm also noticing that the search window doesn't like it when I try to fuzzy search, if I search for "float2" I don't get the option to create a Float2 object, but if I search for "float 2" I do, the only difference is the spacebar
     
    jasperbrooks79 likes this.
  15. kodagames

    kodagames

    Joined:
    Jul 8, 2009
    Posts:
    548
    @ICEC00L3D
    In the Unity Hub goto installs (left hand side), then click on the add button (top right), once you have installed 2019.3.0f launch it, create a project under somename. After creating a project close Unity, find that folder "somename" on your system inside those folders there is a folder named "Packages" inside that folder there is a file name manifest.json open it up and "com.unity.visualscripting.entities" : "0.2.3-preview" to the list of others (hint if you put it on the first line add a comma "," at the end (both of these without parenthesis), restart unity and you should see the DOTS menu item in the top bar. (game on :))

    @jeanedouard_unity
    Thank you very much! I did some research and realized the difference between entities and objects and so much more :)

    @CodeMonkeyYT
    Keep those UVS tutorials coming, myself and the community will surely benefit (hopefully your youtube channel will as well)!

    --
    I'm absolutely loving this (woohoo, dots and visual scripting)!!!
     
    Last edited: Dec 23, 2019
  16. CodeMonkeyYT

    CodeMonkeyYT

    Joined:
    Dec 22, 2014
    Posts:
    125
    Is there a way to handle UI?
    From what I understand DOTS isn't yet set up to handle UI so since Visual Scripting is DOTS only I'm guessing it can't be done yet.
    If so, is the plan to wait for a official DOTS UI or will there be some workaround to work with Unity.UI?
    Trying to make a simple game completely without writing any code.
     
  17. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    Not at the moment. We have plans for UI, but you'll have to wait a bit more.

    Btw great tutorial ! you and @wilson_p are doing great work
     
  18. sinjimonkey

    sinjimonkey

    Joined:
    Jul 31, 2013
    Posts:
    72
    Is there a way to add other field types to components? I have a custom struct that I'd like to use.
     
    jasperbrooks79 likes this.
  19. sinjimonkey

    sinjimonkey

    Joined:
    Jul 31, 2013
    Posts:
    72
    I'm also not understanding how to modify components in this. The graphs automatically adds the Read Only parameter and does not remove it when I change the value (which, obviously, throws an error) How do I go about removing the read only parameter?

    I've also noticed it can't create a struct variable. I can create it but it throws errors since it won't use a default value and I can initialize it until it compiles so it's currently impossible due to errors preventing the window from recompiling.
     
    jasperbrooks79 likes this.
  20. sinjimonkey

    sinjimonkey

    Joined:
    Jul 31, 2013
    Posts:
    72
    upload_2019-12-25_14-29-42.png


    Code (CSharp):
    1. [UpdateAfterAttribute(typeof(StartProductionGraph))]
    2. public class UpdateProductionProgressGraph : JobComponentSystem
    3. {
    4.     private Unity.Entities.EntityQuery Worker_Query;
    5.     [BurstCompile]
    6.     [ExcludeComponent(typeof(LockedTag))]
    7.     struct Update_Worker_Query_Job : IJobForEachWithEntity_ECC<WorkerComponent, WorkerProgressComponent>
    8.     {
    9.         public void Execute(
    10.             Unity.Entities.Entity Worker_QueryEntity,
    11.             int Update_Worker_Query_JobIdx,
    12.             [ReadOnlyAttribute] ref WorkerComponent Worker_QueryWorkerComponent,
    13.             [ReadOnlyAttribute] ref WorkerProgressComponent Worker_QueryWorkerProgressComponent)
    14.         {
    15.             Worker_QueryWorkerProgressComponent.ProductionAmount = (Worker_QueryWorkerProgressComponent.ProductionAmount + Worker_QueryWorkerComponent.inputProgress);
    16.         }
    17.     }
    18.  
    19.     protected override void OnCreate()
    20.     {
    21.         Worker_Query = GetEntityQuery(
    22.             ComponentType.Exclude<LockedTag>(),
    23.             ComponentType.ReadOnly<WorkerComponent>(),
    24.             ComponentType.ReadOnly<WorkerProgressComponent>());
    25.     }
    26.  
    27.     protected override JobHandle OnUpdate(JobHandle inputDeps)
    28.     {
    29.         {
    30.             inputDeps = JobForEachExtensions.Schedule(new Update_Worker_Query_Job()
    31.             {
    32.             }, Worker_Query, inputDeps);
    33.         }
    34.  
    35.         return inputDeps;
    36.     }
    37. }
     
    jasperbrooks79 likes this.
  21. ezenwoyek

    ezenwoyek

    Joined:
    Jul 31, 2019
    Posts:
    2
    Please, where do I actually input that dependencies line of code to allow me to use the package?
     
    jasperbrooks79 likes this.
  22. CodeMonkeyYT

    CodeMonkeyYT

    Joined:
    Dec 22, 2014
    Posts:
    125
    Go into your /ProjectFolder/Packages/manifest.json
     
    jasperbrooks79 likes this.
  23. CodeMonkeyYT

    CodeMonkeyYT

    Joined:
    Dec 22, 2014
    Posts:
    125
    I'm having issues with trying to make a Entity variable, as soon as I make it there's a NullReferenceException when I run the game.
    I'm trying to store a Entity in order to use it later for spawning. The Instantiate stack action takes a "Set Variable" field which I'm guessing is where the new Entity will be placed.
     
    jasperbrooks79 likes this.
  24. wilson_p

    wilson_p

    Joined:
    Nov 4, 2018
    Posts:
    39
    Check this tutorial. To instantiate something, you need to create a "Generator Entity", which is the entry of controlling when to spawn and when to stop spawning.
     
  25. wilson_p

    wilson_p

    Joined:
    Nov 4, 2018
    Posts:
    39
    Bug report:
    Create an int2 variable, get it's property, unity will get crashed at the moment.
     
    jasperbrooks79 likes this.
  26. CodeMonkeyYT

    CodeMonkeyYT

    Joined:
    Dec 22, 2014
    Posts:
    125
    Oh interesting, you can put a GameObject in a ComponentProxy and it gets converted and stored as an Entity.
    Thanks!
     
  27. MegaMileyStudios

    MegaMileyStudios

    Joined:
    Aug 19, 2017
    Posts:
    72
    Found a new issue, I can't add a float4 to a shared component. Before this I had two float2 components which also caused issues (the UI doesn't yet block you from doing things that can't be done in DOTS, would be great to have that) and then I changed it to the float4 which resulted in this error. There are no mentions of bool or bool4 in the code generated by it.
     

    Attached Files:

    jasperbrooks79 likes this.
  28. Krajca

    Krajca

    Joined:
    May 6, 2014
    Posts:
    347
    How to use buffers in VS?
    How to set seed in Random function?
     
    Last edited: Jan 1, 2020
    pcg and createtheimaginable like this.
  29. wilson_p

    wilson_p

    Joined:
    Nov 4, 2018
    Posts:
    39
    using Unity.Mathematics;
    using Unity.Entities;
    [GenerateAuthoringComponent]
    public struct Data: IComponentData
    {
    public float4 a;
    public bool4 b;
    public float3x3 c;
    }


    Save above codes as Data.cs
    You can create componentData manually like this, and use those variables in your VS Tool Graph.
     
  30. ans_unity

    ans_unity

    Unity Technologies

    Joined:
    Oct 12, 2017
    Posts:
    124
    Thanks for the comments and the awesome tutorial video!
     
    CodeMonkeyYT likes this.
  31. jeanedouard_unity

    jeanedouard_unity

    Unity Technologies

    Joined:
    May 2, 2019
    Posts:
    49
    Hi, instead of using a SetVariable, use the SetProperty node as you're trying to modify ProductionAmount which is a property of the WorkerProgress component. Then, the ReadOnly attribute will be removed.
     
  32. toomasio

    toomasio

    Joined:
    Nov 19, 2013
    Posts:
    199
    I am trying to do a jump mechanic by effecting the linear velocity on the PhysicsVelocity component. I am able to GetProperty but I am having trouble setting the property. Any ideas how to do this?
     
  33. toomasio

    toomasio

    Joined:
    Nov 19, 2013
    Posts:
    199
    So for physics velocity you have to GetProperty...then Set Variable. Kind of odd but it works.


     
    createtheimaginable likes this.
  34. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    We have a SendEvent node looking for these specific buffer elements and an OnEvent stack to process them

    We haven't worked on the light theme yet - we're waiting to reach a reasonnable point on the UI in general in order to fix the light theme only once. Thank you for the report !

    We have an issue for that, the searcher needs a lot of love to be usable.

    We don't support either at this point. We'll get there.

    the Mathematics package defines the `==` operator result between two floatN as a boolN, which is great when you're writing SIMD code, but not very practical for Visual Scripting. We'll fix it on our side at least, thanks

    You can use a `SetProperty` in the stack instead of `SetVariable(GetProperty(...`. However that's not intuitive, we'll need to fix it. thanks !
     
  35. bugfinders

    bugfinders

    Joined:
    Jul 5, 2018
    Posts:
    1,799
    I hate to sound a bit like a whiner, but it seems surprising that so many months later, this error is still in the package. I also went to remove the DOTS editor, but, I dont have that installed, so it seems to be "normal" now :(
     
    Last edited: Jan 8, 2020
    Guedez likes this.
  36. wilson_p

    wilson_p

    Joined:
    Nov 4, 2018
    Posts:
    39
    our new demo released: Create Neural Network with DOTS VS Tool

    attached file is the related Graph Asset screenshot. NNScreenshots.jpg
     

    Attached Files:

  37. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    It only happens if you're using the wrong version of entities. There's a reason we ship a manifest with specific versions. The next drop will use the latest version of com.unity.entities, as the long standing bug that prevented us to upgrade has been fixed.
     
  38. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    This is looking AMAZING guys! -- I love the drag-to-disconnect / stack-action thing! You guys have absolutely _nailed_ the design! (It's a cross between Behavior Designer and Node Canvas -- but better and more performant!)


    Just a few critical (practical-use) questions before I'm fully sold:

    1. - Behavior Tree support in the near future?
    2. - Reusable code actions / assets (i.e. write a subgraph of any complexity, then plop it in any graph in any project as a subgraph)?
    3. - Exisiting components -- Will there be a way to convert them into a Visual Scripting graph representation (after Entity conversion) or is there some reason why this is not possible? (I know there have to be some cases where converting to DOTS won't work cleanly, but what about for simple scripts?)
    4. - What's up with Sprites being forced to be quads? Are sprites just not designed for DOTS yet? -- Does this affect models or other kinds of rendering in any way?
    5. - Button input for DOTS Visual Scripting... Are there any plans for it in the pipeline yet? (I love the new Input System, but I wonder what is going to happen with the DOTS version? How long are we going to have to wait again??)
    6. - Freeform Modular Animation Rigging -- is this planned for DOTS Visual Scripting in node-form as well? -- (If not, you guys are missing an opportunity for easy query and physics interaction with IK targets / Sensors / LookAt targets / Bone editing / Constraint editing to both inform AND be informed by DOTS physics systems. Just saying...
    7. - Editor tooling -- Will it be possible to use Visual Scripting / Entities to create editor tools? (pleasesayyespleasesayyes)


    Final question -- are we looking at an ETA when this should theoretically be considered ready for production? -- From an artist's POV, this form of Visual Scripting is actually very approachable and fun! It's getting me excited to code again! :D


    Thanks for all your hard work, guys -- and to you, @Joachim_Ante, for pushing DOTS and making it a reality!

    I'm really looking forward to using this one day soon!
     
    Last edited: Jan 14, 2020
    Tanner555 likes this.
  39. bugfinders

    bugfinders

    Joined:
    Jul 5, 2018
    Posts:
    1,799
    Thats good to know, unfortunately I must have missed which version of entities was required, and only saw which version of unity..
     
    theor-unity likes this.
  40. ans_unity

    ans_unity

    Unity Technologies

    Joined:
    Oct 12, 2017
    Posts:
    124
    We are going to host a roundtable on Visual Scripting this year at GDC. We want to hear from your experience and discuss what our team is working on at the moment.

    If you would like to participate, just send me a private message through the forum.
    Cheers!
     
    LostPanda and wilson_p like this.
  41. bugfinders

    bugfinders

    Joined:
    Jul 5, 2018
    Posts:
    1,799
    I wont be there, but my feedback would be I can see its got real good points, however, sometimes I need to move a node and it just disconnects, sometimes it eats the links between nodes. While it still does that, its a tad in infuriating.
     
  42. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    I have to admit we could have been clearer on the subject :) Hopefully now that we're in sync with DOTS it should be easier.

    Do you have a repro ? I'm not sure I see what you mean.
    Thanks !
     
  43. AndrewKaninchen

    AndrewKaninchen

    Joined:
    Oct 30, 2016
    Posts:
    149
    About that, it seems they're working on a whole new Animation System on top of DOTS. I suppose the Animation Rigging package will eventually support it, if they're not working on it already.

    https://forum.unity.com/threads/wil...machine-for-a-controller.751529/#post-5045303

    They also mention it (and show it working, although there's no tooling for it yet) in the DOTS Sample from last Unite's Keynote.



    I'm pretty sure they already mentioned something about this on the Animation Rigging thread, but I can't seem to find it.
     
  44. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    ...
    Oops... My question came across totally wrong. D:

    I actually _meant_ to ask about whether the Visual Scripting portion of the Entity framework would support the DOTS Animation / Freeform Rigging frameworks using Visual Nodes/graphs to query and control things like Sensors / IK targets / LookAt targets / Bones / Constraints in the context of, say, physics code blocks in a system.



    This would make more sense being part of the Visual Scripting portion of the DOTS Entity Component System than it would being a self-contained project. Wouldn't you agree, @willgoldstone? -- Would anyone verify whether this kind of thing is in the works?

    It's possible this question should have been directed toward @davehunt_unity or @Mecanim-Dev instead, but I thought it more pertinent to Visual Scripting since that's the system I would expect the animation team to be working with for a feature like this.

    Just my two-cents.
     
    Last edited: Jan 14, 2020
    NotaNaN likes this.
  45. thierry_unity

    thierry_unity

    Joined:
    Jun 10, 2015
    Posts:
    187
    We are investigating something like this, we will have more details in the future but it's definitely on our roadmap.
     
    NotaNaN and awesomedata like this.
  46. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    That's awesome to hear! -- Thank you for your answer.


    If you guys are interested in some inspiration or ideas for a good animation/physics/logic integration workflows for Visual Scripting, please check out my topic on Freeform Animation. It is a long read, but it's worth it. There are some interesting points to note about how to approach this kind of workflow:

    https://forum.unity.com/threads/freeform-animation-modular-rigging.648088/#post-5308587
     
    NotaNaN likes this.
  47. bugfinders

    bugfinders

    Joined:
    Jul 5, 2018
    Posts:
    1,799
    Sadly it is a random behavior, but for example many times Ive done as little as select on update entities, and from there the next node of translate by.. and gone to move translate by and its no longer connected to the on update entities (and disconnected any time i moved it - but sometimes its fine), or, taken a float 3 and tried to provide inputs hit save, run, and... wasnt working look back and none of the inputs are there any more..
     
  48. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    After you're done with DOTS node based scripting, please introduce Mono Unity script node based visual scripting.
     
    funkyCoty likes this.
  49. Onigiri

    Onigiri

    Joined:
    Aug 10, 2014
    Posts:
    486
    No
     
    davenirline likes this.
  50. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    They have already said it is not going to happen.
     
Thread Status:
Not open for further replies.