Search Feedback

343
votes
Started

Built-in Tilemap editor

2D

-

-

I would like to see a built-in tilemap editor for creating 2D levels.
This would make for easier management of level-building, reduce memory overhead, and possibly even reduce draw calls if it is built for that.

Ideal functionality:
Creating a tilemap would produce a single tilemap object, which could be universally scaled, moved, have a script applied to it, etc. Multiple tilemaps could be added into any scene, so they could be set up to be different layers, or used in different sections, etc. A user could create a large sprawling tilemap for a whole level, or a set of smaller tilemaps, or even just a tilemap or two in a few desired locations. The tilemap might work best as a new type of renderer, inheriting a few attributes of the sprite renderer, (most notably the "order in layer" attribute.)

The editing functionality should be a method of selecting a brush/tool and paint in a desired effect, for example filling in with a particular image. Any attribute a tile can posses should be able to be painted into the tilemap (even if there is not actual tile graphic on that space.) Painting in multiple attributes would be a good feature to have as well. An option to select an individual tile and change individual attributes should also exist.

When editing a tilemap, its dimensions should be arbitrary and altered on-the-fly; the user should not have to enter a specific size for the tilemap but should just be able to add tiles to expand the tilemap to its maximum capacity. There should be no problems with adding a new tile above, below, or to either side of the existing tiles.

Any individual tile can be flipped in x or y, rotated in 90 degree increments, and have its color set. Ideally capacity should also be given to allow any individual tile to scroll/pan. Possibly include the functionality to have any individual tile set its order in layer to a value other than that of the whole tilemap, but that same functionality can also be achieved by using multiple tilemaps so it is not completely necessary.

Each tile can set its own collision. This is one of the most important features of having a tilemap. Users can set a simple solid/non-solid variable for each tile, or choose from a user-created array of collision models. (This would enable slopes and partial solidity.)

Individual custom properties should be able to be applied to individual tiles, accessible via scripts. This is very important to enable a game to respond to special tiles and triggers.

When editing a tilemap, it would be ideal to allow the user to create pre-set tiles with all desired attributes (i.e. setting a particular image to use a particular collision.) Then the user can paint in these pre-set tiles as desired. Ideally the preset tiles should be contained in a separate file so that multiple tilemaps can use the same tileset. For convenience and organization it may be best to allow creation of multiple tileset files. They should have the same functionality as prefabs in that an individual tile can be changed from its prefab form, and all the existing "pre-fabbed" tiles can be adjusted by changing the prefab master. For convenience in the editor it might work best to have a tile sever its connection to the prefab if any attribute is altered.
However this functionality may not be as needed if the regular brush can easily select multiple values to paint into a map.

It would be most ideal if an auto-adjustment option were included with the editor that would automatically fit moderately-complex designs together; for example if a user create a set of tiles that has edges and corners, the user should be able to paint in the base tile and have the adjacent tiles change to use those edge tiles if they are on an edge, randomly select a variation tile if available, and/or fit a pattern of tiles.

Ideally, capacity should be given to allow dynamic alteration of tilemaps in-game. As it would be a complicated process, I have no problem with holding off on that one for a future update. A dynamic tilemap might even be a completely separate entity.

Response avatar

RichardFine

Jun 24, 2015

Pre-alpha testing as commented, and listed in the roadmap as in development.

Comments (18)

  1. 2f715ea71ac6cf2dd48d5bfa08cc6fd8?d=mm

    Pietze

    Mar 22, 2017 13:37

    I wish this would be finished already :)

  2. A23bd8379e597f843c35a3e93e4290e9?d=mm

    jc-drile77

    Jun 28, 2016 14:36

  3. Ac7bd076b188bae0fd39e6a29b7958e5?d=mm

    ptpaterson

    Jun 16, 2016 17:43

    Rather than have each tile contain it's own collision component, would performance be enhanced by using information in the tiles and building up a larger single collision component? Maybe an edge collider could be recognized next to the edge collider in an adjacent tile, and they could be combined (or new one made to replace all connecting lines). Or maybe instead of having a proper collider in each tile, have some set of control points that would ultimately define the larger single collider.

  4. 01ffd4a01bf7531e001cebf4f2527b28?d=mm

    ToolsForGame

    May 05, 2016 14:42

    This would be amazing tool. Hope to have it soon!

  5. 8b430271f98ae03e7c3196d77819279e?d=mm

    Wharp

    Feb 28, 2016 02:11

    This would be quite useful.

  6. 933b4e564d86a4180d8362a1b5a0582d?d=mm

    SabinoP_

    Jan 25, 2016 13:48

    yes, please!

  7. 95d85c9045d72f7f66d1cf5700c4745a?d=mm

    ababab5

    Nov 05, 2015 10:17

    Hi,

    Have the possibility to have multiple variant of the same brush (ie. multiple prefab variation).

  8. 3e0c67094d7e80674a2b243c39eaf5d4?d=mm

    zgszft

    Nov 03, 2015 23:40

    If can support 3D tilemap, it will be amazing

  9. 7507d3c1da61ecff23e474cfe85d5239?d=mm

    iSasFTW

    Oct 28, 2015 13:43

    Tiles that can be animated separately. I don't know if that has been suggested already. Also layers that can be below or above the player.

  10. B2027a6098345c03ba36ff92f27b48b5?d=mm

    jsnetors

    Oct 09, 2015 05:29

    If I could hand my two cents:

    -An autotile preview window with all possible junctions/turns/edges updated in real time for easy editing.

    -A built-in pixel perfect camera mode.

Your opinion counts

Help us make things better. Share your great idea for improving Unity or vote for other people’s.

Log in to post a new idea

Categories

All

(8676)

2D

(211)

Ads

(34)

AI & Navigation

(55)

Analytics

(85)

Animation

(288)

Asset Store

(202)

Assets

(479)

Audio

(149)

Cloud Build

(92)

Collaborate

(27)

Docs & Tutorials

(186)

Editor

(2009)

Everyplay

(13)

Game Performance Reporting

(10)

General

(788)

Graphics

(729)

GUI

(346)

Input

(140)

Licensing

(72)

Networking

(151)

Physics

(319)

Platforms

(397)

Profiling & Optimization

(66)

Runtime

(151)

Scripting

(972)

Terrain

(148)

WebGL

(128)