Modular Building System is a 3D structure creation framework. It provides a codebase to create 3D structures out of modular parts right inside Unity Editor.
Using MBS Asset packs, it is possible to create, share, or sell modular parts for MBS through Unity Asset Store.
As you can see, there are 3 parameters you can change.
Also, if your prefab has child objects you can disable or enable mesh modifications (stretching, corners modifications, and so on) for this particular object through Children Modifications toggles. If the toggle is on, the child object will be affected by mesh modifications, and if the toggle is off it won’t.
This component will be attached to all children of the DrawingWall object that have the MeshFilter component (LOD objects, or separate child objects). You can use it to select the DrawingWall (parent) object(s) or use it as quick access to the parent functionality – change prefabs, select areas, and so on.
When the MBSBuilder game object is selected you can choose the tool you want to use, an asset you want to draw, then you can move the cursor in the scene view window and start drawing.
MBS work is totally dependent on a grid and snapping. The grid in the MBS is a customizable thing – you can change grid cells size. To change Grid Size you can type the value or use link it with the object size or set it by object picker.
To link grid size with object size just press the corresponding button, the value will be automatically set from the size of the selected object.
To set grid size from the size of an object’s size in the scene use the object picker. To use it, just press the corresponding button, and select an object with the needed length in the scene view.
By default, the drawing gizmo is green and unsnapped. But if the cursor is near the endpoints of the wall (front or back), it will snap to the closest point and turn orange.
To disable/enable mouse snapping to wall endpoints use the C button.
To automatically fill a closed area with floor prefabs, move the cursor inside the closed area and press the Shift key.
To change the drawing level set the level height and increase (or decrease) level number. To change the level height you can type the value or use position picker or object picker.
To use position picker – press the corresponding button, and set the pointer to the needed height in the scene view. When the pointer is over the object and it is on the higher point of it – it turns orange.
To use object picker – press the corresponding button, and select the object with the needed height.
To change the level number you can type the value or use the + | – buttons.
To change the wall prefab – select the wall game object and in the inspector window under the DrawingWall component (or DrawingWallChild) select the prefab you want to change to.
* You can modify multiple game objects at the same time, but it is required to select walls that correspond to the same MBSAsset and the same MBSBuilder.
To change grid position (visually) just press the G button in the needed point inside scene view.
If you need to change grid settings, you can do this in the material attached to the MBSBuilder. Or find an MBSGridMaterial inside MBS / InternalDataStore / Materials and change the color parameters there.
Escape (1 time) – cancel drawing;
Escape (2 times) – deselect MBSBuilder game object;
Shift (floor tool) – if the mouse cursor is inside a closed area, auto-fill it;
G – change grid position;
C– enable/disable snapping cursor to the wall endpoints;
The MBS contains 3 example assets packs out of the box. They are included just to show how flexible MBS is and how much potential it has.
1. Thank you for purchasing the plugin, and thus for supporting my project!
2. If you like MBS, I would be grateful if you take the time to leave a review in the asset store!
3. I’m not a native English speaker, and to write docs and other info about MBS I’m using my little experience in English and Google Translate, so, if you found some errors or unusual, incorrect use of language, or something that is hard to understand – please tell me, I’ll be grateful.