Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Super Tilemap Editor

Discussion in 'Assets and Asset Store' started by CreativeSpore, Feb 21, 2016.

  1. Ryan-Hayle

    Ryan-Hayle

    Joined:
    Feb 16, 2014
    Posts:
    142
    Could someone tell me how to select multiple tiles for painting (without rectangle selecting)?

    Thanks
     
  2. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Right now it is no possible to select tiles without a rectangle. You can paint the tiles in a tilemap, leaving empty tiles if you want and then select them a paint with the selection or create a tile view to use it later.
     
  3. ryanzec

    ryanzec

    Joined:
    Jun 10, 2008
    Posts:
    696
    @CreativeSpore So that demo scene did get me to to the idea of displaying the map around the player (which the camera is always attached to) however I am still running into performance issue and not sure how to resolve them.

    Basically what I am doing is generating the tile ids for each tile upfront and then I have this method that I run:

    Code (CSharp):
    1.  
    2. private void DrawMap()
    3. {
    4.    int redrawCount = 0;
    5.    int playerX = Mathf.RoundToInt(player.transform.position.x);
    6.    int playerY = Mathf.RoundToInt(player.transform.position.y);
    7.    int startX = playerX - 30;
    8.    int stopX = playerX + 30;
    9.    int startY = playerY- 30;
    10.    int stopY = playerY + 30;
    11.    
    12.    for (int x = startX; x < stopX; x += 1)
    13.    {
    14.       for (int y = startY; y < stopY; y += 1)
    15.       {
    16.          bool tileIsOutOfRange = x < (playerX - 25) || x > (playerX + 25) || y < (playerY - 25) || y > (playerY + 25);
    17.  
    18.          // NOTE: if the tile is inactive and out of range, no need to update as it would not change
    19.          if (tileIsOutOfRange && !groundMapActiveData[x][y])
    20.          {
    21.             continue;
    22.          }
    23.  
    24.          // NOTE: if the tile is active and not out of range, no need to update as it would not change
    25.          if (!tileIsOutOfRange && groundMapActiveData[x][y])
    26.          {
    27.             continue;
    28.          }
    29.  
    30.          if (tileIsOutOfRange)
    31.          {
    32.             groundMapActiveData[x][y] = false;
    33.             ground.SetTileData(x, y, 0xFFFFFFFF);
    34.             redrawCount += 1;
    35.          }
    36.          else if (groundMapTileData[x][y] == waterTile)
    37.          {
    38.             groundMapActiveData[x][y] = true;
    39.             ground.SetTileData(x, y, groundMapTileData[x][y], waterBrushId);
    40.             redrawCount += 1;
    41.          }
    42.          else if (groundMapTileData[x][y] == grassTile)
    43.          {
    44.             groundMapActiveData[x][y] = true;
    45.             ground.SetTileData(x, y, groundMapTileData[x][y], grassBrushId);
    46.             redrawCount += 1;
    47.          }
    48.          else if (groundMapTileData[x][y] == beachTile)
    49.          {
    50.             groundMapActiveData[x][y] = true;
    51.             ground.SetTileData(x, y, groundMapTileData[x][y], beachBrushId);
    52.             redrawCount += 1;
    53.          }
    54.          else
    55.          {
    56.             groundMapActiveData[x][y] = true;
    57.             ground.SetTileData(x, y, groundMapTileData[x][y], mountainBrushId);
    58.             redrawCount += 1;
    59.          }
    60.       }
    61.    }
    62.  
    63.    if (redrawCount > 0)
    64.    {
    65.       ground.UpdateMesh();
    66.    }
    67. }
    68.  
    The code keeps track of what tiles are active and which ones are not and will only redrawn the tiles that are needed to be redrawn.

    I call this method every .2 seconds and while that greatly improves the performance on the initial load of the map, I am still running into issues when the user moves of jankyness as the new tiles are drawn or undrawn. The jankyness is happening here where I am only ever drawing 202 tiles at maximum at any given time. I am not sure if there is a more performant way of doing this in general or specifically with this library.
     
  4. Sharlatan

    Sharlatan

    Joined:
    Jul 23, 2013
    Posts:
    111
    @CreativeSpore
    I really hope my questions weren't already asked but I hope you understand that I don't have the time to read through all 16 pages of this thread.

    1. I'm a bit confused in regards as to what would be the right tool for me. I'm going to try my hand at a "Uncharted Water: New Horizons"-esque game. You know, mainly some typical bird's-eye view stuff:





    Now I'm really wondering what would be the right tool for me. You created "Super Tilemap Editor" and "RPG Map Editor" and both look like they would do the job for me. Do you have any pointers as to how to decide which one would be more suitable?

    2. Your RPG Map Editor mentions the ability to export the map as XML. Can the Super Tilemap Editor do that too? I imagine it could become handy e.g. when creating some custom lighting, to have this kind of map data access.

    3. Since the over world would probably be quiet big, I'd have to make a *huge* tile map (or be able to use more than one at once but the former would be preferable) and always only load in one part at a time and (un)load further data when the player moves. Would both products support that? Is one more suited for the task than the other?

    4. Is there any way to add a kind of metadata to a single tile or region of the map? This one is a bit hard to explain but e.g. I'm thinking about adding weather and water current information to some tiles or areas so I know which way (and how strong) the winds and water currents would most likely be in certain parts of the world.

    5. Are both tools suited for path finding? I'm asking because it's mentioned on the RPG Map Editor page but not on the Super Tile Map Editor page.

    Preferably I'd use Unity's NavMesh solution but I could also do with writing my own path finding code as long as I can query the map data in a suitable way. Speaking of Unity's solution. And if Unity's solution works, do you see any problems that would prevent generating the NavMesh data at runtime? This would probably be a must, if I only stream parts of the world. Since Unity seems to support runtime baking since 5.6, I'd probably only need a convenient way to a mesh that represents (non) walkable tiles of the currently loaded map part.

    Thank you very much!
     
  5. ryanzec

    ryanzec

    Joined:
    Jun 10, 2008
    Posts:
    696
    @CreativeSpore In case it helps this issue seems to happen when I have even an empty prefab for all the tiles (adding the scripts / 2d box collider only make it slightly more laggy), here is a profiler output (with the prefab with the scripts / collider) show that the bulk of the lag is caused by the Tilemap.Update:

    Screen Shot 2017-07-02 at 3.49.10 PM.png

    Not really sure how to read this since adding up all the time ms don't come close to 98.98 (assume all calls take up the time ms) about assuming the each call takes up the time ms, that would equal something way over 98.98 (never used the profiler before.
     
  6. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Using prefabs for the tiles could affect the performance, because you need instantiate and destroy the prefab each time. Usually you attach a prefab for some tiles, not all of them.
    You can add the colliders using the colliders tab or the tile properties to avoid using prefabs.
    Also, the 2D colliders are slower than 3D colliders when being generated. But it should be ok if you only update the row of tiles appearing and disappearing from the view.
     
  7. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi there,

    I answer your questions below:

    1. For the type of tilesets and the game I think you could use RPG Map Editor. It is focused on RPG Maker VX tileset style and character sheets and it looks they have similarities with this game.

    2. With Super Tilemap Editor you cannot export to XML, but I don't think you need it to use custom lighting. You can access the data in the asset file directly.

    3. Both support that, but Super Tilemap Editor it's better in this matter because it is boundless, so you can place a tiles anywhere. In RPG Map Editor you need to set the size of the tilemap.

    4. You cannot add tags or data to a single position in a tilemap but you can do that in a tile (the all the tiles in the tilemap will share the same data). You can use the same system to add parameters to the tiles to add parameters to a portion of the map if you create a dimensional array with this data ParameterContainer.

    5. None of the tools are yet prepared to support navmesh, but you can use A* pathfinding in RPG Map Editor or your own pathfinding solution based on a grid. I will try to add navmesh support in a future release.
     
  8. ryanzec

    ryanzec

    Joined:
    Jun 10, 2008
    Posts:
    696
    @CreativeSpore Well I have restructured my code to now store the tilemap data in a separate object that only deals with storing / managing the data and then use that object in a behaviour script that deals with rendering the tilemap (or the portion that needs to be rendered). I think this will allow me to avoid prefabs in a lot of instance as 98% of the time, the mouse needs to be over the tile in question to interact with it so instead I just need to convert the mouse position -> world position -> tile position and then use that tilemap data storage object to interact with that tile without needing a collider or anything else like that (then use prefabs for the other 2% of the time when really needed).

    I do still have 2 questions:

    1. Is this the most performant way to handle a tile that does not need to be drawn (might lead into my second question):

    Code (CSharp):
    1.  
    2. tilemap.SetTileData(x, y, 0xFFFFFFFF);
    3.  
    2. Is there general performance issues with use super tilemap editor in game in editor as even when I am only rendering 2500 tiles (though the real size of the map is 550 x 550), I still notice some very minor stuttering with playing the game in the editor while moving around with the profiler disabled and the only other code is some basic character controller code to move around the world (still somewhat new to using Unity heavily and not sure if this is just normal with any basic game while running the the editor), the game does run very smoothly in a normal build?

    I also just wanted to say that your support for this tool has been outstanding and far exceeds anything I have dealt with in the past for similar kinds of support.
     
  9. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    About the first question, yes, it it the more optimized way to remove a tile of being rendered. The mesh won't take this tile into account, so you reduce the number of vertices and polygons and also, if no tile needs to be rendered, the tilemapchunk object is removed.
    As a tip, you can use the method tilemap.Erase(x, y) as well to remove the tiles.

    About the second question, using the editor will always have an impact in the performance, you should check the game performance in a build. If you still see the stuttering send me a test build and I will check why it is happening.

    And thanks for your last commentary about the support :)
     
  10. TaylorAnderson

    TaylorAnderson

    Joined:
    Jul 28, 2012
    Posts:
    10
    Hello!

    I just got this tool a few weeks ago and I already really, really love it. I have a question though.

    I tried recently to set one of my sprites' origin points to the top-left, and it offset all the tiles using that sprite. Is there a way to compensate for that offset? I tried setting the offset in the tilemap but it wouldn't let me set negative numbers so I assume thats not the correct place to do that.

    Thanks again for this great tool!
     
  11. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi! Glad to know you like the tool ;)
    When you say all the tiles using the sprite, do you mean you are using a prefab with that sprite attached to a tile?
    In that case, it should be possible to use negative number in the prefab offset:
    upload_2017-7-9_14-27-31.png
     
  12. MrJBRPG

    MrJBRPG

    Joined:
    Nov 22, 2015
    Posts:
    40
    How do you make a template tilemap so that it can be used for procedural elements? I am curious to know.
     
  13. indie_dev85

    indie_dev85

    Joined:
    Mar 7, 2014
    Posts:
    52
    Please add the sprite packer functionality , to this awesome product :)
     
    CreativeSpore likes this.
  14. geronika2004

    geronika2004

    Joined:
    Sep 16, 2009
    Posts:
    24
    Hi, how to pass tile data to the attached prefab? Thanks.
     
  15. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    You can create a tilemap or a tilemap group, and the drag it to the project folder to create a prefab and instantiate the prefab in the map generation process.
     
  16. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I am working right now to support Isometric and hexagonal tiles and also giving support to sprites used as tiles. This is my top priority right now.
     
  17. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    What do you mean exactly? What are you trying to achieve?
    The tilemap use an event called to the prefab components when it is instantiated called:
    void OnTilePrefabCreation(TilemapChunk.OnTilePrefabCreationData data)
    It is used in the component TileObjectBehaviour to set the sprite with the tile used to instantiate the prefab, in case you want to see an example of use.
     
  18. geronika2004

    geronika2004

    Joined:
    Sep 16, 2009
    Posts:
    24
    I am writing my customized pathfinding solution and wish to populate array of id-s with the grid coordinates on start. So I attached prefabs with nodeType class to tiles. But created prefab has only ID as I assigned it and does not hold tile information, maybe I went bad way? thanks
     
  19. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    If you are creating a pathfinding, usually you need to check for neighbor tile data.
    You don't need to create your own array of IDs for that, you can ask the tilemap for the id at a grid position or world position.
    For example if you are at position (30, 20) you can access the right tile like this:
    Code (CSharp):
    1.  
    2. Tile rightTile = tilemap.GetTile(31, 20);
    3.  
    If the tile is null, the tile is empty, if not, you can now check for collider data:
    Code (CSharp):
    1.  
    2. if(rightTile != null)
    3. {
    4.    bool isBlocked = tile.collData.type != eTileCollider.None;
    5. }
    6.  
    Or you can use tile parameters to check a for a weight of how easy is not go through that tile (0 the best, 1 not passable)
    Code (CSharp):
    1.  
    2. if(rightTile != null)
    3. {
    4.    float walkWeight = tile.paramContainer.GetFloatParam("weight");
    5. }
    6.  
     
  20. jimmy14mac

    jimmy14mac

    Joined:
    Dec 8, 2013
    Posts:
    6
    Hi Everyone,

    I'm loving Super TileMap Editor! I'm using the prefab tiles a lot, but I'm wondering if there is a good way to have the same prefab tiles retain their own values? For example, separate ID #'s for a bunch of the same prefabs inside the tile map? Can anyone point me in the right direction?

    Thanks
     
  21. geronika2004

    geronika2004

    Joined:
    Sep 16, 2009
    Posts:
    24
  22. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    What do you mean with their own values? If you use a prefab you can attach any component with any value and it will keep those values once they are instantiated.
    Only remember, if you refresh the tilemap with the Refresh button or F5 all the instances could miss the custom values and set the prefab values, so take that into account. During gameplay you could add an script with health for example, for a rock, and change the health when hitting the rock and only that rock will have its health modified.
     
  23. KJoanette

    KJoanette

    Joined:
    Jun 8, 2013
    Posts:
    59
    Why do I always fall through or get caught on the seams??
     
  24. Khena_B

    Khena_B

    Joined:
    Aug 21, 2014
    Posts:
    273
    It's been a while now, are you still planning to add this feature?
     
  25. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Can you explain the case? It could be because you are using edge colliders and the player collider is moving too fast.
    You should check with a raycast between the previous position and the new one if there is any collider in the middle.
     
  26. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Yes, I am still planning to add this feature. Probably in the next version. Maybe I didn't place this in high priority because you found a work around for this. But I will try to include this in the next version.
     
    Khena_B likes this.
  27. Lightrail

    Lightrail

    Joined:
    Apr 12, 2013
    Posts:
    37
    Just bought the asset yesterday and already I'm having fun creating test maps with it. I tried the beta tile mapper in the upcoming Unity 2017.2 update and much prefer what you've created here so far. I do have a request concerning the auto tiling.

    I'm creating a 2d platformer and I'm trying to use a carpet brush I made to put things down faster. One update I'd like to see is transferring similar brush patterns from the road brush builder into the carpet one. For instance, creating a single tile or rows/columns of tiles and thus being able to create custom colliders for them (unless I'm missing the ability to do so). The tile editor already tries to do so, but then it borrows the collision information from the center tile and I can't customize them. I'm bad with words so I attached an image to give an example.

    The road brush is nice, but I can't get those inner corners like in the carpet brush.
     

    Attached Files:

  28. MrJBRPG

    MrJBRPG

    Joined:
    Nov 22, 2015
    Posts:
    40
    So far, after adding the 2d collider to a few of my tiles, I attempted to get the exit collider to check through trigger.

    The road tiles I used does not have a Rigidbody2d while the scanner does use Rigidbody2d at static mode, and both have "Is Trigger" activated. I attempted to get a check on the scanner with OnTriggerExit2D to check that it exited collision from the road (or entered), but it never get called. Is there any way that the TileMap's collider can be accessed so that it can be properly checked from use of Collider2D functions?

    Update: I tweaked the colliders, and discovered that when colliding with the object that has tile map component, somehow, it returns the tile chunk sections like 0_0 with the tag title called "Untagged" instead of the tag that comes from the gameobject with the Tilemap object. When I looked into the editor, it turned out that 0_0 and other grid spaces like 0_-1 or 1_0 are actually children of the gameobject I wanted.

    It seems that either that I have to check for the parent object that contains the item, or that I will have to make my own colliders for larger sprites based on many tiles.

    Feel free to answer but you do not have to since I figured out my own design problems.
     
    Last edited: Jul 27, 2017
  29. jimmy14mac

    jimmy14mac

    Joined:
    Dec 8, 2013
    Posts:
    6
    Sorry for the late response! You were right, I needed to use Instantiation. I'm having a new issue now, trying to get the individual tiles in the tile map to change color when the mouse hovers over them. I'm trying to do it with an OnPointerEnter Interface but haven't had any luck yet. Do you have any advice on how to handle that? Thanks.
     
  30. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    The carpet brush, unlike road brush, creates some tiles using pieces of another different tiles, so the collider is not merged and in most cases the center tile collider works fine.
    But there is a way to generate a collider merged from the tiles used to create the final tile.
    It is disabled by default, but you can activate it uncommenting this line:
    upload_2017-7-28_11-12-14.png
     
  31. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Exactly, the tilemap is divided in invisible gameobjects with chunks of tiles (60x60 each) to avoid the limit of vertices in mesh renderers and also for performance.
    When you collide with a tilemap collider generated by the tiles you collided with one of the chunk objects, so you need to get the parent.
    Anyway, I have changed this for next version, so the chunks share the tag the same they share the layer.
    You already found a solution for your problem, but let me know if you want a patch for that.
     
  32. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    OnPointerEnter is used by UI elements. You could use that if you create a canvas with render mode set to world space and place it so it fits all the tilemap.
    But instead of that, you can use TilemapUtils.GetMouseGridX and TilemapUtils.GetMouseGridY.
    To paint the tile where the mouse is, you can use this code in the update method of a component.
    Code (CSharp):
    1.  
    2. tilemap.ClearColorChannel();
    3. int mouseGridX = TilemapUtils.GetMouseGridX(this, Camera.main);
    4. int mouseGridY = TilemapUtils.GetMouseGridY(this, Camera.main);
    5. tilemap.SetTileColor(mouseGridX, mouseGridY, Color.cyan);
    6. tilemap.Refresh(true, false);
    7.  
    This is not very optimized, because you are updating the tilemap every frame, but you can see the idea.
    Now it could be optimized saving the current selected tile and executing that code only when the tile changes.
    Also you could tint back to Color.white the previous selected tile instead of clearing the color channel.
     
  33. jimmy14mac

    jimmy14mac

    Joined:
    Dec 8, 2013
    Posts:
    6
    I did not know that. Thanks! If the below does not work I will give this a shot.

    Thank you so much, I will give this a try. And agreed, it would have to only update the tiles once the mouse leaves their space otherwise performance would definitely suffer. Thank you for the great support!
     
    CreativeSpore likes this.
  34. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hot fix for the last version of Unity 2017.2.0b4.

    It looks like new version of Unity was causing some issues. The attached package should fix a null exception appearing while drawing.
    The warnings about modifying the sharedMesh should be fixed in this version.
     

    Attached Files:

  35. ury2ok2000

    ury2ok2000

    Joined:
    Dec 29, 2012
    Posts:
    46
    Hello, this gets me pretty close to what i want. However the enemy keeps traveling along the path (left or right) after their death. I can stop this by setting a high WalkingDrag and setting WalkingAcc=0, however i would like a little movement/slide. Any thoughts?
     
  36. Kyrio

    Kyrio

    Joined:
    Feb 10, 2015
    Posts:
    1
    Hello, I just started using this tool and it seems pretty great so far. I'm using a sprite shader for some dynamic pixel lighting and I was wondering if there's a way to set the renderer to receive shadows?
     
  37. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    To stop them you can reset the speed.
    For example:
    rigidBody.Velocity = Vector3.zero;
    or using the platform character controller, you can access the PlatformCharacterPhysics property:
    PlatformCharacterPhysics.Velocity = Vector3.zero;
     
  38. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi!
    By default this is not enabled. You can change that in the code, but take into account you need to use a shader with support for shadows (Sprites/Default doesn't work with that)
    Here is where you can change it:
    upload_2017-7-31_10-34-13.png

    This will work only only for new chunks because it is in the reset method (called when the chunk is created the first time)
    But you can move this code also to the OnEnable, Start or Awake to be sure it is modified in all the created chunks.
    I think this should be access from the tilemap properties so I will expose these properties in the Render section in the next release.
     
  39. JaseofBase

    JaseofBase

    Joined:
    Jun 12, 2017
    Posts:
    14
    Hey there!

    Question, how do I use the API for this, I read in the the supporting manual about reading and setting tile data; however I don't seem to be able to replicate the same. It might just be me but it doesn't find the Tilemap class.

    Can you give me a quick rundown of what I need to call?

    Cheers
     
  40. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Maybe you forgot to add the "using CreativeSpore.SuperTilemapEditor;" line on top.
    upload_2017-8-1_20-21-29.png
     
  41. JaseofBase

    JaseofBase

    Joined:
    Jun 12, 2017
    Posts:
    14
    Awesome! Okay so how do you check to see what a tileprefabs current tile coordinate is? Or an objects current tile coordinate?
     
  42. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    You can use the class TilemapUtils.
    TilemapUtils.GetGridX and TilemapUtils.GetGridY.
    example:
    Code (CSharp):
    1. int gridX = TilemapUtils.GetGridX(tilemap, prefabInstance.transform.position);
    2. int gridY = TilemapUtils.GetGridY(tilemap, prefabInstance.transform.position);
     
  43. JaseofBase

    JaseofBase

    Joined:
    Jun 12, 2017
    Posts:
    14
    Brilliant! Thankyou!
     
    CreativeSpore likes this.
  44. jimboss

    jimboss

    Joined:
    Jun 6, 2017
    Posts:
    1
    Hey, loving the extension!
    I have a small problem that im sure has a simple fix that i am missing. I am trying to be able to edit a map at runtime, so far i am using TilemapDrawingUtils.DrawRect to be able to draw walls/rooms which is working fine.
    How would i go about using a custom roadbrush instead of a single tile for this/Is there a way to refer to a brushID instead of a tile to create smooth/aligned walls using this function?

    Aswell, is there a way to get the world position of the nearest tile corner to the mouseposition, like if the mouse was hovering over a tile i would like to find the closest corner so i can snap to it.
    Thankyou!
     
    Last edited: Aug 4, 2017
  45. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Sorry I think I missed answering you. Or I forgot to send the answer, not sure, because I remember answering this question.
    To use the brushId you need to shift the value by 16:
    ex:
    uint tileData = 5 << 16; // this will set the tileData to use the brushId 5

    To get the tile where the mouse is over you can use TilemapUtils.GetMouseGridX and TilemapUtils.GetMouseGridY
     
  46. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    New version of Super Tilemap Editor v1.4.3.6 available!

    - Changelog:
    • Added Pyxel Edit importer thanks to (AndyGFX - CubesTeam)
    • Added tilemap render properties (shadow cast, light probes, etc) for the Renderer in the tilemapchunks
    • Added Collider Display Mode for the tilemaps to decide when the collider lines should be displayed (Selected, Parent Selected & Always)
    • Changed: the tilemap chunks now change the tag to be the same as the parent tilemap
    • Fixed some issues with Unity 2017.2.0b4
     
    Khena_B likes this.
  47. SlapAJimmy

    SlapAJimmy

    Joined:
    Aug 6, 2017
    Posts:
    1

    I am also having the exact same issue
     
  48. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Sorry for that. I missed to test a build in previous release.
    Here is the path. Maybe you need to remove the Pyxel Edit folder first.
     

    Attached Files:

    Saishy likes this.
  49. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I couldn't find any information about this error and how to fix it. It looks like a bug, but no one else has posted anything yet. Is this the exact message? "Should not be capturing when there is a hotcontrol"
    Are you doing something that could be considered as capturing?
    Is this a warning or an error?
     
  50. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I have informed Unity about this error message to see if they can shed some light on this problem. I will let you know about the progress.