This package provides a high-performance mesh slicer tool, designed to be used as an extension for existing Unity built-in packages. It is developed to fit well with Unity DOTS standards, offering performance, simplicity, and readability of the code. The tool uses efficient algorithms for slicing, mesh reading, and mesh writing, making it possible to manage slice meshes in a fraction of a millisecond. This results in no garbage collection, except for Mesh and GameObject instantiation, which can be handled with pools if needed.
The API is split into three levels, ranging from artist to programmer, offering the best of both worlds: ease of use and extensibility. The levels include:
- High level: Using the Mesh Slicer Monobehaviour component, consisting of two steps: adding the component and calling the Slice method on the manager.
- Medium level: Using the Mesh Slicer Manager custom Modifiers, allowing extending functionality by implementing specific interfaces.
- Low level: Using the Slicer helper class, allowing scheduling pure DOTS mesh slicing jobs for those who want different implementation or use it in different frameworks.
Note: Each upper level uses a lower level API, ensuring no circular dependencies, code re-usability, and extensibility.
Limitations:
- Fill/cap mesh generation is currently only convex.
- No mesh separation.
- No skinned mesh slicing support.
Note: These limitations will be removed in future releases.
This package depends on other asset store packages, including Unity Mathematics, Unity Collections, Unity Burst, and Dots Plus. For more information, please check the documentation and samples provided.
- Low level slice API
- Mesh Slicer API
- Modifiers
- Documentation
- Samples




