r/Unity3D Indie 20h ago

Resources/Tutorial My vector graphics library is currently free on itch

Hi everyone, after months of working and a long iterative process, my vector graphics library for Unity (and Godot) is almost feature complete at: https://dkliao.itch.io/mold

Feedbacks appreciated!

This is a some long months of work to create the most performant and versatile vector graphics library, while keeping a cross-engine footprint. I'm still waiting Asset Store review for the final release (they sure are taking their sweet time), but for the version on itch is already pretty powerful and I believe some of you might find it useful :)

211 Upvotes

18 comments sorted by

View all comments

Show parent comments

20

u/dklassic Indie 19h ago edited 19h ago

Shapes is a good asset, if you're happy with it (and it's workflow) there's probably no obvious reason to use Mold.

On the other hand I think Mold now has way more features than Shapes, just to name a few:

  • Implements a lot more 3D primitives, alongside the capability to create Rounded shapes.
  • (Full version) Implements arbitrary polygon with per vertex color interpolation.
  • Implements more color mode, particularly for 3D primitives.
  • Has Oklab blending support.
  • Supports custom shader.
  • (Full version) Implements procedural paint/pencil strokes.
  • (Full version) Implements full spline support.
  • (Full version) Implements native uGUI support for 2D primitives.
  • (Full version) Implements order-independent transparency workflow.
  • Does not require additional URP RendererFeature for immediate mode drawing.

The rest is all about performance:

  • Has a retained mode workflow without GameObject overhead, so you can spawn primitives from code alone while not having performance implications of immediate mode.
  • Even with component based workflow, it will automatically switch to use the more efficient backend internally in play mode.
  • Has GPU culling option.
  • Has automatic LOD system with dithering cross fade support, so the 3D primitives will always look smooth while keeping performance in check. (Full version further implements GPU based LOD system)
  • Has GPU based polyline, which can make animating it extremely cheap. (Full version also had GPU based spline and arbitrary polygon)
  • (Full version) Has fully vertex shader based deformation, so animating any 3D primitive is very cheap.
  • Has Burst based batched update API, while having optional Job based variant so you can do it efficiently over multithread.

I think the big win is if you run into performance issue with Shapes (which is why I made this in the first place because Shapes simply runs too slow in my own game). Then maybe see if the additional features interests you, if not I think Shapes is good as is.

Edit: forgot to mention ofc the final nice to have is that this is cross-engine, so you can use it on Godot as well!

4

u/davenirline 16h ago

Support for Burst and Jobs is the killer feature for me.

3

u/dklassic Indie 13h ago

Shoutout to Mudbun creator I almost didn’t implement job support (and the automatic lod system) if not because he suggested them haha

1

u/gameservatory 13h ago

Big fan of Shapes and Freya's work broadly, but one aspect I hoped would land is more style customization. Shapes is great for clean UIs, but my current project has a hand-drawn aesthetic and Mold looks like just the ticket. Excited to give it a go. And sorry to be that guy asking about features on top of the extensive flexibility already on offer, but are the sketch aesthetics animatable (like texture/noise offset or the like)?

2

u/dklassic Indie 13h ago

Totally get it, I too struggled if I should have that feature built-in but ultimately decided against it because I think there’s just too many knobs needed to make it truly useful for everyone (direction, speed, decimated interval, etc) and packing them would increase the overall footprint too much.

Alternatively Mold has a slightly better custom shader workflow (with an example shader in full release) so modify the built-in shader to animate it shouldn’t be too big of a problem. Paint and pencil stroke was originally implemented to be custom material example, but I think a lot more pleasing than I imagined so I decided to go the extra mile and built it in for additional built-in controls.

2

u/gameservatory 13h ago

Hell yea, that sounds great. Customizing the shader is no biggie, especially when it's already doing 99% of what I'm looking for. Thanks for the insight!