Grid Building Plugin provides a BuildingSystem for placing objects in your game scenes through snapping to tile map grids during gameplay. You select BuildingRules that should apply to building objects in your game and can even set individual rules for each placeable object such as resources that must be spent in order to instance the object in your scenes. Now the build system supports rotating, flipping, stackable objects, and press and hold multi-object placement for your 2D Godot Top Down and Platformer games.

Video Tutorials & Project Updates

Tutorials Playlist

Project updates playlist

What this plugin does

  • Creates a visual way of letting players choose where to place Godot scene objects into the game world with a visual preview and grid targeting tools.
  • The targeting system snaps to the TileMap grid which means objects being placed will snap onto those grid positions.
  • NEW: You can rotate, flip, stack, and drag multi-build your placeable objects in building mode.
  • Lets you define the rules for when and how an object can be placed into the game world. Before an object can be placed, it must meet each building rule's requirements. You can also define your own rules by inheriting from the BuildingRule or TileCheckRule base classes.
  • Provides optional base inventory (ItemContainer) class that can be used with the include SpendMaterialsRule for subtracting material resources from a user's inventory. A SpendMaterialsRuleGeneric is also included if you want to write your own inventory class that implements the needed methods (Inherit VirtualItemContainer to make this easy)
  • A working demo you can use as reference or base for your own game scenes. Feel free to reuse any UI components used in the demo.


What game types does this plugin work with?

  • Top Down 2D Godot Games where levels are built with TileMaps
  • Metroidvania / Sidescrolling Games made with TileMaps
  • Isometric 2D Tilemap Games (New to 3.2.0)
  • Works with all collision shape 2Ds and collision polygon 2Ds for generating placement collision shapes against the grid

You can read more about the details of using this plugin in the project readme file or watch my video tutorials (highly recommended)

How to Use

  1. Save and backup your project before upgrading. Disable the plugin in Project -> Project Settings -> Plugins if enabled. Remove any old grid_builder plugin folder & contents if it exists. Download and add the .zip contents to your project in the directory addons/grid_building.
  2. Turn on the plugin in Project Settings -> Plugins tab.
  3. Add a GridTargetingSystem node to your main gameplay scene, either in the editor scene hierarchy or by instantiating the object
  4. Add a BuildingSystem node to your main gameplay scene, either in the editor scene hierarchy or by instantiating the object
  5. Add the grid_positioner.tscn scene to your node 2d game world parent. This should be the parent node where your game tilemap is a child of.
  6. Assign external dependencies to each system under the External Dependencies property group. You can do this either in the inspector or as your level nodes for targeting objects like the build system placer.
  7. To trigger build mode, you call set_buildable_preview on the BuildingSystem. You need to define a placeable resource file which holds the settings for placing a scene object into the game.
  8. To make the system place the object into the game world, press the action(s) defined in the BuildingSystem for object placement. You set these up in the Godot project settings and then add the string names of those actions in the BuildingSystem inspector. By default ui_accept is used which you could test by pressing enter in a new project.
  9. To limit where and when a placeable scene can be instantiated, you must use set a BuildingRule. Add base BuildingRules you want to include for all Placeable resources to the BuildingSystem and individual Placeable specific rules to each Placeable resource file that needs them. You can read more below about build rules and what the default rules do.
  10. For your RuleCheckIndicator, you can start with the provided templates (search "rule_check_indicator" in the project to find them). Right click them to create an inherited scene and save it your own project. You only need one indicator template set in the building system now. You can set the default textures in the template scene, but override failing textures for each rule as well. (If you want a yellow tile to show as a special case for invalid tile checks for instance)
StatusIn development
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorChris' Tutorials
Made withGodot
Tags2D, City Builder, Godot, godot4, Metroidvania, Side Scroller, Tilemap, Top-Down, User Interface (UI)

Purchase

Get this asset pack and 2 more for $50.00 USD
View bundle
Buy Now
On Sale!
10% Off
$30.00 $27.00 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $27 USD. You will get access to the following files:

grid_building-3.2.2.zip 72 kB
grid_building_inventory-3.2.0.zip 11 kB
GB3_2_0_web.zip 10 MB
grid_building_demo_project_3.2.1.zip 3 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

hey i just got the plugin and was checking out the demo but i seems to have dependency issues with the grid_building_gut_testing addon and i can't find anywhere to get it, and the collision checks for the top-down demo does not work which might be because of the dependency issues

(1 edit)

Have the same issues. Not sure if I even do the first step correctly. Unfortunately the youtube video doesnt work anymore. I hope I didnt lose $30 :/

well the plugin runs without that specific dependency, and if you have the same issue with the demo running into a error when starting its because the node PlaceableSelectionUI under canvas layer have a array in its properties called placeables that has a empty slot, if you remove that slot you can run the demo and place things, it just don't check placement rules for some reason. My guess is that Chris restructured some stuff and it broke the top-down demo and didn't notice, probably a easy fix so i wouldn't worry about losing out 30$

(4 edits)

UPDATE:

  • Removed the null placeable reference in top down demo. Should work again. Updated demo uploaded grid_building_demo_project_3.2.1
  • Added a test to check demos for null placeable references on the UI.
  • Moved testing folder from addons/grid_builder_gut_testing to test for clarity. These tests validate that the plugin should run correctly and shouldn't be needed in your actual project (but feel free to copy them in and run them with Godot Unit Test (GUT) if you know how)

The gut testing 'addon' is just for running unit tests within the demo project to test the real addon's functionality (I probably will just move this to a folder called test in the demo project in the future) I will check the mentioned collision problems and update the empty / null placeable in the demo asap.

(+1)

tried it and it works now, thanks for the quick response

(1 edit)

I tried to combine it with project in this video but it doesnt work for me.

Ping me on discord here and I'll help sort it out. Screenshots will help, thanks. https://discord.gg/SEueCPFN

Hey Chris do you have any plans to allow for moving after placing?

(+1)

Good idea for a feature. I will add it to my list - something I can implement at the same time I do object deletion / destroy. Working on finishing up testing for isometric mode atm.

My game is isometric 2D, can this plugin be used? Or after I pay the plug-in, you can provide me with modification methods

(1 edit)

Let me make an isometric test scene and get back to you on it since I haven't made a setup for isometric yet. At the very least, the rule check shape will need to be rotated the isometric angle but let me see if it's as simple as that or if some functions will need to be modded for isometric.

Hi Chris, I bought this plugin which is great. I want to ask the same question: can this plugin be used for isometric 2D? Could you make an example scene to show how to use it? I want to switch to isometric 2D but dunno how to deal with this plugin 0.0

I'm currently writing tests for an isometric demo. I had to add support for skew which is still only in my dev version (since isometric use irregularly shaped rectangles). Currently getting collisions to work nicely. If all goes well it will be the next update and there will be a guide on how to use it with isometric.

Just added the new version that supports isometric. You'll want to take the rule_check_indicator_isometric.tscn and adjust it's size to your tile_map. You can check the demo for how to set it up for now and I'll be making a Isometric video tutorial.

I added Isometric support. For now see the demo but I'll make a video tutorial for setting up Isometric mode.

Hi ! I just bought youre plugin, it's awesome ! I follow youre tutorial too and i see i don't have the 'TopDown' folder inside the 'demo' folder, is it normal or did i do something wrong ?

(2 edits)

The demo is now in a secondary download grid_building_inventory-3.1.0.zip. I didn't have the latest demo up there when you posted the question sorry about that! The demos are separate from the main package to reduce clutter from the plugin (and those people's main game projects). Just posted the update to the plugin so I recommend updating while you're at it. I'll have a new tutorial out soon. Let me know if you have any further questions. Thanks!