[Released] Building Crafter - Create buildings in the Unity editor

Building Crafter

Welcome to Building Crafter, the fastest way to create first person ready buildings right in the Unity editor.

Building Crafter is designed to be easy to use without any scripting needed to create new buildings. No need to spend hours of time building complex models in Maya or Blender. No need to waste money on artists to build generic interiors. Get back to building games quickly!

Use a simple interface to lay out building floor plans. Add rooms, add doors, add windows, and add stairs to the building. Click generate and watch your building created in as little as 20 milliseconds.

Each building generates:

  • UV mapped tiling walls, floors ceilings and roofs.

  • Box Colliders for each wall.

  • Separate game objects for each room and exterior walls and crowns.

  • LOD ready interiors.

Get it now from the Asset Store!

Download the PDF Manual.

Quick Video (30 seconds)

Walthrough Video (6.5 minutes)

Typical Workflow:

  • Create a Building Crafter game object.
  • Add a few rooms to the first floor
  • Add doors and windows to that room
  • Add a slanted roof if it is residential
  • Hit generate and your new building is generated.

Features:

  • Create buildings in minutes.

  • Build skyscrapers or residential houses with the same tool.

  • No need to use a 3D modeling tool.

  • No coding required.

  • Source code included.

  • Buildings have colliders set up automatically.

  • Buildings have Unity LOD interiors, unload interiors when far from building.

  • Very low poly, all flat surfaces.

  • Buildings generate from 20ms to 100ms

  • Consistent thickness of walls, each one is 10cm thick.

  • Add custom doors (1mx2m).

  • Modify building crown profile.

  • Allow custom scripts execute upon creation of rooms, buildings.

  • Export buildings to FBX format (version 0.72)

  • Stretch any window mesh into your space (version 0.8.0)

  • Instant live preview as you construct your building (version 0.8.0)

  • Atlas your building’s materials for increased performance (version 0.8.1)

  • Add wall ‘cappers’ for dungeon crawler type 3rd person games

Limitations:

  • All buildings build on 1x1 meter squares.
  • No diagonal walls.
  • Floors are all 3m in height.
  • No complex wall profiles.

Roadmap (Near):

  • Custom door heights (above and below 2m).

  • Custom stair generation.

  • Custom floor height for each floor.

  • Generate complete yards and roads.

  • Two level interiors (open to the floor above).

Roadmap (Far):

  • Diagonal walls.
  • Curved walls.
  • 10cm grid instead of 1m grid for walls.
  • Non Square rooms.
  • Complex pillars and facades.
  • Crazy roof styles, arched, barrel, etc.

2 Story Building Creation (1.5 minutes)

Build and Walk Around Building (3 minutes)

Colliders inside a building

History:
I found creating buildings extremely time consuming when using blender. For a project I was working on, I needed exact measurement buildings, where the building walls were 10cm wide so I could snap in other furniture and objects without worrying about clipping.

It is designed to remove all the hassle of creating buildings (both interior and exteriors) in another modeling program. The buildings generate box colliders for the walls, so when you create a building you will be able to run into it immediately. I used box colliders for speed instead of mesh colliders.

Thanks for reading! This project is under active development and the more feedback I get the better.

  • Kellan

Link to Asset Store (http://u3d.as/ovC)

Email me at buildingcrafter@8bitgoose.com if you have questions.

Release History:

============================
0.8.5 - Lil’ Improvements | July 28, 2020

ADDED - Roof Colliders
ADDED - Box Lip Colliders
ADDED - Setting to enable roof and lip colliders in the Building Blueprint
ADDED - Added double doors for doors to roof

FIXED - Grabbing two points in the building facade style
FIXED - Destroying prefabs on Unity 2018.3+ works now
FIXED - Dragging building crown profiles sometimes caused a previous selected profile to be moved
FIXED - Roof outlines not displaying correctly

KNOWN ISSUE - Rotating the building in live view causes issues, just hit regen to get it right.
KNOWN ISSUE - Using the window cutter in the asset database view causes issues in 2019. Drag into scene to edit prefab.
KNOWN ISSUE - Rotating the building does not rotate the slanted roof view
KNOWN ISSUE - Sometimes the roof lip colliders will generate duplicates while using live view, just hit generate again to get rid of these
KNOWN ISSUE - Roof colliders are attached to the building, not the floor, so if you move the floor GO in the editor, the roof colliders won’t follow
KNOWN ISSUE - When exported to FBX, ensure you have turned off “Building Fillers” on the Blueprint. If you export a building with those fillers, you may get white or black surfaces on your windows and doors.
KNOWN ISSUE - When laying slanted roofs, the perspective is a little confusing, iso topdown view is best to lay these out.

============================
0.8.4p2 - 2019 Fix | May 3, 2020

FIXED - The style view and windows view was displaying twice.
FIXED - FBX Exporter not working for European decimal system, using a comma instead of a period.

============================
0.8.4p1 - Fixin’ Navmeshin’ Fix | September 24th, 2019

FIXED - Couldn’t build with the update to the nav mesh.

============================
0.8.4 - Navmeshin’ | September 6th, 2019

FIXED - Nav meshes were not be generated properly because of the building filler. Remove the building filler from navmesh static.

============================
0.8.3 - Swinging Doors | March 31st, 2019

ADDED - Set your doors to open at spawn. Change the options of your doors to see them spawn open anywhere from 0 to 90 degrees.

============================
0.8.2 - Mistake Fixin’ | March 19th, 2019

FIXED - For certain walls with windows, gaps would be generated.

============================
0.8.1 - New Wall Generation Engine Update | January 30th, 2019

MAJOR - Building Crafter’s base Unity version is now 2017.1.2. May work with earlier version.
MAJOR - Building walls / floors no longer use UV tiles. All surfaces have UVs between 0 and 1 (important for baking / atlasing).
MAJOR - Added simple Atlasing system for performance. 1 material (aka drawcall) a building’s walls, floors, ceilings, roofs and overhangs.
MAJOR - All the walls can be generated on angles or at any length. However this is ONLY internal. So the editor doesn’t support this yet. This is for future updates.

ADDED - Floors can be generated with top caps, useful for dungeon crawlers
ADDED - New door/window frame generator that lines up all UVs with the corresponding wall
ADDED - Atlas generator for building styles
ADDED - JSON export / import for buildings
ADDED - New building crown generation that does not use UV tiling, instead increased vertices (so buildings can atlas)
ADDED - Simple walking script to check out doors opening and closing in the test scene
ADDED - Option to generate a building as an Atlased building
CHANGED - All walls are generated without the old tesselator. No UV tiling anymore, but increased vertexes
CHANGED - All floors are generated without UV tiling, instead each floor tile is it’s own square quad
CHANGED - Rooms are now split into 3 objects (floor, wall roof) instead of being a single object with multiple submeshes
CHANGED - Example textures no longer use tiling or offset outside of (1, 1) and (0, 0) respectively
CHANGED - Stair cutouts use new wall generation for dropdown
CHANGED - Outside walls no longer use submeshes for different materials, uses separate gameobjects instead per material
CHANGED - Roof lips / crowns have a new generation method without any UV tiling
CHANGED - Updated the Building crafter manual with how to create custom doors, JSON info, atlasing info and a few other things
FIXED - Undoing during live view will just regenerate the building at the last layout provided instead of saving and reloading the mesh that was generated
FIXED - Separate rooms on the same floor not connected to each other (for example, two towers) will now generate both exteriors
FIXED - Door hinges are now aligned on all example doors
KNOWN ISSUE - Textures meant to be atlased MUST have offset of (0,0) and tiling of (1, 1). Offset / Tile in your photo editing program
KNOWN ISSUE - Normal maps must be proper normal maps before being imported into Unity. Do not use Unity’s normal map generation with atlasing of textures
KNOWN ISSUE - Rooms connected by kitty corner will create inverted walls and all sorts of issues
KNOWN ISSUE - Due to floating point problems if a surface appears black, try moving the building a meter or two away. Or send the building by email and a fix may be found

============================
0.8.0 - Windows Are The Eyes to The Building | June 11

BREAKING - Must Delete All Folders except “BCAssets” before update import
BREAKING - Moved “BCAssets” to “Packages/BuildingCrafterAssets”. Please move or delete this folder.

ADDED - Window mesh stretcher. Add any window mesh, cut it and add it to a wall
ADDED - Added base window to fit into any window space
ADDED - Eyedropper to select window and door types when creating new openings
ADDED - Two windows (fancy and base window) for use in any project
ADDED - Experimental Live View Mode. Some features (like roofs, yards and fancy walls) do not generate automatically. Send feedback please!
FIXED - UV Mapping for frames
FIXED - Number of small bugs
FIXED - Sped up destruction of procedural objects
CHANGED - Window frames now generate with the buildings and rooms, slight triangle increase
CHANGED - Versioning number option MAJOR.MINOR.SMALL (example 0.8.0)
KNOWN ISSUES - Second floors that only touch the edge of the floor below do not generate correctly
KNOWN ISSUES - Meshes leak when using undo on experimental live view mode. Restart Unity to stop warning

============================
0.72 - Save the Mesh | April 17

ADDED - FBX exporter for buildings. Check out open-source project at GitHub - KellanHiggins/AsciiFBXExporterForUnity: A tool to export any Unity GameObject into a FBX ASCII format
ADDED - Ability to automatically export FBX meshes upon generation
ADDED - Option to not generate LOD fillers or add LODs to the system
ADDED - Ability to disable broken window generation
ADDED - A tool tips to generation buttons
FIXED - Fixed spelling mistake in create new building
FIXED - Windows, Rooms and Doors not recording changes to their properties
FIXED - Room Styles not being saved upon exit
CHANGED - Update Building Crafter Manual to 1.1

============================
0.71 - Behold the Points | March 6

ADDED - New editor panel to control Vector2 Arrays
ADDED - Drag points and lines for building crown profile
ADDED - Simple door opener script
ADDED - Walkable example level (needs Unity Standard Assets to work)
FIXED - Doors are no longer set to static and open by raycast
FIXED - Building crown profiles now appear in Unity 5.3
FIXED - Rooms with counterclockwise wall vector3 arrays no longer create inside out rooms
FIXED - Doors and windows not redrawing when user updates their size
FIXED - Errors when changing buildings via drag-and-drop
CHANGED - Moved Editor Utilities into own folder

============================
0.7 - Initial Release | Feb 19

Initial release of Building Crafter.


Looks great. Is it possible to import a floor plan instead of having to draw out the rooms?

1 Like

It would be a good feature for the user to be able to select wall thickness, for example some of the walls on my house are around 30cm thick.
Otherwise this is looking like a nice tool.

Thanks for the questions.

@JacooGamer How would you like to import the floor plans? From building blueprints? From hand sketched drawings? From adobe indesign files? The Building Blueprint monobehaviour class is fairly simple. Each room is a loop of Vector3s in an array. Write something to import into that format from whatever format you want and you would be golden.

@nickyoso1 I think I’ll implement this sometime down the road. Wall offsets take a single variable for thickness (0.1f) and offset by that amount. However, there are a bunch of edge cases that occur when changing this value. Box Colliders aren’t generated for the walls correctly. Doors on corners will be cut off and cut into a wall. Window frames won’t fill in correctly. Can some rooms have thicker walls and some thinner. All easy stuff to tackle, but it will take time.

Also each wall is inset by 10cm, so two rooms beside each other actually have 20cm thick walls. Same with exterior walls. You can place a 90cm x 90cm furniture on the grid and not risk clipping.

This asset is under heavy development so check back for updates in the future. Thanks for the words of encouragement. I really appreciate it.

Building Crafter has been updated to 0.72.

Building Crafter now has a FBX exporter. You can export an entire building into and FBX file and modify it in Maya or Blender. I also released the FBX exporter as an open-source project here.


I’ve added a link to the PDF manual on my website.

I also fixed a minor problem with the windows version of Building Crafter that prevent users from changing floors.

The next big update will be able to add windows that are stretched like Unity’s GUI 9 section slicer. Its almost done and awesome!

Would be great if exterior walls could have a seperate wall thickness to simulate wall cavity.
And internal rooms shared the same wall rather then inset into 2 wall sections.

@John-G when you want internal rooms to share the same wall, what do you mean? Would you like interior walls to be 0cm thick, a two sided quad? As for exterior walls, they currently have a 10cm outset from the inside of the walls (which have a 10 cm inset). You’d like more?

Didn’t explain that we’ll, would lbe great if exterior walls could be say 20cm while interior wall would be 10cm total regardless if it’s a adjoining another interpretation room or not.

@John-G I completely agree. Around version 1 or 1.1, I am going to add a new exterior generation option which allows you to create a completely separate exterior wall. Any empty space will be filled with a box collider and windows will extrude. I’ll also add the option for modifying the outset. Currently you could probably go in and modify the outset up to 1 meter on the exterior by hand, I just didn’t add it as a style.

First I need to get the window stretcher out, new complex stairs and make the roofs sexier. Then onto the things you mentioned above. Thanks for the feedback! Glad to know I am on the right track.

1 Like

Do you plan and/or working on other room extensions for furniture?

@Carpe-Denius I created a very rough system for randomly placing furniture throughout a room upon creation, but the UI wasn’t great and I wanted to get Building Crafter out. I developed the system while creating Building Crafter so it works very well. Depending on if I ever decide to release the zombie game, I may or may not sell it as an extension on the asset store.

It worked by mapping out the room and then randomly placing furniture around while doing pathfinding to make sure a player could get out. You can add this extension right into Building Crafter by adding a interface derived script into the Building Style on the room.

Short answer, maybe in a year or two. Nothing yet. Next plans are better roofs and better stairs.

Thanks for the interest!

Okay, thank you. Nonetheless great to work with.

Question about this tool before I buy I have seen a few like this, but I keep seeing people say this one is better…

Anyways, can you make a building, and then regenerate that one randomly to get a different design?

Also does this or will it have some kind of runtime, so you can make scenes in runtime, that change…

Oh wow, so sorry, I totally missed this question @recon0303 .

You can regenerate it, but the core of the building stays the same (walls, roofs etc). You can add different styles so the exterior looks different every time you generate it.

Runtime is slated for version 1.1 or beyond (currently just released 0.8.0). There has been one customer who was able to add their own GUI to allow runtime generation, but it does not work out of the box.

However, all the code does work at runtime and fairly quickly to. I just added a mode called Live View which shows the building as it is being built.

Version 0.8.0 is out! This is the first big update since Building Crafter was released initially.

This update includes a new window stretching mode where you can take any window mesh and stretch it into any space. Here is a gfycat of that.

https://gfycat.com/ImprobableTinyGoitered

I’ve also added a Live View, that shows the building as you build it in the editor. Here is a gfycat preview.

https://gfycat.com/FrequentSlowGecko

If you have any questions about the new update, don’t hesitate to ask!

Darn, I would of bought this, but the sale is over now, and I only buy stuff on sale. I will wait until the next sale, which i’m sure will be awhile. Oh well, thanks for the info.!

Actually Building Crafter hasn’t been on sale yet @recon0303 , so you didn’t miss out. Probably have a sale in a year or so once all the crazy goodies I want to add are in there.

Thanks for your interest!

Nm, I was thinking of the other one on the asset store… oops… haha Two of them where on sale a few weeks ago when I made this post…

1 Like

I work on mobile games, and want to create large and efficient cities ( no indoor buildings ). How fast and efficient is this tools for simple buildings and can textures be atlassed ?

Regards

Building Crafter can’t use textures which are atlassed. Almost every surface uses tiled textures. A 10 meter plain wall will only have two triangles in it. To allow non tiled textures, I would have to increase the number of triangles in a 10 meter wall to at least 6 tris so that there was no tiling. I made this decision to keep the tris low on buildings.

I intend to add a generation option that gives you high tri count building with no tiling to allow atlassing.

Very easy to create low poly exteriors though. The exteriors will have between 2 and 3 materials on the entire building’s exterior. Very low poly’s too.