Shapes is a real-time vector graphics library with high-quality line drawing and infinite resolution shapes, rendered with advanced anti-aliasing techniques
After Shader Forge, I wanted to make something different. It has bothered me for a long time that for some reason, html5 canvas is better at drawing primitives than Unity. I really wanted something to help us make those crisp lines, discs, polylines and, well, Shapes! So, here we are~
Features • High quality line drawing with arbitrary thickness with advanced anti-aliasing • Thickness units can be specified meters, pixels or noots • 2D Shapes such as Polyline, Disc, Arc, Pie, Rectangle, and more • 3D Shapes such as Sphere, Torus, Cuboid, Cone, 3D line, and more • Easy-to-use component-based shapes with tweakable parameters • Source code included for maximum flexibility • Immediate-mode API for code-based drawing, with scene view gizmo support • Heavily GPU based. Tweaking parameters is practically free • GPU instancing support • URP & HDRP support • Single-pass instanced VR rendering support
Limitations • No SVG support, Shapes is not designed to be an SVG asset importer/exporter • No ECS support yet, because it seems to change every week • No UI support in overlay mode, though you can use camera-based or world-space UI to work around it • Applying custom shaders is currently difficult unless you know how to code shaders, since every shape has a very specialized shader