Current progress on this example included in the BuildR asset. I’ve changed the colours so they are better suited to the style I’m aiming for. I’ve worked on getting the offsetting of buildings working correctly now. I also introduced frame geometry for wall section openings which made a lot of sense for these exposed timber designs.
We have buildings! The BuildR Carcassonne project has come alive and BuildR is now generating building mesh data for all the buildings. There is much to add and improve on, but I’m super happy with how it’s working. This example took less than 10 seconds to generate.
When you Debug.Log(myVector3); Unity will output it’s contents to the console with only a single decimal point. This might be fine 90% of the time however sometimes you want to see smaller vectors. The simplest method to get more decimals is making use of the Vector3 ToString override which allows you to specify a string formatting value so to get 5 decimal points, you would write Debug.Log(myVector3.toString(“F5”));
BuildR 2 allows users to create buildings within Unity without the need of external modelling programs. It has a quick and simple workflow to create buildings with ease. You can edit and preview everything within the Unity editor. Generate full interiors, curve facades and have overhanging sections. After 4 years, I’ve taken all the great feedback and knowledge, rebuilt this asset from the ground up, to create something that is flexible and powerful.
I’d like to officially announce that BuildR 2.x is in production!
I’m currently building a new version from the ground up. Over the years I’ve received some amazing feedback from you guys and while I’ve striven and successfully added a lot of your requests, there is a lot that can be added that was either just a lot of work or just impossible with the current BuildR code architecture.
BuildR started out as a way to generate simple buildings to fill your levels. I didn’t want to just create square buildings like some programs, I wanted complex shapes supported. Over the years – and it’s been over three already! – interiors, stairwells, custom windows, Substance textures, runtime generation, and many more things were added. But I’ve now reached the point where we need to start again, picking the best bits of BuildR 1.x and creating something that can support some of the things you’ve requested over the years.
Here is a list that I’m committed to doing. They may not all appear in 2.x but I currently have no reason to believe these won’t make the final build.
- Curved facades
- Interior generation including walls, doors
- Overhanging sections
- Overhanging roofs
- Deep support for custom geometry
- Strong support for procedural runtime generation
I’ve been on the store for over 5 years now and a Unity developer for much longer so there are many things I would like to implement for this. There will also be significantly tighter integration with the Unity editor, expect a lot more drag and dropping and simple ways to create buildings.
Price wise it’s probably going to be a $100 asset with an upgrade path from 1.x for about $10 though I’m still weighing all these options right now and this could change. ETA is maybe an early beta by the end of August for people who want to try it out and test it for me. Hit me up on my email with your BuildR invoice number if you’re interested.
The Update function in MonoBehaviour is where you’ll end up running a lot of you game code. However, it’s always worth asking yourself does the code need to be running every frame? Some parts you can get away with running a few times a second or event every few seconds. Every time you’re building something into Update, understand if this is where it must be.
Level of detail code is a very obvious one that you might only want to update every second or so. I’ll usually run InvokeRepeating for that.
If you’re switching between projects or planning to create a new one when starting Unity, it can take a while for it to warm up and allow you to do this. One way to open another project is to find a scene in that project and open Unity from that. Of course that’s not as quick as clicking on the Unity icon on your desktop (you do have a shortcut on your desktop right???) as you have to find a scene buried within the needed project.
If you press and hold Alt when you open Unity it will open the projects dialog instead of the last opened project. here you can select a different project or create a new one!
The first thing you need to do on a new project with modelers is to agree on a scale. This is especially important if there are multiple modelers on the project, you don’t want them all producing content at different scales! The best way to determine scale is to ask each modeler to produce a one unit cube as they see it. Bring the cube into Unity and compare it to the primitive Unity uses (Menu > GameObject > Create Other > Cube). The Unity cube is one unit squared and one unit is one meter.
Why is it important that we stick to Unity unit = 1 meter? For starters, it just makes sense right? When you code anything in your game, it’s easy to move something 1m/s.
Also, if there is any physics in your game, you’re going to need to stick to this concept. The physics simulation is based on 1 unit = 1 meter and any other scale is going to give you a physically weird world. Things will fall too quick or slow.
There’s going to be a point when you crash Unity or your built game. It might just be an instability issue, it might be a loop in your code that can go awry. Sometimes you have no idea and that’s when you need to dig through the log files.
All the information you need is on this page to find them.
The quickest way to the editor log is to use the button located top right in the Unity console window. You can also find things like build size breakdowns after you have built your project. It makes tracking down inappropriately massive assets in your build easy.
Log files also contain all your Debug.Log outputs which can be very useful if you’ve compiled and built your game and it’s now crashing on another machine.