[RELEASED] Super Tilemap Editor

Thanks for the clarification. I was waiting for 2d collider support to be implemented before I bought the package. Glad to see it is coming out soon.

New version of Super Tilemap Editor v1.1 has been submitted with new features:

  • Support for 2D tile colliders

Instead of a check box option ā€œHas Collidersā€, there is a droplist with the collider type for the tilemap: None, 2D & 3D.
The Pixel Platform Demo scene has been changed to use 2D colliders, also the key prefab is using a rigidBody2D and a Box2D collider.
I have also changed the Special Launch Price from 15$ to 20$.
It should be available soon, after the validation process.

2542962--176711--tileColliderType.png

I noticed when making a tilemap you have the tile data auto slice the atlas by using grid sizes. Do you have any plans to make it where we can use the sprite editor and make an atlas from there and use that for tile map data.

Hi Cecilcruxis,

I didnā€™t have plans for that, but I have worked on it after seeing your suggestion and I have include the option to import the slicing settings from the spritesheet using the existent sliced sprites. So you can use the spritesheet sprites or slice it again changing the slicing setting in the tileset.
There is an updated version in the review process, but after the next version, I will submit other version with this new feature.
Thanks for you feedback :wink:

You sir should be made asset author of the year. As usually your support is AAA quality. Thank you that feature will quicken the process a lot.

By the way I am not sure if this is a bug or by design, but I cannot change the sorting layer of the tiles inside the map renderer.

Thanks for your commentary, I always try to do my best to support my customers :wink:
About the bug of sorting layer, I have been investigating and I missed something by mistake:
In line:
ā€œ\CreativeSpore\SuperTilemapEditor\Scripts\Tilemap\Editor\TilemapEditor.cs(194)ā€

m_tilemap.SortingLayerID = m_tilemap.SortingLayerID; //NOTE: this makes all chunks to be modified as well

Before that line, I forgot to apply the modified properties:

serializedObject.ApplyModifiedProperties();
m_tilemap.SortingLayerID = m_tilemap.SortingLayerID; //NOTE: this makes all chunks to be modified as well

Without this extra line, the tiles are updated using the previous sorting layer instead of the new sorting layer.
Sorry for this, I tested it carefully before release, but Itā€™s difficult not to miss something.
After adding this extra line, to fix a tilemap you need to select a different sorting layer first, then select again the original one, to force an update.

Anyway, itā€™s strange you cannot select any layer. Check if you have more than one SortingLayerAttribute in the code.
Maybe other asset has defined this attribute already and it works differently.

If you still have problems, contact by email to creativespore@gmail.com and send a test project so I can see what is wrong.

Sorry about the poor quality of the video my wifi mouse was dying during it.

I made a new project and only imported Super Tilemap Editor. I went to the line of code you pointed out to and tried it, but still had a slight issue with changing sorting layer.

Donā€™t worry about missing a line or two in code. It is still the best tilemap I have used so far.

I found the problem.
It was happening with sorting layers with negative id.
Download and overwrite this file to fix the issue:
SortingLayerPropertyDrawer.cs
It is located in ā€œ\CreativeSpore\SuperTilemapEditor\Scripts\Tilemap\Editorā€

New version of Super Tilemap Editor v1.1.0 released!

  • Added support for 2D tile colliders (remember to enable the colliders in tilemap section ā€œCollidersā€)
1 Like

Just thought I would let you know that script you sent fixed everything. Thank you for the help.

Great! Let me know if you find any other issue :wink:

Has anyone mentioned an instance where if you try to just drag and paint it randomly switches to the fill tool and fills the whole map instead of just painting one tile at a time. If I drag right away it tries to autofill, but if I click on a tile that is already there then move the painter off the tile it paints normally.

Ignore this the 1.1.1 patch seemed to fix it.

does each tile have its own collision? is there a way to ā€œbakeā€ the tile collisions into one poly collision like Tiled2Unity does?

By the looks of it the coliders they form one giant collider box. Here is an image so you can see.

2557710--178020--Capture.PNG

1 Like

Could you add that Feature that everybody can build in altas in Unity like 2dtoolkit does it ?

You define a collision per tile. But the colliders are optimized to make a continuous collider and remove useless colliders when they are inside a blocked area.
You can select in the tilemap if the colliders should be 3D ( a mesh collider ) or 2D ( using Edge Colliders )
In this gif you can see the process of creating the colliders ( the blue lines ) in real time and according to neighbors tile colliders.
2559486--178203--collidersAutotiling.gif

1 Like

I had in mind to create a wizard for creating a tile atlas from other tile atlases.
Eventually I will add more options to create your own tilemaps, add pixel padding, etc, but I cannot asure you when it will be.

Excellent, will buy!

I didnā€™t notice these in the docs, so correct me if Iā€™m missing them somewhere, but Iā€™ve got a few feature requests:

  • When a tile is selected, allow us to hold CTRL down and select other tiles (for example, so we could make a + sign of tiles and paint them, or varying shapes)
  • A ā€˜stampā€™ brush, where we can select a range of tiles as a pre-defined stamp to place on the map (a regular drag-drop rectangle, or combined with request #1 above) - As well as
  • Quick creation of brushes, ala highlight a range (as above), click a + button, and then thereā€™s a stamp brush in the brush palette (with a popup to ask for a name and place to save I guess).
  • With a ā€˜stampā€™ brush, factory prefabs would be useful tool. Perhaps instead of two separate brushes, the factory brush could be replaced by the more customizable stamp brush, and then a boolean to toggle the factory options. Basically a much more flexible stamp brush.
  • When erasing tiles, if a whole row or column is removed, shrink the tilemap (just the opposite of growing the tilemap when new tiles are added out-of-range)
  • Built-in methods such as tile ā†’ world pos, world pos ā†’ tile, etc
  • Allow drag-drop reordering of the brushes. Right now, as soon as you mouse-down then it selects the asset file. (Maybe a bug, as listed below, with Unity 5.4 beta)
  • Iā€™m just playing around with it right now, but using your rogue-like as an example, is there an easy way to set a ā€˜brushā€™ as a tile to paint?

i.e, instead of ā€˜uint tileWater = (8 << 16);ā€™, we could have a public field for a brush or tile, and then we can set a specific brush or tile that way to be passed through to SetTileData

I just got it today, but so far this is looking pretty great!

Issues

Regarding this bug, Iā€™m having this issue using 1.1.1. Anytime I try to click + drag it counts as a double-click and fills the map. This might be why I canā€™t rearrange the brush palette actually, because when I drag, it selects the asset.

Iā€™m running Unity 5.4b10, so maybe thatā€™s the issue.

Another problem, when Iā€™m creating a brush and I select the empty tile slot, to select the tile. If I mouse-over the brushes then it auto selects the brush (and the asset file), losing the newly created brush.