A simple yet highly customisable tile mapping tool made for the Unity Engine.
About
Features
Things I Would Like
Help
Contributing
This tilemap system is a robust system that allows users to customise the tile types and brushes to enable them to be able to easily paint tiles in the Unity Editor as well as in realtime.
-
Scriptable tiles, allows custom behaviour. Including:
- SimpleTile
- RandomTile
- AutoTile
- TODO: AnimatedTile
- TODO: ConditionalTile
-
Tile Editor
- Scriptable tools, allows custom behaviour. Including:
- Pencil
- Brush
- Fill
- Eraser
- Eyedropper
- Line
- Rectangle
- Ellipse
- Proper Undo/Redo (@nickgirardo)
- Export/Import to ScriptableObject
- Scriptable tools, allows custom behaviour. Including:
-
Access the tilemap through a clean API
//Get tiles by using GetTileAt(Vector2 worldPosition); GetTileAt(int x, int y); //Set tiles by using SetTileAt(int x, int y, ScriptableTile to); //Invoke a callback to update tiles UpdateTileAt(int x, int y); UpdateTiles(); UpdateNeighbours(int x, int y); UpdateType(ScriptableTile type); [... and more]
-
Different rendering modes
- Single Sprites
- Multiple Quads
-
TODO: TileMapCollider2D (Use PolygonCollider2D underneath)
- Good documentation
- More rendering modes
- Single Quad
- Chunked Quads
- Infinite or limited tilemap size (only available on chunked quads?)
- Layers
- In-Game tilemap editor
Help (More on the wiki)
In the project window click on Create > Tilemap > Tiles and select a scriptable tile type to create. You can edit the tiles variables by just clicking on it, like anyother asset.
If you want to create your own scriptable tiles (Like the RandomTile or AutoTile) then click on Create > Tilemap > Create C# Tile Script and edit like anyother script. Alternatively create a C# class that inherits ScriptableTile
Yes. If you want to create your own tools (Like the Pencil or Eyedropper) then click on Create > Tilemap > Create C# Tool Script and edit like anyother script. Since all tools (even the included ones) inherit from ScriptableTool you can also simply create a C# class that inherits from ScriptableTool. Any class that inherits ScriptableTool will automatically be able to use in the Edit Mode tile editor, any public variables will also be exposed in the tile editor toolbar.
Feel free to contribute, I will accept pull requests if I think it will benefit the tool. If you want to help but are not sure with what have a look at the TODOs as well as the Things I Would Like sections for ideas.
Special thanks to the following for their contribution: