Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Question Some questions about DataFlowGraph and its roadmap (as runtime scripting tool)

Discussion in 'DOTS Animation' started by Kichang-Kim, Jan 27, 2021.

  1. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    1,011
    Hi. I'm considering to develop runtime scripting tool for my next project. Unity's IL2CPP/Burst prevent using many existing .NET scripting libraries.

    DataFlowGraph, in contrast, seems that very DOTS/Burst compatible and naturally fit to my requirements. It provides weak-typing so it may be possible to implement my own front-end for generating runtime node graph via custom data. But it may be very time-consuming and need hard-works.

    So before starting my work, I want to know something details of DataFlowGraph and DataFlowGraph's future roadmap.

    1. Can I safely and dynamically create node graph in runtime?
    2. Is there any plan for official support of runtime-generated node graph? (with dedicated UI)
    3. Is there any debugging tool for DataFlowGraph? (ex, visualizing node-graph and internal states)

    Any feedbacks also welcome.
    Thanks.
     
  2. Lex

    Lex

    Joined:
    Dec 2, 2009
    Posts:
    43
    I've been fiddling with it for almost a year now and I think the answer for your first question would be yes, you can. Download and check the Sample "Guided Tour in Code" for an insight on how to do it. Guide O is about weak typing. See if that fit your needs.

    I'd love to hear any news about this package too, It's been a while since it has been last updated and I had not seen a clear word about debugging or dedicated UI either. A roadmap would reeeeally help us here!
     
  3. janusl

    janusl

    Unity Technologies

    Joined:
    Aug 8, 2018
    Posts:
    24
    Hello, and sorry for the super late response, but for anyone else who might stumble upon this:

    1. Yes, dynamic creation will always be supported.
    2. Do you mean tools to author graphs (as serialized assets) or rather an "interactive" graph editor? In general, it's up to leaf domains like audio and animation to define how they work. A common editor is not planned right now.
    3. Nothing visual, sorry.
     
  4. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,128
    Hi @janusl. Will the performance of DataFlowGraph be further improved in future release? From my understanding, there's still a lot of things still run on main thread and not burst since it's still class type.
     
  5. janusl

    janusl

    Unity Technologies

    Joined:
    Aug 8, 2018
    Posts:
    24
    Yes, we're addressing this as we speak.

    The original class based design was a shortcut (or rather, necessity until we had the backend tech), and in general we've optimized where time was being spent the most.

    Now the "simulation" is starting to be utilized more, so we are multithreading it and making sure the entire stack runs in Burst.

    Beyond those two there is of course a bucket list of technical and algorithmic optimizations we are implementing over time (not always mentioned in the notes either).
     
  6. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    855
    Will we see this(burst/job compatible simulation) in 0.5 or is it a 1.0 feature?