Introducing Building Block Editor

Building Block Editor is a framework for creating an in-game level editor that is simple to use, both for the development team and, more importantly, the player.

It’s now available on the asset store.

The basic principle is you create a set of building blocks that can be linked together with connectors. We like to think of each object as a ‘toy’. These building blocks can be anything you can imagine. Like simple minecraft-esque cubes, complex shapes, enemies with AI data - in fact anything you can dream up!

It’s also really flexable and re-usable so it can be used in many styles of game.

As well as full documentation and source code there’s also an example project to get you started.

We’re just in the final stages of preparation for the asset store. In the meantime…

Here’s a video of a level being created in the demo project…

You can download a build of the demo project here

You can also check out the documentation here

I hope you find our project interesting, and hopefully of use.

1 Like

I could definitely use this in my current project. What are you thinking about charging for it?

Glad it looks useful. If you’re doing any kind of level creation / saving work it will save you loads of time. We’re certainly finding it handy in our latest projects.

We’re pricing it at $30.

1 Like

That’s a great price. I assume it works in Unity 5, correct?

1 Like

Yes it’s Unity 5.

Awesome, I can’t wait then :slight_smile: I am integrating a whole bunch of new stuff right now, so it might be a couple weeks before I am ready for the next integration push; I’ll be scooping this right up then though.

It’s just been submitted so fingers crossed everything is OK.

1 Like

Building Block Editor has now been released on the Asset Store. You can find it here.

We’ve just added a new video - an introduction to Building Blocks and Connectors using Building Block Editor.

Version 1.1 has just been released. A few minor changes to remove a warning message and tidy up the menu on Unity’s recommendation.

If anyone has any suggestions we’d love to hear from you.

Hi Rich, here are a few points following my purchase :slight_smile:

  1. The option to toggle between mouse select and centre screen select would be good, at runtime (so you could offer a tick box for user preference for example).
  2. The sample blocks seem really large when you drop in a standard character controller (although I realise we should create our own blocks in any case).
  3. Sometimes when placing a block and positioning the mouse to the edge of a face, you can get a flicker where the new block shows but disappears, seems to be when the mouse is just off the positioning area. This might be due to me scaling the large cube to 0.5 scale.
  4. Being able to change materials on a block would be useful.
  5. There is an option to disable the current mode (levelEditorManager.DisableCurrentMode ()), but would be useful to have a method to reinstate the building mode with the previously selected block so you can “pause” building, run around and then reinstate building with the same block. This is something which could be coded by us but a method to do this automatically would simplify this process.
  6. Thinking of things which would be useful but not essential, would be good to have an inventory mechanism so you can store prefabs of building blocks in a list together with how many of each item you have in your “bag” so to speak.

Just wanted to add I’m chuffed to bits with this product :slight_smile:

Edit:

  1. Option on placing blocks “Can Edit” or “Can Delete”, specifically with the starting level blocks in mind so you can’t end up with no blocks to attach to
1 Like

Thanks for the suggestions @tapticc - I’ll address them in the same order;

  1. An option for ‘screen centre’ will be added. A checkbox as you suggested.

  2. Sample blocks are 1x1x1 which is what we are using as a scale, but we’ll look at adding some different sample shapes and sizes.

  3. I’ll look at what happens to the collision detection when the blocks are re-sized down.

  4. Being able to change the material with a ‘paintbrush’ would be cool. We’ll take a look into that.

  5. Another great idea. It’s also been suggested that when creating blocks holding a modifier key would switch to ‘delete’ mode to allow for quick removal of misplaced blocks.

  6. We always felt that it would be the users job to implement the UI, as it’s likely to be different for everyone. But having a default UI you could drop in to get you up and running is a great idea.

  7. You should be able to set the ‘locked’ flag of the BuildingBlock component to disable editing of deleting.

Thanks again for your suggestions. I’ll keep the thread updated with progress :slight_smile:

1 Like

Hi Rich

Thanks, didn’t pick up on #7 so I will use that to make sure starting blocks are locked.

I’ve added a screenshot of the multiplayer shooter builder to show you how your asset is being used!

Wow. Great to see what you’re making :slight_smile: Thanks.

Hi, just wanted to confirm that the flickering problem I have been having is due to raycasting from the UFPS camera, I was using the 3rd person camera offset and the position of the camera moves between the normal 2m position to the elevated 4m position each frame so the raycasting was pointing to different locations!

Thanks for the update :slight_smile: I’ve been testing some stuff out to add to an update and was looking at that issue.

Hi again, if I could add 1 more query to the list, I have managed to create a border so you can restrict block placing to within say a square area, but this prevents the player leaving the square as I used mesh colliders to detect overlapping with the edit block. How would you recommend setting up areas to build in but still allow a player controller to move in the non-building areas?

And another 1 more sorry! I am trying to hook up a fence section and have 2 connectors, one at each end. I want to disable the rotation but even though I unticked the option it still rotates when you right click during edit placement mode

You should place your player and the ‘restriction’ blocks on separate layers and use Unity’s physics collision matrix (here) to allow those layers to collide.

As long as you don’t use the layer being used by the Building Block Editor (which is 8 by default) this shouldn’t affect things.

I’m taking a look at the rotation issue now. Looks like a bug (sorry). The plan is to submit the current changes to Unity next week - if it’s a bug it’ll be fixed in that release.

Brilliant thanks Rich :slight_smile:

Hi, have you tried connecting blocks which are thin on one axis such as a fence?

I am finding the connector placement tricky as you need to put 3 connectors on each end in very close proximity to be able to put them in a + pattern and then adding a standard block on the end is tricky too.

If you get chance to try this and could offer any tips that would be great!