
Snap into action with the GridBuilding Plugin—your complete 2D grid-based building toolkit for Godot 4! Designed for TileMapLayer grids, it's perfect for crafting farms, bases, cities, or any grid-based game without writing the building system from scratch.
🎬Complete Tutorial Series - Learn grid building step-by-step!
📹Project Updates - See what's new in each version
Supports: Top-down, isometric, side-view, or custom perspectives
addons/grid_buildingtemplates/systems.tscn into your scenepositioner_stack.tscn to your scenepacked_scene to your building scenebuild_mode,rotate_left,rotate_right,flip_horizontal,flip_vertical,demolish,place,cancelWatch the video tutorials for detailed walkthrough!
Q: What Godot version do I need?
A: Godot 4.4.0 or newer (tested on 4.4.0, 4.4.1, 4.5 stable). Uses TileMapLayer, so older versions won't work.
Q: Does it work with isometric grids?
A: Yes! Includes isometric demo with coordinate transformations and collision detection.
Q: Can I move or demolish placed objects?
A: Yes, the ManipulationSystem handles move, rotate, flip, and demolish.
Q: Preview disappears over UI?
A: Set UI Control nodes' Mouse → Filter to "Pass", or configureui_mouse_handled in settings.
Q: Can I add custom placement rules?
A: Yes, extendPlacementRule and implement thevalidate_placement() method. Add to yourPlaceable or global rules.Full guide here.
Q: Will this work with my existing project?
A: Yes, as long as you're using TileMapLayer. The plugin won't interfere with existing code.
Q: Does it support keyboard input?
A: Yes! Enableenable_keyboard_input in GridTargetingSettings, then assign input actions in Project Settings → InputMap for the navigation features. Movement will be handled automatically by GridPositioner2D.
Q: How do I get help?
A: Check README.md for Discord invite. Post in support channel with screenshots/logs.
1540 automated tests running at 100% pass rate. This means common edge cases and bugs are already caught and fixed.
350+ documentation pages atgridbuilding.pages.dev. If you get stuck, there's probably a guide for it. Check out theGuides section orAPI Reference.
Regular updates, responsive Discord community, and devlog showing ongoing development.
Current Version: 5.0.0
Release Date: October 6, 2025
Godot Compatibility: 4.4.0, 4.4.1, 4.5+ (stable)
Change History:View Full Devlog
Get building with GridBuilding v5.0.0—download now and add grid-based building to your Godot 4 game!
Have questions? Leave a comment!
| Status | In development |
| Category | Assets |
| Rating | Rated 5.0 out of 5 stars (5 total ratings) |
| Author | Chris' Tutorials |
| Made with | Godot |
| Tags | 2D,City Builder,Godot,godot4,Metroidvania,Side Scroller,Tilemap,Top-Down,User Interface (UI) |
| Links | Patreon,Kofi |
In order to download this asset pack you must purchase it at or above the minimum price of $40 USD. You will get access to the following files:
Log in with itch.io to leave a comment.
Halloween mid octoberhttps://itch.io/s/160778/halloween-saleI also have all my content up onPatreon andKo-fi
Big update for Grid Building plugin coming soon. In final polishing phases now.
Heres a temporary linkhttps://discord.gg/HNF5eHN9Message me on it, thanks.
I have it working on 4.3 stable. I will reupload the demo just encase there is some small difference that's causing you problems. Did you open with 4.3 after getting the warnings about 4.4? I have been editing in 4.4 but I don't believe I added any specific code that should not be 4.3 compatible like typed dictionaries.
Edit: I reuploaded Grid Building v4.2.0 ~ All Packages (Requires Godot 4.3+)

I get these error messages with both Godot 4.3 and 4.4 (fresh downloads each)
https://imgur.com/a/IuRgnhZ
Currently no but getting the tile or object under cursor from mouse / press position is doable. Are you looking more to select the tile or the scene objects directly?
Node2Ds can implement mouse_entered() and mouse_exited() signals as a way to trigger things like changing color to show hover overs (or communicate with a UI to show info about the hovered node).
I could see how a selection mode would be helpful for the GridBuilder plugin itself though to show hover overs. Things like RPG statistics would need to be extended by game specific code though since there's no way to know anything but basic node information inside the plugin (Could just be as simple as a custom display UI during selection or hover)
Let me know what you think - if it should be more like selecting the tile and getting a list of objects on it or just showing info of the first object under the mouse cursor. I will add something like this to the list of requested features.
Hey Chris, Can you help me with a strange issue that I can't seem to solve? I downloaded the "grid_building_demo_project_4.0.1 (Godot 4.3)" and put "grid_building-4.0.3" and "grid_building_inventory-4.0.1" in the right addon folders to test the demos (specifically the isometric one). I activate the plugins and everything works perfectly except for the saving process. When I click the save button I get an error from the debugger that says "Invalid call to function 'save' in base 'Node (PlaceableInstance)'. Expected 1 arguments. So I go and check and the save method wants a "p_include_uid" as input boolean input, so I don't know how should it work. I didn't modify anything this is the stock code downloaded from Ithc.io.
Edit: I fixed it by removing the input in the save() function inside PlaceableInstance, but I think this needs to be fixed
Another thing you and anyone else having the issue could try is going to placeable_instance.gd and editing the save function from
```func save(p_include_uid : bool) -> Dictionary:```
to
func save(p_include_uid : bool = false) -> Dictionary:
So it has a default value temporarily. This seems to be a demo specific bug but shouldn't effect regular plugin use. I will be sure this is patched for the next release which is soon.
Here's the main updated setup video for 4.0. Definitely back your project up before upgrading. 4.0 has several renamed and upgraded resources so you'll see some empty properties in the node inspectors (BuildingState instead of BuildingSignalBus for instance). Placeables themselves are mostly the same. There is also an updated setup guide in the README.md let me know if you have any issues (Discord invite link also in the README)
Hey Chris! I was wondering your plans for the future with the TileMap being deprecated in favor of TileMapLayer. Will you update the plugin to use the new Node or only support current and older versions of Godot? Also, is it possible to stack objects on Isometric mode? If not, will that be added in the future?
I plan to implement for TileMapLayer and keep backwards compatibility for TileMap if possible (have to experiment more with #region for whether that can be in the same plug-in version)
There's not direct object stacking in isometric ATM. I can add it to my requested features list though. You're looking for multiple objects to occupy the same square while visually being stacked on top of each other right? (Disgaea turn based tactics comes to mind where you could pick up allies or enemies) If you have an example link, that would help - thanks.
That's lovely!
By stacking I mean something similar toUnpacking, where you can place a 2x3 table, and then on top of it you can stack different smaller tiles like decorations or a TV. But yes Disgaea is also a good example of this from what I can see. I'll try to implement it with the current version of this plugin but having it builtin would be extremely useful! I'll link two videos that I came accross before finding your plugin, maybe they will help if you decide to implement this in the future :)
Not yet but I will be working on it soon for an upcoming release update. Right now I'm working on making saving / loading with instanced scenes easier but removing and moving objects comes right after that. I will have 4.0 out soon for that and several other features and then 4.1 should be moving / removing after that. I'd like to put in the ability to recover resources spent to build in demolition as well.
Watch for updates @ https://chris-tutorials.itch.io/grid-building-godot/devlog. Should be posting soon.
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$
UPDATE:
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.
Ping me on discord here and I'll help sort it out. Screenshots will help, thanks. https://discord.gg/SEueCPFN
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.
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!