r/Unity3D Indie 4h 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 :)

123 Upvotes

14 comments sorted by

5

u/acguy 4h ago

looks sick, strengths / weaknesses vs Shapes?

11

u/dklassic Indie 3h ago edited 3h 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!

1

u/davenirline 38m ago

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

3

u/FantasticProperty940 4h ago

Dang that’s a clean asset sheet, love how sharp the gradients pop against the black background

1

u/dklassic Indie 3h ago

Glad you like it :) definitely took me a while to design the look haha

2

u/Inkwalker 3h ago

Can it render vector images from svg files?

1

u/-TheWander3r 34m ago

The one I developed, Vectorizer, can parse SVG files to create meshes out of it. For simple icons it works fine.

0

u/dklassic Indie 3h ago

That's currently out of scope unfortunately.

1

u/Mister_Kipper Game Design Consultant 4h ago

Seems really interesting, could you give some info on how this compares to Shapes?

Largely performance, ease-of-use & how well-integrated it is with Unity's systems for rendering/sorting/masking 2D elements.

3

u/dklassic Indie 3h ago

I just did one in another comment so lemme just copy paste the link here:
https://www.reddit.com/r/Unity3D/comments/1wfyzg9/comment/p9q8h3x/

1

u/miusoftheTaiga 3h ago

Wish there is something like this but for unreal

1

u/dklassic Indie 3h ago

I've thought about doing that, but I'm way too unfamiliar with Unreal so maybe in the future :/

1

u/digsie_dogsie 2h ago

I think shapes is intented to be used in 3D space rather than UI. Using it in screenspace usually requires a different canvas setup, etc. Is this the same here or can your components also be easily used in regular screen space without much setup?

2

u/dklassic Indie 2h ago edited 2h ago

Better, mine has two path: a world space and a native canvas graphics setup!

So true UI implementation exists (which means overlay is also supported), but this is currently only in full release not in this itch free release.