Room Decoration Tool (2026)
One of the recent projects I worked on required a tool for decorating room shapes in real time. Since we could not find an existing solution that met all the requirements, I decided to develop my own tool. The goal was to cover the project’s specific needs while keeping the tool flexible enough to be reused in different projects.
The tool uses a modular generation pipeline built with ScriptableObject-based operations. First, it creates a room from a selected base mesh and applies configurable size settings. After that, the room surface is sampled using points from faces, edges, or vertices. These samples are then classified into different surface zones, filtered, and used as possible placement points. The pipeline can pick objects based on the sample type, adjust their position, rotation, and scale, and then validate the result by checking object radius and exit areas. At the end, the generated objects can either stay as separate prefabs or be combined into optimized meshes with optional colliders.
During development, I focused on making the system flexible rather than hardcoding one specific generation flow. I split the tool into separate operations, such as sampling, classification, filtering, item picking, placement, and validation. This made the pipeline easier to adjust, test, and expand. For example, different sampling methods or placement rules can be swapped without changing the main room generator.




