Grid Placement System
Grid Placement System is designed to be extremely customizable and with ease of use at its core.
No object configuration needed. Pass an object to the grid and it just works! When the grid manager is passed an object to be placed into the grid it handles all of the calculations to determine how many grid cells it takes up.
Customize all aspects of the grid. Settings include width and height, amount of cells, visualization of grid cells, visualization of occupied cells, the object's alignment within its cell(s), the visual feedback when placing an item and more!
Don't like square grid cells? You can change the sprite to show any shape you like, a circle, a triangle, a dot?
Easy to use. The grid settings provide one place to customize everything to do with the grid.
Custom editor tools. Visualize the modifications you make to the grid settings in real-time without entering play mode.
Suitable for a wide range of genres. Examples include: tower defense, city builders, simulation, and anything where the player is required to place an item onto a grid.
The showcase images use 3D models from a 3rd party low poly asset pack. These models are not included in this package.
Release Notes
2.2.0
- Added: New sizing options when configuring the grid settings
2.1.1
- Fixed: Issue where the grid settings scriptable object would not always persist grid sizing values after closing the editor
2.1.0
- Added: Complete demo scene.
- Added: Setting option to not use the placeable material
- Added: Setting option to not use the unplaceable material
2.0.1
- Fixed: Issue where grid event camera was not being used to fire raycasts
- Fixed: Issue where an error would occur if the move grid function was called before entering placement mode.
2.0.0 - Contains breaking changes
- Included all source code instead of dll file.
- Added: Functionality to find nearby objects
- Added: Functionality to programmatically check if an object can be placed at a specific grid cell.
1.4.0
- Added: Ability to set a custom size for each object regardless of colliders.
- Added: Ability to set a height for each object being added to the grid.
- Updated: Improved the detection of the pointer above UI when checking for grid input.
1.3.1
- Added: Ability to enable and disable the grid input detection through the grid manager.
- Fixed: Bug relating to raycasts going through the UI on the demo scene.
1.3.0
- Added: Ability to specify the grid cell an object is initially placed at when entering placement mode
- Added: Ability to specify the world position an object is initially placed at when entering placement mode
- Added: Event which emits the current grid cell an object is allocated when their position is updated.
- Added: WebGL Support
- Fixed: Issue where objects were not spawning in the expected position.
1.2.0
- Added: Ability to set initial grid rotation.
- Added: Ability to change the grid's rotation at runtime.
- Added: Ability to change the grid's position at runtime.
- Added: Option to toggle if placed objects are parented to the grid automatically.
- Updated: Grid Save Manager example class now stores local rotation.
1.1.1
- Fixed: Issue where the root collider's offset was not calculated correctly.
- Fixed: Issue where placement tiles would sometimes be offset when spawned during paint mode.
1.1.0
- Added: Custom position offsets to grid objects while placing + Sample Scene.
- Added: Custom validation to grid objects being placed + Sample Scene.
- Fixed: GetMouseDown not firing in the Paint Mode sample scene for Unity 2021 LTS.
1.0.0
- Grid Placement System v1.0.0 initial release.