Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Introducing Building Block Editor

Discussion in 'Assets and Asset Store' started by RicheyMB, Apr 23, 2015.

  1. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    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.
     
    Last edited: May 7, 2015
    boysenberry likes this.
  2. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    I could definitely use this in my current project. What are you thinking about charging for it?
     
  3. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    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.
     
    boysenberry likes this.
  4. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    That's a great price. I assume it works in Unity 5, correct?
     
    RicheyMB likes this.
  5. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Yes it's Unity 5.
     
  6. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    Awesome, I can't wait then :) 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.
     
  7. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    It's just been submitted so fingers crossed everything is OK.
     
    boysenberry likes this.
  8. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Building Block Editor has now been released on the Asset Store. You can find it here.
     
  9. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    We've just added a new video - an introduction to Building Blocks and Connectors using Building Block Editor.

     
  10. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    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.
     
  11. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Hi Rich, here are a few points following my purchase :)

    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 :)

    Edit:

    7. 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
     
    Last edited: May 25, 2015
    boysenberry likes this.
  12. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    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 :)
     
    boysenberry likes this.
  13. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    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!
     

    Attached Files:

  14. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Wow. Great to see what you're making :) Thanks.
     
  15. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    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!
     
  16. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Thanks for the update :) I've been testing some stuff out to add to an update and was looking at that issue.
     
  17. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    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
     
    Last edited: Jun 4, 2015
  18. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    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.
     
  19. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Brilliant thanks Rich :)
     
  20. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    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!
     
  21. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    I ended up setting the fences to free placing mode :)
     
  22. SweatyChair

    SweatyChair

    Joined:
    Feb 15, 2016
    Posts:
    140
    Looks like a great plugin, buying it for our GGJ2017...

    Seems it hasn't been maintaining for a year, plus the document and demo links are broken. Please fix it and keep the great work up!
     
    Last edited: Jan 20, 2017
  23. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Hey Sweaty Chair - thanks for the heads up on the documentation link, will update later today. It is included in the package but I included the link as I like to see docs before I purchase.

    There haven't been any updates for a while but that should change soon as I have an opportunity to use it in a new game.

    And of course any suggestions are always welcome :)
     
  24. SweatyChair

    SweatyChair

    Joined:
    Feb 15, 2016
    Posts:
    140
    Thank you @RicheyMB, it saved us a lot of time in GGJ, it's our game in 48 hrs:
    http://globalgamejam.org/2017/games/last-fast-craft-raft

    Just some bugs and suggestions I found using this plugin:


    Bugs:

    1. Delete block only check hover but didn’t check click, so blocks can still be deleted even locked.

    Change BlockSelector.cs line 157:
    if (currentOverBlock != null && !currentOverBlock.locked)


    2. You can use ”Move” to delete a block, even it’s locked. Just select the block to move then click “Add” block and it’s gone. Should not able to move if locked=true, or have another flag for it.

    Change SelectBlockMode.cs line 104:
    if (!currentBlock.locked)
    {

    blockSelector.SetNull(false);

    currentBlock.ExitHoverOverForEditMode();

    LevelEditorManager.Instance.EnterAddBlockForMovingMode(currentBlock);

    }




    Suggestions:

    1. Put some event on AddBlock, MoveBlock, DeleteBlock, so I can keep track of all blocks and calculate some values. (e.g. total weight)

    2. Easier custom able key control in Editor, such as changing the shift+click to rotate, etc.
     
  25. SweatyChair

    SweatyChair

    Joined:
    Feb 15, 2016
    Posts:
    140
    Suggestions #2:
    Player can create a floating roof (for example), by building a house first then delete all walls. Should have a check you can't delete a block which is the only connection from the initial block to other blocks.
     
  26. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Thanks for the suggestions, will be putting an update together with the fixes on the weekend a HUGE thanks for those.

    Also looking forward to trying out your game. Looks like fun :)
     
  27. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Quick update note. Have added the ability to only connect blocks that have matching tags.
     
    x99hats likes this.
  28. Eskia100

    Eskia100

    Joined:
    Oct 30, 2017
    Posts:
    2
    Hi Richie,
    I purchased your plugin and it is really great and has saved me tons of time in developing my game.
    Is there an explanation of how this new matching blocks functionality works. I tried the tag property but it is not clear to me how to create and use the tag and associate it to other connectors. I need it for my game as I need certain blocks to only connect with specific other blocks and not just to any connector.

    Also is it possible to make the connecting block appear in-game from the onset and the player to just drag it to connect to the other blocks. Basically in my game I have a finite group of shapes that must fit together at specific points accurately and they must be presented to the player in visible pieces and then the player can build the composite shape with them by dragging them around and rotating them as necessary.
    Also (sorry for verbosity) can rotation of blocks in-game be continuous rather than discrete 90 degrees turns?
     
  29. RicheyMB

    RicheyMB

    Joined:
    Jul 20, 2009
    Posts:
    111
    Hi Eskia100.

    The tag matching works using tags on the connector objects. So if you had an object with 2 connectors, 1 called 'connectorA' and the other 'connectorB' - you could only attach them 'connectorA' to 'connectorA' and 'connectorB' to 'connectorB'

    Having the blocks appear in game - I would place a dummy object in the scene that would create the building block version when clicked on. Basically replacing the button with an in-game object if that makes sense. Obviously that may not be what you envisage but it's my initial thought on getting that working.

    Allowing for the change in rotation, rather than 90 degrees is a good idea. Can you describe how you'd like it to work? Mouse movement or something like that? My initial thought is to allow you to plug your own value in somehow.
     
  30. Eskia100

    Eskia100

    Joined:
    Oct 30, 2017
    Posts:
    2
    Thank you RicheyMB for the prompt response. Yes now I have been able to use the tags properly and it works like a dream.
    I think your thoughts on the in-game objects make a lot of sense to me and I will try it out.
    With regard to rotation I was thinking that if I could have some control, as you suggest, of how I want to rotate the object? I may for example prefer the user to smoothly turn the object around to examine its sides.
    Thank you.
     
  31. PotatoApocalypse727

    PotatoApocalypse727

    Joined:
    Aug 26, 2019
    Posts:
    2
    I want it to be free
     
  32. PotatoApocalypse727

    PotatoApocalypse727

    Joined:
    Aug 26, 2019
    Posts:
    2
    w
    I don't think its a great price... I don't want to spend money on making games!!!
     
  33. cosmiicofficial

    cosmiicofficial

    Joined:
    Dec 1, 2019
    Posts:
    1
    This is made so you can pay to make games faster. You're wanting someone who put in the effort to make someone else's life easier free? You're living in a fantasy world kiddo.
     
    AdamGoodrich likes this.
  34. Harald_Heide

    Harald_Heide

    Joined:
    Jul 22, 2015
    Posts:
    81
    Bought the thing.
    Got a problem with downloading Doc and demo... Windows states web site not secure