keijiro/Klak

UIelements-->KlakUI??

vjanomolee opened this issue · 3 comments

"I think it's possible, but it would be better to implement a mediator classes like KlakUI: https://github.com/keijiro/KlakUI"

Originally posted by @keijiro in #42 (comment)

How exactly would I go about connecting UIelements and KlakUI objects?? - I'm lost because UIelements don't reside as game objects in the hierarchy, So I cant sort out how to connect the two. I wish there was some kind of easy binding system like Klak that worked for connecting all things in Unity..

I have stopped using Klak for my projects, so I'm not actively working on it anymore. I continue maintaining Klak to keep my old projects compatible with recent versions of Unity, but please don't expect that new things like this (UIElements binding) will come in.

Just for your information, here is why I stopped using Klak:

  • Klak is not DOTS friendly: Currently, Unity is changing its form to introduce the new system, DOTS. I think there are several merits to use DOTS for creative applications, but Klak is designed for the classic Unity OOP system ("Everything is derived from MonoBehaviour") so that it makes things hard to migrate to the DOTS world.
  • Klak Wiring is depending on the old graph system, which is not officially supported by Unity. Newer features like Shader Graph or VFX Graph are using the new GraphView system. Although I know that I should rewrite it with GraphView, I'm not motivated due to other reasons above and below.
  • VFX Graph is surprisingly useful. We can control lots of things within VFX Graph so that we don't need to have a complicated control system.
  • DOTS Visual Scripting is coming. It looks very promising for creative applications. Most things we did in Klak Wiring will be available with it.

From the observations above, I believe that Klak is ending its life sooner or later. We will become able to create creative applications using DOTS Visual Scripting and VFX Graph. I'd like to invest my time in missing things like MIDI input (Minis), video playback (KlakHAP), inter-app video sharing (KlakNDI, KlakSpout, and KlakSyphon), OSC communication (KlakOSC), etc.

I'm transitioning my projects towards this direction. In the recent project (Grubo), most things are driven by the new input system and VFX Graph. I only used some simple scripts that are possibly converted into visual scripts one day.

I'm closing this issue now. Please feel free to reopen for further questions.

Keijiro,
Thank you so very much for the detailed explanation. It all makes a lot of sense and cleared up a lot of things in my head. I will move forward building my future projects without Klak. It certainly does make more sense for you to focus your talents in building "Creative Coding" type add on systems(MIDI, OSC,NDI etc) for Unity. I really appreciate your sage council and continued useful innovation in this space. Your biggest fan. -VJ Anomolee