Easily bend and repeat meshes along Unity splines for fences, pipes, paths, and more – or generate a mesh from a spline area. Fast, flexible, and built on Unityβs native spline system.
For more details about this asset: Click Here
This package is provided solely for evaluation, learning, or testing purposes before purchase and is not permitted for commercial use.
Spline Mesher | Pro v1.0.15 (Latest version)
“If possible, please buy the package to support the developer”
Description
β Built on Unityβs native Splines, enabling seamless interaction between tools, visuals, gameplay, and other systems: All using the same spline.
π Pro features
β’ Multithreaded mesh generation.
β Realtime changes within milliseconds, up to 50x faster!
β’ Spline fill mesh generation
β Build lakes, curbs, islands, platforms and more.
β’ Output mesh splits up into segments
β Optimal culling & rendering performance at large scales.
β’ Procedural meshes as input or collider
β Configurable Cube, Cylinder or Plane input mesh.
β’ MeshLOD support
β Generate LODs in the editor (Unity 6.2+)
β’ Expanded collider functionality
β Convex and Kinematic collider support + collision/trigger events
For a complete overview see the comparison table.
π A migration wizard is included to convert Spline Mesher Standard instances & prefabs.
βWhat is Spline Mesher?
A straightforward and powerful toolkit for spline-based mesh curving and generation. Essential for 3D world building. Designed for professionals; easy to use by anyone.
π Provide the Curve Mesher component with a spline and an input mesh, and it gets continuously repeated and deformed along its curves.
π Use the Fill Mesher component to create a mesh from a spline’s contour with a uniform topology and distance field baked right into the UV.
πͺ This tool makes it easy to achieve these complex tasks right inside Unity, without needing to go back and forth between editor and external modeling software.
Includes advanced features like vertex color control (for shaders), prefab end caps, snapping to colliders, and multi-material support. All in a clean, intuitive interface.
Build fences, pipes, paths, cables and much more!
π Curve Mesh Features
β’ Use a procedural Cube, Cylinder or Plane input mesh. Or any custom mesh
β’ Automatic box/tube/plane/custom collider generation
β’ Snapping/conforming to colliders
β’ UV scale, offset, rotation and stretch control
β’ Start & end prefab attachments
β’ Rotation roll angle with per-point adjustments, twist a mesh around the spline
β’ Vertex color data over the spline, to drive shader-based effects
π Fill Mesh Features
β’ Uniform topology made out of equilateral triangles
β’ Margin parameter, expand or contract the shape from the curve
β’ Snapping vertices to linear knots, ensures precise shapes
β’ Not completely limited to a flat mesh, edges follow the spline curvature
β’ Displacement effects: buldging and noise-based
β’ UV scale, offset, flipping, rotation and fitting
β’ Distance to spline (SDF) baked into UV.z and Vertex Colors.
βοΈ Technical Features
β’ Recalculated normals/tangents, ensuring correct lighting and shading
β’ Rebuild/Collision/Trigger events exposed in the inspector, and through C# (run custom code before/after the mesh updates, or with collisions)
β’ Lightmap UV generation
β’ MeshLOD generation (Unity 6.2+ editor only)
β’ Optimized vertex data, resulting in 50% smaller file sizes than traditionally generated meshes.
β’ Option to use 16-bit precision (project-wide) when a smaller memory footprint is desired (~20%), at the risk of slight distortions in large meshes (+100m)
Features a cleanly designed inspector UI, with tooltips and undo/redo support. Public C# functions are commented.
βοΈ Supports
β’ Runtime generation – just modify the spline, no extra code besides yours!
β’ Multiple materials (aka sub-meshes)
β’ Multiple splines within the same container
β’ Negative scaling (eg. guardrails mirrored on either side of a track)
β’ Baked lighting, including through Bakery
β’ Auto rebuilding when the input mesh file changes (editor only)
β‘ Performance
Expertly crafted for high CPU performance.
β’ Uses cached spline data for 26 times faster spline processing.
β’ Mesh segments are processed in parallel on all cores.
β’ Accellerated by Jobs & Burst and uses the low-level MeshData API.
π Changes are smooth and responsive.
π§ Limitations:
β’ The Fill Mesher functionality is not designed for 2D applications.
β’ Usage of created meshes in runtime/editor loaded prefabs requires regenerating them on load (option available). Because Unity strictly saves procedural meshes in the scene file. Alternatively, they can be exported to an FBX file using the Unity’s “FBX Exporter” package.
Technical details
π This asset imports as a native package, not in the “Assets” folder. Package dependecies are automatically installed. Strictly incompatible with versions older than Unity 2022.3!
βοΈ Designed for production and long-term use
β’ Battle tested: Spline Mesher Standard (and its proprietary predecessor) was used in various released productions since 2018.
β’ Correctly transforms geometry for the output transform, the output and Spline components can be entirely separate.
β’ Context menu on Mesh Filter components, to quickly convert a mesh into a spline mesh.
β’ Respects the original mesh’s vertex colors.
β’ Supports well over 65k vertices in total.
β’ Fill mesh generation uses a propietary and original technique, no covertly repurposed third-party design or code!
β οΈ Not comparable to dedicated modeling software (eg. Blender/Maya)
β’ Vertices can end up overlapping in tight corners.
β’ Mesh generation is not dynamic. Eg. cannot be adapted based on spline curvature, cut holes into, or use a different input mesh midway.
β’ Fill Mesh functionality is not comparible to true NURBS surface modeling.
βοΈ Technical Details
β’ Mesh generation uses 16-bit precision for wide platform compatibility, reduced file sizes and optimal performance. Hence individual mesh segments are limited to 65k triangles. But any mesh can be split up into many smaller segments anyway.
β’ Whilst Runtime generation is support, Realtime generation is often not viable due to CPU performance constraints.
β’ Extra UV channels from input meshes (2-7) are not kept, thisis due to these strictly being needed for bespoke shader effects, so aren’t relevant to the majority of users. Vertex Colors may be used to store custom data instead.




