// the find
keijiro/Klak
Creative coding library for Unity
Klak is keijiro's grab-bag Unity library for creative coding: deterministic noise/random via xxHash, spring and exponential interpolators, a few procedural motion behaviors, and a standalone node-based visual patching system (Klak.Wiring) with its own editor GUI. It's aimed at VJs, installation artists, and generative-art Unity devs, and doubles as the base dependency for keijiro's MIDI/OSC/Spout extensions.
The Wiring system is a real visual patcher (Graph, GraphGUI, NodeEditor, PatcherWindow) built inside the Unity editor, not just a runtime state machine — that's a lot more than most Unity 'creative coding' plugins attempt. Noise and randomization use xxHash, so results are seedable and reproducible across runs and platforms, which matters for generative work you need to replay. Code is split into separate asmdefs (Math, Motion, Wiring, Extensions) so you can pull in just the interpolator/noise code without the whole patching editor. It anchors a small ecosystem (MidiKlak, OscKlak, KlakSpout) for MIDI, OSC, and inter-app video sharing, so it's a real dependency in the live-visuals/VJ tooling space, not a one-off.
No UPM package — install is still a .unitypackage download from Releases, which is a rough fit for any project on Unity's current package workflow. There's no documentation for the Wiring node system beyond the README feature list; figuring out how to use the patcher means reading NodeFactory and the node classes directly. Last push was January 2024 and a chunk of the code (SmoothFollow, ConstantMotion) reads like it hasn't been touched in years — fine if it still works, but don't expect fixes for newer Unity versions. No tests, and the only usage examples are a handful of embedded sample scenes, not nearly enough to learn the patching editor from.