Atelier Kiko - Structural Destruction System

A C++ plugin for destructible scenery driven by materials: walls, floors, towers, whole buildings, tempered glass and 49 piece-built props break where they are hit and collapse like real structures. Multiplayer, Blueprint-ready.

It breaks where it is hit, the way its material would. A wall, a floor, a column or a tower is a grid of cells. A bullet digs a crater; more bullets on the same spot open a hole you can see through. Each material has its own strength and its own wounds: concrete takes eight hits, brick six, stone four, wood three, plaster gives way at once with a wide hole, and metal — the most solid, twelve hits — dents, then tears open in strips around a small round hole. Brick can break along its own bricks. A pane of tempered glass crazes all over at the first bullet, loses clusters of grains at each hit and bursts at about the third.

Worn or sharp, your choice. Every piece has softened, chipped edges by default — old masonry, a place that has lived. Tick Sharp Edges and it stands clean and square instead, like a new building. Either way, what breaks off crumbles the same: the look changes, never the destruction.

What loses its supports collapses, like a real structure. Whatever no longer rests on anything falls in sections that keep the look of the wall: they tip over, fall flat, implode or sink in place, break up on the way down and leave rubble heaps that stay — solid, with the height of what fell there. Damage stays local: in a piece that holds, only what lies too far from any remaining support falls. Pieces stacked on one another hold and fall together, which is how a building is made of floors; a building rests on all its foundations, and when they keep less than 60% of their supports, it comes down, floor after floor.

Explosions you can see and hear. An explosion opens the scenery, strikes the furniture and throws shrapnel that chips what it hits. It is dressed with an orange flash, a fireball that cools from white-yellow to soot, dark smoke that rises for four to seven seconds, the dust of the ground thrown out in a ring, embers and a black scorch mark — drawn by the plugin's own materials, with no particle system to set up; one project setting plays your own Niagara system instead. Its sound follows its size: small, medium or large. Demolition charges come with a detonator and a countdown; red barrels and gas cylinders go off when shot, struck hard or caught in a blast, and set each other off in chain reactions.

Furniture built from parts. 49 prop plans: Library 12, Dungeon 15, Medical 17, a plank partition, a stud frame and two window frames, and one example to start your own. Each hit takes the part it reaches, and what that part carried falls with it; when most of the structure is gone, the whole prop comes down. Glass and ceramics shatter, books let their pages fly, a bullet on a part that holds raises its dust, splinters or sparks. The brazier burns with glowing embers and flickering flames; knocked over, its embers scatter, glow on the floor and go out. Each prop is one actor, its parts drawn in shared instanced batches.

Sound that lasts as long as the destruction. Every material has its hits, its breaks and its landings. While sections fall, a bed of crumbling sound loops for as long as they move, then settles with the last pieces: a wall that comes down in two seconds sounds for two seconds and a little more. Massive dungeon furniture sounds of heavy timber and wrought iron, partitions of planks, and a wooden prop that comes down crashes heavily. Voices and budgets per frame keep a whole street collapsing from turning into noise.

Multiplayer, proven. The server alone decides what breaks; every hit travels to the clients with its random seed, and each client replays it on its own copy: the grids stay identical on every machine. An explosion called on the server is seen and heard on every client. A player who joins during the game receives the hits made before. Nothing to set up: the plugin spawns its relay by itself. Tested with a server and two clients, three processes on one machine, then again with both clients under the engine's Bad network emulation (5% packet loss each way, a ping of 200 to 400 ms): the same cells standing on all three.

Made for real games. Four quality levels for what each machine shows, never for what falls; caps on falling sections, rubble and shards; a warm-up that removes the long first frame. The damage of an open world survives its level unloading, and a saved game can capture and restore it. Falling sections hurt what they land on; bodies that strike a wall hard enough break it. One Blueprint library does the common work — Apply Hit, Explode, Spawn Prop, Spawn Window, Place Demolition Charge, Start Demolition — and 53 project settings, a sheet of 34 settings for each of the 12 materials, 45 console variables and the C++ source of the whole module are there for the rest.

A showcase map to try everything. The demonstration map holds two presentations side by side, worn edges and sharp edges, joined by a gate between their yards. Each is a modern gallery opening on a yard, in six stations: 1, the seven materials framed on a wall; 2, six shapes on a podium (a hollow tower, stairs, two columns, a bridge on piers, a solid block); 3, three furnished rooms — a library, a medical room and a crypt — divided by a brick wall and a plaster partition, each with its window, and four paper stacks; in the yard, 4, a brick wall, a tower and a facade to bring down, with a row of explosive barrels; 5, the four ways of falling; 6, an apartment block of four floors, furnished, that comes down whole, next to a ruin. A flying player shoots, sets off explosions and strikes with a blade; the keys 1 to 6 take you from station to station, and Tab to the same station on the other side.

What is included

• The C++ runtime module StructuralDestruction, its source included: 30 headers, 30 source files, 32 classes.

• 44 Blueprint functions and 9 events; 53 project settings and a sheet of 34 settings for each of the 12 materials; 45 console variables.

• 369 static meshes (306 furniture parts, 42 shard shapes, 20 debris shapes, 1 cell), 83 materials, 18 textures, 116 sound takes in 37 sound cues, 49 prop plans.

• The demonstration map, with its two presentations (worn edges, sharp edges).

• The user guide in English and in French, as a PDF and a web page, in the plugin's Docs folder.

Technical details

• Unreal Engine 5.8, the only version tested. Windows 64-bit only (the module is limited to Win64).

• Tested: the editor, a packaged game from a Blueprint-only project, Play In Editor with two players, a listen server with two clients.

• 1 runtime module, loading phase Default. Required engine plugins: Niagara and Procedural Mesh Component (the plugin enables them).

• Network replicated: yes. The server decides; hits are replicated with their random seed and replayed by every client; a player who joins late receives the history.

• Static meshes: 8 to 600 triangles, 54,168 in all; one level of detail (two on the cell); Nanite off. Textures: 256 to 2048. Sounds: mono, 44.1 kHz. Lighting: dynamic only, nothing baked.

• Measured on one Windows machine on the final product: on a bench of eight collapses in a row, the average frame is 6.5 ms at Epic quality and 5.6 ms at Low, and the destruction itself takes 0.1 ms per frame on average; a four-storey building coming down whole averages 9.5 ms per frame over the six seconds of its fall.

Third-party content

The sounds were made for the product from recordings released under the CC0 licence (public domain: commercial use and redistribution inside a product allowed; https://creativecommons.org/publicdomain/zero/1.0/ ), cut, layered, filtered and reworked — never used as they were downloaded:

• "75 CC0 breaking / falling / hit sfx" by rubberduck — https://opengameart.org/content/75-cc0-breaking-falling-hit-sfx

• "Impact Sounds" by Kenney — https://kenney.nl/assets/impact-sounds

• "Glass Break" by Till Behrend — https://opengameart.org/content/glass-break

The three explosion sounds and the sounds of paper were calculated for the product (filtered noise, no recording). Everything else — meshes, textures, materials, code — was made for the product: textures and materials are calculated by script, nothing comes from a scan or from another seller's pack.

Documentation and support

• User guide in English and French, as a PDF and a web page, inside the plugin (Docs folder). Also inside the product: a tooltip on every setting and property, the comments of the headers, and the signs of the demonstration map.

• Support: through the seller's page on Fab.

If I can get a video of this, I’m prepared to consider a purchase. Do you have a demo?