Search Unity

DOTS Visual Scripting Experimental Drop 9

Discussion in 'Entity Component System' started by ans_unity, May 14, 2020.

  1. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,327
    Yes! Graph coding is perfect for big picture stuff like gameplay, behavior, feature wrangling, game state like level loading but not micro as it turns anything complicated into a noodle soup. And whatever you release needs to last for 10 years, not 2 like uNET, not 5, 10 - because games have super long leg nowadays and with consoles coming up up our noses, old projects get pulled from the coffin or the formaldehyde jar, and dried out in the sun, under a glass bell because of the flies - so do it right, test the S*** out of it. Rush but no rush, ya know. And send us schematic of what you have in mind, that horizontovertical flow graph is intriguing so why wait for another month or two before we can feedback the hell out of it ;)

    Perfs: the graph is currently interpreted on each frame, slow, can't scale, eh, it's no biggy, that's what [WIP] is for ... but eventually what's your goal as a % of non chunk optimized ECS/job?

    I'm telling you, from a designer standpoint it would be nice to have ecs/job perfs without that funky syntax, something that looks even clearer and more terse than this. So we can focus on gameplay and maintain the code easily 5 years down the bumpy road of game dev.
     
    toomasio, LooperVFX and theor-unity like this.
  2. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    I won't write numbers you could throw back at me in the future :) but remember that the current backend implementation is naive, and is was intentional. we'll optimize once the feature set is complete (and we do check once in a while that the optimization plan is still valid). Ideally, we'll burst compile everything that is not operating on hybrid components.

    As much as I'd like to develop more in the open, it takes a lot of work to communicate efficiently this kind of work: you have to explicitely write the context of every single decision, which often means transcribing discussions happening around the coffee machine. Your interest is noted, though
    I hear you, but that's definitely ouf of the scope of this thread
     
  3. UsmanMemon

    UsmanMemon

    Joined:
    Jan 24, 2020
    Posts:
    87
    It would be great if VSDots could take care of memory layout automatically Right now we have to think about memory all the time like reducing the frequency of adding and removing components, manually disposing the NativeContainers etc that would be great for artists, beginners if VSDots did all the thinking and I think it would also be great if one can manually do all the memory thinking too for better performance.
     
    Tanner555 likes this.
  4. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    That's a bit too low-level given the scope of the project. The current goal is to provide more of an orchestrating tool than a visual way to write algorithms
     
  5. Hazsha

    Hazsha

    Joined:
    Aug 23, 2019
    Posts:
    4
    With Unity Visual scripting can i make a whole game without touching a Single lime of code? Is it possible now or future?
    Is Visual scripting support third party sdk and it makes node for that?
     
  6. Hazsha

    Hazsha

    Joined:
    Aug 23, 2019
    Posts:
    4
    When visual scripting comes out?
     
  7. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    Not now. Maybe in the future, but we're making more of an orchestrating tool than a visual programming tool.
    You can make nodes the same way we do. if something is not public but should be to achieve that goal, it's a mistake on our part, not a will to make it hard.
    When it's done, and when its dependencies will be ready (in particular: entities)
     
    LooperVFX likes this.
  8. BebopTune

    BebopTune

    Joined:
    Apr 7, 2019
    Posts:
    25
    Will Unity add State Machine and Behavior Tree too?
     
  9. KamilCSPS

    KamilCSPS

    Joined:
    May 21, 2020
    Posts:
    448
    Can I ask for the next drop if you can find time to make a Fixed State Machine generic implementation example with custom nodes and logic branching?

    Would love to start exploring this more for more high-level logic such as Gameplay & UI to support our artists. But not sure how well it can support it.

    Thanks!
     
  10. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    789
    The next drop will probably be Thursday this week. That's the 6 week period new drops usually release.
     
  11. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    789
    DOTS dev is now moving to 2020.1, will VS also move to that version of Unity with the next drop or the one after since it's now in line with the entities package?
     
  12. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    We'll move after this drop

    UI is a no go at this point - there's no dots-compatible ui system at this point. stay tuned.
    For a basic state machine, we have a switch node, but that won't make it a proper state machine implementation
     
    KamilCSPS likes this.
  13. KamilCSPS

    KamilCSPS

    Joined:
    May 21, 2020
    Posts:
    448
    @theor-unity

    Thank you for the quick answer. Follow-up; can a custom node manage the signal inputs/outputs? So we can develop our own branching signaling logic at this point (or, do you have plans to support it?).

    Apologies in advance, I didn't see anything in the forum threads related to it and I don't believe you have spec documentation for it yet (you haven't moved to the preview packages yet, I assume it's going to happen soon?).
     
  14. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    188
    Do you mean triggering one output or another ? here's the definition of our If node, that you could have written:
    Code (CSharp):
    1. [NodeDescription("The **If** condition control flow node will change the flow by checking if the condition is true or false.")]
    2.     public struct If : IFlowNode
    3.     {
    4.         [PortDescription("", Description = "Trigger the condition validation.")]
    5.         public InputTriggerPort Input;
    6.  
    7.         [PortDescription(ValueType.Bool, "", Description = "The condition to validate. False by default.")]
    8.         public InputDataPort Condition;
    9.  
    10.         [PortDescription("True", Description = "Execute next action when the condition is True.")]
    11.         public OutputTriggerPort IfTrue;
    12.  
    13.         [PortDescription("False", Description = "Execute next action when the condition is False.")]
    14.         public OutputTriggerPort IfFalse;
    15.  
    16.         public Execution Execute<TCtx>(TCtx ctx, InputTriggerPort port) where TCtx : IGraphInstance
    17.         {
    18.             ctx.Trigger(ctx.ReadBool(Condition) ? IfTrue : IfFalse);
    19.             return Execution.Done;
    20.         }
    21.     }
    Stripped version without the doc:
    Code (CSharp):
    1.     public struct If : IFlowNode
    2.     {
    3.         public InputTriggerPort Input;
    4.         public InputDataPort Condition;
    5.         public OutputTriggerPort IfTrue;
    6.         public OutputTriggerPort IfFalse;
    7.  
    8.         public Execution Execute<TCtx>(TCtx ctx, InputTriggerPort port) where TCtx : IGraphInstance
    9.         {
    10.             ctx.Trigger(ctx.ReadBool(Condition) ? IfTrue : IfFalse);
    11.             return Execution.Done;
    12.         }
    13.     }
     
    Orimay and KamilCSPS like this.
  15. UsmanMemon

    UsmanMemon

    Joined:
    Jan 24, 2020
    Posts:
    87
    drop ten when
     
  16. ans_unity

    ans_unity

    Unity Technologies

    Joined:
    Oct 12, 2017
    Posts:
    124
    This week! :)
     
    Grimreaper358 and UsmanMemon like this.
  17. ans_unity

    ans_unity

    Unity Technologies

    Joined:
    Oct 12, 2017
    Posts:
    124