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

SpriteTile, a fast dynamic tile system (RELEASED)

Discussion in 'Assets and Asset Store' started by Eric5h5, Dec 11, 2013.

  1. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,384
    After reading the 2DToolkit forums the info I got was that it may have something to do with a system that reloads the gfx if during game-play its deleted for some reason.
     
  2. Fohristiwhirl

    Fohristiwhirl

    Joined:
    Sep 1, 2014
    Posts:
    5
    Sorry I didn't see that you had replied. I got the issue with the grey lines. My sprite atlas was padded with 2x2px grey lines. Removing them did sort the problem. However I removed the padding completely. You said that having transparent padding works? I still have a few visual issues presumably (after reading your post) cause by a lack of padding?

    Since I am using some pixel art I have the filter mode set to point anyway so no worries there.

    I am unsure about what you mean about the padding extending the colours of the tile. Could you give more info on this and or what you mean? It seems like something I'd like to try.

    However I am still building the games frame work so the visual side of things isn't as important. It would be nice to know its sorted though.
     
  3. Fohristiwhirl

    Fohristiwhirl

    Joined:
    Sep 1, 2014
    Posts:
    5
    One more thing, does padding have to be on every side of the tile?
     
  4. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Padding should be on every side, yes. Transparent padding seems to work if you're using point filtering; bilinear filtering requires that the tile texture be extruded by one pixel around the tile, such as by using a filter like Solidify in Photoshop.

    --Eric
     
  5. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,384
    Hi Eric5h5,

    Can you offer a quick suggestion on the following?

    When using Tile.GrabSprite how do I add that tile to my 'Tiles' class and then store it in a list?

    hmm the question I asked is simple because I have set it up already but to get a bit more detailed and to expand upon the question check out the following:

    1) I set up a GameObject for example called "var BlackTile:GameObject;".

    2 My class is setup to receive in its constructor 'Tile.GrabSprite( new Int2( blah, blah2) ) the following way.

    Code (csharp):
    1.  
    2. var BlackTile:GameObject = new TileClass( Instantiate( Tile.GrabSprite( new Int2( locX, locY) ) );
    3.  
    When doing this it complained about conversions from 1 type of Object to another so I specified at the end " as GameObject; '

    Code (csharp):
    1.  
    2. var BlackTile:GameObject = new TileClass( Instantiate( Tile.GrabSprite( new Int2( locX, locY) ) ) as GameObject;
    3.  
    Everything runs fine, basically it doesn't generate errors or warnings, but each tile GameObject I grab doesn't seem to store any data after I have added it to a list with the following:

    Code (csharp):
    1.  
    2. var BlackTile:GameObject = new TileClass( Instantiate( Tile.GrabSprite( new Int2( locX, locY) ) ) as GameObject;
    3. TileClass.list.Add(BlackTile);
    4.  
    The list I store within the class but to make things easier I may store it outside in the main tilemanager.js.

    Basically, am i going about this the correct way?
     
  6. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    GrabSprite already returns a new GameObject so I don't think you should be using Instantiate. But more importantly, you have a variable of type GameObject but you're trying to say that's a TileClass instead; it can't be both. Also I don't understand the bit about TileClass.list.Add. However this doesn't really have anything to do with SpriteTile so it would be better to make a new topic.

    --Eric
     
  7. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,384
    Understood! Grabsprite returning a GameObject is all I needed to know. Thanks! :)
     
  8. Fohristiwhirl

    Fohristiwhirl

    Joined:
    Sep 1, 2014
    Posts:
    5
    Thank you. I didn't use bilinear filtering as it would blur my sprites if they were scaled. So I have a transparent padding of two pixels and I am using point filtering. I don't see any screen tearing. I do see small movement in the tiles like a cascading effect. I am almost certain this is because of linear interpolation of the camera movement. I haven't added a snap to the camera yet so it just keeps dividing the remaining distance this would mean that the map would be getting updated unnecessarily and in small increments.
     
  9. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,204
    In the documentation, you have SetColor and SetLayerColor for the tiles and layers for us to use at runtime in the game, but I was wondering if it's possible to set the tile or tile layer color in the editor?
     
  10. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Not currently.

    --Eric
     
  11. Ben-BearFish

    Ben-BearFish

    Joined:
    Sep 6, 2011
    Posts:
    1,204
    Ok. Could I also ask for a Shortcut Key reference to be added as an addendum to the documentation. Currently, I kind have to jump all around the documentation to remember some of the shortcut keys. Thanks for the great plugin.
     
  12. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Yep...actually that was already on my to-do list for the next version.

    --Eric
     
  13. BreadWeek

    BreadWeek

    Joined:
    Aug 12, 2014
    Posts:
    45
    I'm using physics colliders, and would like to be able to ignore certain collisions through code. Previously I used Physics2D.IgnoreLayerCollsion but only sorting layers can be specified in SpriteTile. I don't simply want to turn the colliders off. Is there a way to do this? Thanks :)
     
  14. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    You can use Tile.SetColliderLayer to set the layer of SpriteTile physics colliders.

    --Eric
     
  15. BreadWeek

    BreadWeek

    Joined:
    Aug 12, 2014
    Posts:
    45
    Thanks for the speedy reply.

    What I actually want is to only ignore collisions on specific tiles. So for example I would ignore collision on all of and only my wall tiles. Tile.SetColliderLayer sets the layer for every physics collider.

    EDIT: I haven't tried this yet, but maybe I could iterate over the whole map and set the layer of each tile with a given trigger? Would that be possible/cause problems?
     
  16. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Oh, I see...the problem is that SpriteTile puts colliders into groups for the sake of efficiency, so e.g. a large level won't have tens of thousands of GameObjects used for the colliders. Therefore the physics collider for a specific tile doesn't exist as a separate thing. Potentially it would be possible to set the collision layer for each group, though I don't know if that would help you.

    --Eric
     
  17. BreadWeek

    BreadWeek

    Joined:
    Aug 12, 2014
    Posts:
    45
    Setting the collision layer for each group sounds like exactly what I want. Is that something I could do? If there would be a performance hit I can try to figure another way around it. If it comes down to it. I'd rather take advantage of SpriteTile's efficiency than force it to do something it shouldn't.
     
  18. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    By group I mean 5x5 tile (by default) squares; see "collider blocks" in the "how colliders work" section of the docs.

    --Eric
     
  19. BreadWeek

    BreadWeek

    Joined:
    Aug 12, 2014
    Posts:
    45
    Oh I understand, you're right that wouldn't really help. Well this is still a very nice plugin and I plan to make good use of it. Thanks for your speedy replies, I'll probably take advantage of your help again :)
     
  20. UziLullaby

    UziLullaby

    Joined:
    Jul 4, 2014
    Posts:
    6
    Hello Eric.
    I had a look at the documentation and some of the demo projects you posted.
    Is it possible to use SpriteTile as some sort of level editor/creator for puzzle games?
    What I mean is, I was thinking of using SpriteTile to design small 2D puzzles, and then hopefully save them to xml format where I could load and test them on the puzzle game itself.
    Is this feature implemented? Would it be possible by modifying some of the provided source code?
    Kind Regards.

    Daniel.
     
  21. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    You can save each puzzle as a level, and use Tile.LoadLevel to load them as needed. There's no need for XML files; SpriteTile levels can be loaded from a byte array, so if desired you can load them from external files, get them from the web, etc. You can also save levels at runtime, so you could make a run-time puzzle editor for users.

    --Eric
     
  22. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Hey just wondering if there is any update in the pipeline and what it may feature?
     
  23. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Yes, a new version is up next now that I've finished Vectrosity 4. It will feature, um, stuff. :) Whatever I have on my to-do list that seems most immediately useful. Anything in particular you'd want to see?

    --Eric
     
  24. Kytin

    Kytin

    Joined:
    Dec 4, 2013
    Posts:
    22
    Hi again. I've started attempting to integrate spritetile with another cool system called Sprite Lamp. Unfortunately the way the shaders for Spritelamp work are slightly inconvenient for working with Spritetile.
    Basically, to get the shaders to work I need a different material for each spritesheet. Spritetile is mainly set to use the same material for all the tiles. Unfortunately I am using several different spritesheets in the same environment (e.g. I hav ea separate spritesheet for the ground and for the houses).

    To resolve this issue I kind of need to be able to assign different materials to different sets of tiles, preferably in the editor. It does seem like Spritetile has the functions I could use to iterate over each tile and give a material based on which tile it is, but that would be annoying and probably have an unfortunate impact on level loading times.

    Hopefully there is already some obscure feature that already does what I am looking for, but I haven't found it yet.
     
  25. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    You can use SetTileMaterial; it would be a simple loop to apply it to all tiles in a set (you could turn that code into a function if that's more convenient for you), and wouldn't affect loading times.

    --Eric
     
  26. Kytin

    Kytin

    Joined:
    Dec 4, 2013
    Posts:
    22
    Ah, I was somehow under the impression that you couldn't save material data, so I was assuming that it would have to be done at runtime.
     
  27. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Well, yes, it would be done at runtime; that's the only way you can use SetTileMaterial. It still won't have any effect on loading times.

    --Eric
     
  28. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Hi I'm probably missing something obvious but I can't get the spritetile demo's to work correctly. I've imported the spritetile source package followed by the spritetile demo package. I then open the spritetile editor once and create and add a sorting layer as mentioned in the documentation. If I then try to open any of the demos though I don't see any of the sprites and if I try to open any of the demo levels in the level editor they also don't open. All of the demos have objects in the object hierachy but have their sprite renderers disabled and no sprite attached to them. Do I have to manually add the sprites and groups into the editor to be able to view the demos. If so how do I know what format and group setup you had.

    The only demo that shows anything is the acorn demo where I see an acorn fall after starting the demo but none of the level sprites.

    Thanks,

    Ian
     
  29. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    You should import the SpriteTile DLL package, as noted on page 1 of the docs. If you import the source instead, you should read the bottom of page 3 about the change needed, since there will be a missing reference you have to fix.

    --Eric
     
  30. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    A new update is out!

    SpriteTile 2.4

    Additions:
    • Tile.SetColliderTag function, for setting the GameObject tag of tile colliders.

    Changes:
    • Tile.SetLayerColor has been removed, since it doesn't entirely work well with the new color functions in 2.3, and those functions make it unnecessary anyway. You can use Tile.SetColorBlock to accomplish the same thing.
    • Sprites made with Tile.GrabSprite have a collider added if the tile being grabbed has a physics collider.
    • Tile.PutSprite sets the tile collider if the grabbed sprite has a collider.

    Fixes:
    • Tile.SetTileScale and Tile.SetTileLayerScale work properly.
    • Tile.LoadGroups can be called before creating or loading a level without causing an error.

    TileEditor Additions:
    • A "To Object" button for custom physics colliders, which copies the tile collider to the selected GameObject, so it can be edited, and copied back if desired.
    • Bookmarks for the level view can be set with function keys, in order to quickly navigate to specific locations in large levels.
    • Alt + Shift + Delete (or Backspace) can be used to delete the selected tile or tiles from the tiles list.

    TileEditor changes:
    • When getting a custom physics collider from a selected GameObject, BoxCollider2D can be used in addition to PolygonCollider2D.
    • Performance improvements for the Tiles list when displaying tilesets with lots of tiles.

    TileEditor fixes:
    • The "Save"/"Save As" keyboard shortcuts require Alt now (Alt-S and Alt-Shift-S).
    • Using Alt-S with a new level no longer uses the previously-saved level; instead it opens the Save As dialog.
    • Turning off both the name and number for the Tiles list no longer affects the Groups list.

    Also it includes a quick reference sheet for the keyboard shortcuts in the TileEditor.

    --Eric
     
  31. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    I never got any notification, but it seems 2.4 appeared on the asset store at some point. So...yeah, 2.4 is available on the asset store now. ;)

    --Eric
     
  32. BreadWeek

    BreadWeek

    Joined:
    Aug 12, 2014
    Posts:
    45
    I'm finding fairly consistent lines appearing around some of my tiles. They're set up perfectly in Photoshop, sliced correctly in the Sprite Editor, look great in the TileEditor, but then when running the game some tiles show a neighbor bleeding a pixel into the edge. It happens for every instance of certain tiles.
     
  33. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Change the filtering from bilinear or trilinear to point, and turn off mipmaps. If you don't want point filtering, you'd need to add some padding around the tiles (talked about here).

    --Eric
     
  34. BreadWeek

    BreadWeek

    Joined:
    Aug 12, 2014
    Posts:
    45
    Thank you for the reply. I should have mentioned I was using point filtering, and no mipmaps. I think the issue may actually be related to my pixel perfect camera but if I continue having trouble I'll add padding around the tiles.
     
  35. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    There are many things people have suggested. I was quite frustrated for a few weeks wrestling with the issue. Through continual trial-and-error along with others, we finally got it resolved. It is not a SpriteTile issue but a Unity issue. Some say it is a 3D issue but in D3D and XNA I never had the problem.

    You can search on the forums and find several threads about this issue and all of the things people use to get around it.

    However, I can tell you right here what I am doing that finally got rid of the glitches in all cases.

    1. Locking the camera to pixel positions with code
    2. Using a sprite renderer material with Pixel Snap enabled
    3. Point Filtering
    4. Locking the position of each sprite to pixel coordinates for display only (the pixel snap material alone did not do it)
    5. Making sure each tile (and sprite) image has 2 pixels of transparent space on each side.

    I was going to try a suggestion to actually duplicate the outer pixel or two all the way around but thankfully I did not need to go to that extreme.
     
  36. rakkarage

    rakkarage

    Joined:
    Feb 3, 2014
    Posts:
    683
    i have a 1024x1024 png sprite sheet with 4096 16x16 tile sprites
    Untitled.png
    is there any way to get this working?
    thanks
     
  37. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    No, sorry; the max is 1024 per set. You'd need to split that in 4.

    --Eric
     
  38. rakkarage

    rakkarage

    Joined:
    Feb 3, 2014
    Posts:
    683
    could you please explain more about this limit (which does not exist in other tile systems (2dtoolkit for example)) and the reasons behind it
    if memory maybe a size instead of a count could be used as a limit
    or maybe i could just bump up your limit (which is what i will try next i guess)
    thanks
     
  39. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    There are 16 bits used for each tile, where 10 bits are for the tile number (1024), 5 bits are for the set number (32, total of 32,768 possible tiles), and 1 bit used to indicate an empty tile. I had to make an attempt to balance the number of tiles in a set with the number of sets, and that's what I came up with, particularly since it seemed like 1024 tiles in one set would be a lot more than anyone was likely to need...apparently not. ;) For now, it shouldn't be too much of a hardship to use 4 sets of 1024 tiles instead of 1 set of 4096 tiles, though.

    --Eric
     
  40. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Here's the preliminary changelog for SpriteTile 2.5:

    Additions:
    • Tile.GetTilePositions function, which returns an array of all positions in a layer where a specified tile is found.
    • Tile.GetTriggerPositions function, which is like GetTilePositions but finds all specified trigger values.

    Changes:
    • TileInfo variables can be added, subtracted, and compared.

    TileEditor additions:
    • A new group type, terrain groups, which is for groups of related tiles (e.g. path, water, walls). When tiles in active terrain groups are drawn, the appropriate tiles from the group are automatically placed. This is much faster than individually placing each tile.
    • The number of possible tile sets can be chosen, the options being 2, 4, 8, 16, or 32. The fewer the sets, the larger the maximum numbers of tiles per set, so 2 sets can have 16,384 tiles per set, and 32 sets can have 1024 tiles per set.
    • Fill Area button, for flood-filling an area with the selected tile (or with a random group). The keyboard shortcut Shift-F can be used to toggle Fill Area as well.
    • There's now a vertical divider between the level area and the tiles/groups area, which can be dragged to make the tiles/groups area larger (as long as the TileEditor window is wide enough).
    • The right mouse button can be used to draw a selection box in the tiles section. Any tiles in the selection box are multi-selected, and are also copied to the copy buffer (so they can be drawn in the level as a group).

    TileEditor changes:
    • Re-loading a sprite atlas will work for atlases where the sprite rects may have been moved around, such as those produced by TexturePacker.
    • Control-clicking will erase tiles (as an alternative to the third mouse button, which still erases tiles).
    • Selecting a single texture in the tiles area will automatically deselect any copy buffer that might exist.
    • Zooming with alt-scrollwheel keeps the view centered, while panning toward the mouse pointer when zooming in, similar to Photoshop.
    • Some visual improvements.

    TileEditor fixes:
    • Fixed situations where tile names would be displayed even if they were toggled off.
    • The "X" button (for deactivating the selection) is clickable.
    • When deleting tile sets, any loaded groups containing the tiles in the set are also deleted.
    • If the TileEditor window is left open when quitting Unity, no errors are generated when re-starting.

    So this should help those who want >1024 tiles per set.

    View attachment 119202

    The terrain groups make auto-placing that sort of tile easier:

    View attachment 119203

    It's data-driven rather than hard-coded, so potentially other types of shape groupings could be added, if there's a need.

    Still a ways to go, but 2.5 should be done in the reasonably near future. If anyone wants to help beta-test, drop me a PM with your invoice #.

    --Eric
     
    rakkarage likes this.
  41. Manish.spangle

    Manish.spangle

    Joined:
    Oct 10, 2013
    Posts:
    23
    Just bought the plugin yesterday. Its been great so far. Great documentation.

    I'm trying to create an infinite line/path using the tiles programmatically. I've tried a few ideas but have failed so far. The path would be something like this :


    The game is different altogether but the line/path generation is same as in the video. Could you advise on how i could do this? Any pointers would be helpful.

    Thanks!
     
  42. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    There was some discussion about that previously, here. It seems like that should work fine for what you want.

    --Eric
     
  43. Manish.spangle

    Manish.spangle

    Joined:
    Oct 10, 2013
    Posts:
    23
    Thanks for the reply Eric. I get the idea but how do i stitch the levels together? As far as i can see, there can only be one level in a scene at a time.

    I would like to create different levels in the tile editor and then stitch them together using code. Can i do that?
     
  44. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    You can create groups, then load them when you run the game and copy the groups to the appropriate positions. You could also potentially load a level, use GetMapBlock to store it in an array, load another level, store that in another array, etc., then use SetMapBlock to paste the levels using the stored arrays. But groups would be easier I think.

    --Eric
     
  45. Manish.spangle

    Manish.spangle

    Joined:
    Oct 10, 2013
    Posts:
    23
    Thanks Eric. Its working great so far.
     
  46. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    SpriteTile 2.5 is out! Will submit to asset store next. Revised changelog:

    Additions:
    • Tile.GetTilePositions function, which returns an array of all positions in a layer where a specified tile is found.
    • Tile.GetTriggerPositions function, which is like GetTilePositions but finds all specified trigger values.

    Changes:
    • TileInfo variables can be added, subtracted, and compared.

    TileEditor additions:
    • A new group type, terrain groups, which is for groups of related tiles (e.g. path, water, walls). When tiles in active terrain groups are drawn, the appropriate tiles from the group are automatically placed. This is much faster than individually placing each tile.
    • The number of possible tile sets can be chosen, the options being 2, 4, 8, 16, or 32. The fewer the sets, the larger the maximum numbers of tiles per set, so 2 sets can have 16,384 tiles per set, and 32 sets can have 1024 tiles per set.
    • Fill Area button, for flood-filling an area with the selected tile (or with a random group). The keyboard shortcut Shift-F can be used to toggle Fill Area as well.
    • There's now a vertical divider between the level area and the tiles/groups area, which can be dragged to make the tiles/groups area larger (as long as the TileEditor window is wide enough).
    • The right mouse button can be used to draw a selection box in the tiles section. Any tiles in the selection box are multi-selected, and are also copied to the copy buffer (so they can be drawn in the level as a group).
    • Drawing a tile, then holding shift and clicking on another tile, will create a line of tiles between the two points. (Also works when erasing tiles.)

    TileEditor changes:
    • Re-loading a sprite atlas will work for atlases where the sprite rects may have been moved around, such as those produced by TexturePacker.
    • Control-clicking will erase tiles (as an alternative to the third mouse button, which still erases tiles).
    • Selecting a single texture in the tiles area will automatically deselect any copy buffer that might exist.
    • Zooming with alt-scrollwheel keeps the view centered, while panning toward the mouse pointer when zooming in, similar to Photoshop.
    • Some visual improvements.

    TileEditor fixes:
    • Fixed situations where tile names would be displayed even if they were toggled off.
    • The "X" button (for deactivating the selection) is clickable.
    • When deleting tile sets, any loaded groups containing the tiles in the set are also deleted.
    • Fixed certain situations where undoing would use the wrong layer.
    • Fixed case where collider overlay tile sizes could be drawn wrong if tiles had been reordered.
    • If the TileEditor window is left open when quitting Unity, no errors are generated when re-starting.

    --Eric
     
  47. rakkarage

    rakkarage

    Joined:
    Feb 3, 2014
    Posts:
    683
    have you considered using implied/calculable id (x+y*width) instead of alphabetical for the tile sheet indexes?
    thanks
    pixelarray2d.jpg
     
  48. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Not sure I understand what that would do? Note that if you load pre-made sprite sheets, they're ordered in the TileEditor the same way they are in the sprite sheet; alphabetic only applies if you're loading single sprites. Also you can rearrange them after loading if you want (without affecting existing levels).

    --Eric
     
  49. rakkarage

    rakkarage

    Joined:
    Feb 3, 2014
    Posts:
    683

    here i load a 'pre-made sprite sheet' and the 'number' is based on alphabetic?
     
  50. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Where is the sprite sheet coming from? If it's sliced in Unity, all the tiles are named with the texture name and ordered by the position in the sprite sheet.

    --Eric