What Bricks Breaker Actually Does
It's a utility for generating collision meshes from brick-like geometry in Unity and Unreal. You feed it a wall layout or a blocky environment, it breaks down the colliders into chunks that respond realistically when hit. That's the short version. The core mechanic is voxel-based decomposition. You set a grid resolution, the tool scans your mesh, identifies which voxels are solid, then generates a combined collider from those voxels. When a projectile or object hits one chunk, the engine removes just that chunk instead of shattering the entire wall. It's not a particle system. It's a dynamic mesh manipulation approach, which means it's cheaper on the CPU but limited in how complex the destruction can look.
How to Set Up Bricks Breaker in Unity
I downloaded the latest build from their official page a few months back. The install is straightforward if you follow the package import order they list in the readme. Don't skip it. I tried importing everything at once once and got a scripting API conflict with the physics package. Took me about twenty minutes to sort out which version of the Physics2D extension was clashing. Here's the actual process. Create a new Cscript in your project and add the BricksBreaker namespace. Then create a GameObject and attach the BrickBreakerComponent to it. Assign your target mesh to the source mesh field on the component. Set your voxel size. This is where people go wrong. A voxel size of 0.1 works for most indoor environments. Going smaller than 0.05 will crush your frame rate because each voxel becomes a separate collider object and Unity has to process collision detection on all of them every frame. I learned that the hard way on a project where I set the voxel size to 0.02 for a detailed facade. The game dropped to about four frames per second on a RTX 3080. Bumped it back to 0.08 and it ran fine. After setting the voxel size, hit the Generate button. The tool will process the mesh and create child objects representing each chunk. You can adjust the Material property to apply a custom shader if you want the broken pieces to look different from the original wall. The built-in material is serviceable but it doesn't handle normal mapping well on the fragmented pieces. I ended up writing a small surface shader that sampled the original mesh's normals and applied them to each chunk. Took about an afternoon.
Common Problems and Workarounds
The biggest issue I ran into involves thin walls. If your source mesh has sections that are thinner than your voxel size, the tool either ignores those sections entirely or generates zero-volume colliders that cause jitter in the physics simulation. I had a scenario with decorative brick patterns on a building exterior where the ornamental moldings were only about five centimeters thick. With a voxel size of ten centimeters, half the detail just disappeared. The workaround was to duplicate the mesh, offset it slightly along the normal, merge it back with the original using Unity's Combine Meshes utility, and then run Bricks Breaker on the result. It added about thirty percent more voxel count but preserved the thin geometry. Another problem is memory usage during generation. The tool loads the entire mesh into CPU memory before processing. For anything larger than roughly two megatexels, you'll see significant stutter or even OutOfMemory exceptions on machines with less than sixteen gigabytes of RAM. I processed a large outdoor level on a machine with eight gigabytes and the editor crashed twice before I got it to complete. Splitting the level into smaller sections and generating the bricks for each section separately fixed it.
Get the Full Details

Performance Notes
Bricks Breaker works best when you're dealing with a moderate number of chunks. I'd recommend capping the total at around two thousand chunks per scene. Beyond that, even with occlusion culling enabled, the physics engine starts to lag during active destruction sequences. If your project requires large-scale destruction, consider using a hybrid approach where Bricks Breaker handles the foreground destructible elements and a pre-baked animation or sprite sheet handles distant background destruction. That's how I ended up structuring my last project and it kept things smooth. The tool does support batch generation for repeated layouts, which is useful if you need the same wall configuration in multiple scenes. Save your generation preset and reuse it. This cut my setup time from about an hour per level to maybe ten minutes.
Where It Falls Short
It doesn't do curved surfaces well. If your mesh has smooth curves or organic shapes, the voxel decomposition will make everything look blocky by definition. There's no sub-voxel interpolation. You'll get that staircase effect on any curve. If you need smooth destruction on curved geometry, you'd be better off looking at procedural fracture tools like Obi or even writing your own tetrahedral fracture system using a library like Bullet's ConvexDecomposition. It also doesn't integrate with Unity's new DOTS physics out of the box. The component uses the legacy physics API. If your project is built around the Job System and Burst compiler for physics, you'll need to either stick with legacy physics for the destruction parts or modify the source code yourself. The developer does provide the source on GitHub, so modification is possible, but I wouldn't call it trivial. If you're just looking to add some basic breakable walls or destructible cover to a game, this tool does what it promises. It's not going to win any awards for visual fidelity, but it's fast to set up and easy to tweak. Just keep your voxel size reasonable and don't try to generate massive levels in one go.