Search Unity

Should Unity develop its own high-level logic system, like a state machine editor?

Discussion in 'General Discussion' started by imaginaryhuman, Sep 13, 2018.

  1. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Ok so there's tools out there, playmaker, behavior trees, finite state machines and related stuff. Also recently Unity released their own shader editor despite high quality editors on the asset store. The "animator" clearly is not designed to be used for general purpose logic.

    Has the time come perhaps for Unity to develop a high-level, easy to use, beginner-friendly, time-saving/automating logic system other than "scripting", which people can use to develop game logic faster and easier?

    What might be the benefits of Unity doing this themselves, like tighter integration, optimization, better UI design, configurability, customization etc? Isn't it it time Unity had another standard way to create game logic other than coding?
     
  2. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,187
    Nothing comes to mind to be honest. At one point I would have suggested that they could integrate it into the engine to have high performance but it's very clear that they're moving away from that approach rather than towards it. Everything else is completely within the reach of anyone who wants to make their own solution.

    They've had it on the drawing board for years now. Literally at the bottom of the roadmap.

    https://unity3d.com/unity/roadmap
     
  3. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    I would rather them continue to focus on making visualizing effect of code better first, it will work hand in hand with a logic editor when times come to understand what we need to look for when editing logic. The memory debugger is great, the gpu frame debugger is great, the different profiler are great, but they are output of logic input, now if someone could deeply integrate the input and output in a paradigm, that would be greater, but greater is enemy of good, right now we know 3 logic paradigm that work for everyone, text, excel sheet and spaghetti node.
     
  4. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Game logic isn't really a hard problem for developers to solve on their own, even if it might be nice for Unity to include their own system. It might be difficult for Unity to come up with a satisfying one size fits all solution.

    I'd rather Unity stay focused on solutions for problems that are more difficult for developers to solve on their own frankly.
     
  5. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Speak for yourself :p it's a survivor bias
     
    imaginaryhuman and Joe-Censored like this.
  6. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,913
    It's been discussed a million times, but nobody at Unity seems interested in doing it, therefore it ain't happening.

    Until they start making games internally I don't see them even being able to implement it properly with all the features required.
     
  7. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    except for shader logic
     
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,187
    You, and for that matter just about everyone else who has posted this, seem to be working off of the assumption that the company would need to develop systems like this to be able to make their games. I would love to know why people keep coming to this conclusion because I don't believe that it would happen at all.
     
    ippdev likes this.
  9. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    What's wrong with the solutions already out there? What can Unity do that they are not able/don't want to do? Unity usually do a pretty good job with things, but there's no guarantee that just because they do something themselves, it would be as good or better than alternatives.

    Who else has a 'standard' way to create game logic other than coding? Unreal blueprints are not all that easy to use IMO, and from what I can tell, essentially need a programmer to create the nodes for anything beyond fairly basic stuff, unless you want a spaghetti nightmare.

    I'm very interested in the idea of a visual coding editor or some other such thing (like talking to your computer) but I find it hard to imagine how an unintelligent system could be built that would have any real advantage over written code.
     
  10. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,913
    They would have tons of level designers who would need it.
     
  11. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,187
    See that's working off of the assumption that the level designers they choose wouldn't know how to code.
     
  12. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I would love for them to provide an easy way for us to create graph- or node-based UIs.

    The logic behind them is going to be pretty use-case dependent, and I don't think that performance is a huge consideration in most of these cases. If it is a consideration then the state management system could basically be used as a manager for stuff that gets implemented in a performance-centric system like ECS. So I don't think Unity can meaningfully help in either of those areas.

    But graph- and node-based UIs are a common thing that it'd be really nice to build quickly. Shaders, state machines, AI, sequencing tools, event management... they're useful all over the place, Unity even has some of its own. But every time I've written one I've had to start basically from scratch, which seems like wasted time and effort. And there are loads of assets that also seem to have their own implementations of this stuff. Having a standard one would be great.
     
    andyz and Ryiah like this.
  13. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    If they do it they should make sure to make it generic and refactor the animation controller etc to use it. Pretty stupid to have several different versions of the same thing.
     
    Last edited: Sep 14, 2018
  14. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    https://forum.unity.com/threads/free-goto-logic-visual-scripting.555421/#post-3677215

    Well there is that ...
     
    Ryiah likes this.
  15. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    If I recall, it is relatively straightforward using the new uielements. I think there was a demo in the unity github for it.
     
    angrypenguin likes this.
  16. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,187
    It was removed (though technically you could still retrieve it by requesting an older commit).

    https://docs.unity3d.com/Manual/UIElements.html
    https://github.com/Unity-Technologies/UIElementsExamples

    If you're looking for one there is an actively maintained free open source (MIT) node-based framework by @Siccity.

    https://forum.unity.com/threads/xnode-a-general-purpose-node-editor.502354/
    https://github.com/Siccity/xNode
     
    Siccity likes this.