mystikalpooka / unity-visual-behavior-tree Goto Github PK
View Code? Open in Web Editor NEWReactive Visual Scripting Behavior Tree Tool for Unity 2018.x+
License: MIT License
Reactive Visual Scripting Behavior Tree Tool for Unity 2018.x+
License: MIT License
Assets are created and root is still null
In order to better facilitate open source community contributions (should there be any...) there needs to be a pull request template and some ground rules laid out for how contributions should be made and how they will be accepted.
This is probably best to work on AFTER starting unit tests, as ideally I want at least 60% coverage on internal unit tests (AKA NOT editor GUI crap yet).
Currently the Tick methods set an internal state that the parents must then check. This is not required any more since we are using reactive extensions which alleviates the problems with using coroutines that can only return IEnumerator. Having tick methods return the state immediately would be more efficient and much easier to work with.
The current Monobehavior editor is a bit clunky and should be paired down.
This includes:
Currently the "save" button acts as a save file dialog at all times. This should probably be split into "save" and "save as" functionality to make it easier to quickly save.
"Unity Visual Behavior Tree" is basically the most boring crap name ever, so a new name would be a good idea.
The current UI works (technically) but it really isn't pretty. Adding to that, apparently the debugger coloring isn't working on at leasrt one installation. Not sure if that is because of the IMGUI code or just because of windows 10, but it is worth a look anyways.
The method SpliceIntoTree() on BehaviorManager is still using the old non-reactive way of splicing into a tree and the UI for it is a bit clunky. I will want to swap this to an easier format.
A comprehensive debugging tool for tracking down issues.
Include:
The behavior manager is currently responsible for far too much by itself and can not do complicated things without changing multiple things inside of the manager and the editor.
My plan is to abstract all of the behavior running stuff into its own class and use it as a composite managing system. This single system will be included in the manager, which will instead be there just for interacting with the tree runner systems rather than directly running the behaviors and sending events, etc.
Newtonsoft fails when compiling for IL2CPP in certain iOS builds. Swapping to JSON.,NET should be basically an in-place swap and should fix these issues outright.
It's been more than two months now since the project was last updated so I'm wondering if it's still under development. I like the idea of using UniRx for events and the upcoming debug feature got me excited but I'm not sure it's worth the wait. Thanks so much for sharing your work still.
Definitely need to add some screenshots to the documentation and readme to make it easier to read and follow... and more importantly, to show off how cool the real-time editor looks! (....yeah I know it looks like ass right now, but it will eventually look better! I think!)
To facilitate multiple things such as complex debugging, realtime feedback in UI, etc, switch to a reactive programming style for the "backend" tree behavior components.
For 2017.3.x this means using uniRx (https://github.com/neuecc/UniRx) library from the asset store. In 2018.1.x+ actual Rx.net should be enabled and usable (along with other standard .net 4 things) so this may change.
Only have a single unit test and it barely tests anything... Add units tests including test coverage!
(Any projects aimed at testing unity packages specifically would be a great help, if anyone knows any!)
You might want to have a look at this concerning the editor. If it's already available in the alpha version then you might want to start targeting it already.
Originally posted by @ZiadJ in #12 (comment)
The current example is decent, but there should multiple more.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.