Cenote is a lightweight, artist-friendly voxel toolkit with a composition style workflow. Rapidly build anything from fully handpainted levels to completely procedural infinite worlds with ease.Included shader is URP, but you can easily swap it out for your own.Generate and Sculpt levels fastCenote is a lightweight, artist-friendly world generation and voxel painting toolkit that turns Unity's editor into a fast 3D level-design canvas. Sketch out or design any caves, dungeons, terrain, and structures by painting voxels directly or by configuring a proc-gen pipeline - Cenote handles the rest, generating smooth, real-time meshes as you work.Proc-Gen Design FeaturesA core feature of Cenote is the Procedural Generation pipeline. You can setup your own pipeline or use the existing Proc gen pipeline which allows you to make Density passes -> Voxel Type passes -> Feature passes. Each pass can contain any number of mutators in the stack for that pass group. This allows for huge variety in how your world is generated and is easily extensible with your own pass handlers.Composition based procedural generation pipeline for infinite worldsScriptableObject Data Assets. Your voxel volume lives in a .asset file which is easily version-controllable, reusable across scenes, and shareable between team members without scene conflictsScene components target volume .assets for mutations.The Proc-gen pipeline configuration is also SO driven, meaning you serialize DNA + delta-data mutations instead of entire chunks.Easy Voxel Type interface to add textures and reference the types everywhere later.Biome generation via 2D temperature map - assign biomes to temperature bands and voxel types to biomes.Design FeaturesBuild your placement content directly in the scene view! Need a tree or a house to be placed somewhere in the world based on rules? Simply create a new Feature and edit it with any Voxel types you want directly in the scene view and reference it in the proc gen pipeline to get it everywhere in the world.Scuplting (Mutation) FeaturesIf you're looking for a tool that is less proc-gen and more hands-on then you also get that with Cenote. Since the data it serializes is only the mutated cell data, you can simply generate volumes that are only air/empty cells, then just manually set the type with editor tools and brushes. This allows you to paint levels in a few different ways, and is especially useful if you are accustomed to Tile-Based design tools.Slice-Plane Painting (precise, technical)Brush-based Painting (broad, organic)Write mutations and serialize only the mutationsPerformance FeaturesNo process is useful if it fails to be performant. Every descision in Cenote is driven by the fact that it must be incredibly performant.Burst and Jobs support throughoutGreedy Mesh topology generation where possible32³ Chunks of voxels for dirtyingProximity based Chunk StreamingStyle FeaturesVoxels are kind of like 3d pixels with some data, and you have to render those points in some way in order to get the look you expect. With Cenote you can Occupancy or Density fields of data. If you want to leverage SDF tooling on top of your world data then go ahead, the system supports it. If you only want binary on/off Occupancy data fields then that is also intrinsically available as well and would gain you some significant performance improvements. There are several included Mesh Builder options and you are free to change them whenever you wish.Block (Occupancy)Block (SDF)Marching Cubes (SDF)Surface Net (Occupancy)Who It's ForSolo developers and small teams building procedural or hand-crafted 3D voxel levelsTechnical artists who want full source access and a clean, extensible architectureAnyone building large scale voxel worlds with high performance requirementsNotable By-Design Choices1. Design flexibility affects performance:Because of the incredibly flexible nature of the noise design pipeline we lose some potential performance potential versus simpler approaches such as height-based-only surfaces. You'll have more potential for interesting, compelling and controlled world shaping results with Cenote, but the trade-off is less-than-perfect memory usage and access if your world doesn't need the extra quality control. If there is sufficient interest, we would consider adding an alternative pipeline for heightmap-only worlds with ideal performance.2. Chunk shape is cubic and infinite:Because there are an immense number of usages for Voxel Engines we've made Cenote deliberately infinite and fixed-chunk size with spatial deterministic generation. The tradeoff is that if your world has a fixed size then there's no path to optimize for that constraint - everything is infinite. Minecraft, for example, uses 16x16x384 chunks for world storage, which makes memory footprint predictable and more accessible in terms of height. Cenote is infinite, assuming your world has no limits and voxels are fixed at 32x32x32.RequirementsUnity Burst & JobsUnity CollectionsUnity MathematicsUnity URP for the Triplanar shader includedUnity Shader Graph for the Triplanar shader includedCurrent version uses a Triplanar shader made in Shader Graph.Claude Code for coding assistance - per industry standard.




