UniTile is a simple to use yet powerful tile-based 2D map editor for Unity. You can use UniTile to build highly optimized 2D levels, without ever leaving Unity.
With UniTile, you’ll be making great levels for your 2D games in no time - for only $50.
Features
Intuitive interface
Support for multiple layers
Object layer for placing sprites or other objects
Tile properties
Generates highly optimized maps
Generates colliders
Powerful tools and workflow
Automatically groups tiles for performance
Works well with Sprite Manager and Sprite Manager 2
Taps into Unity’s Undo/Redo functionality
Supports tile borders to eliminate edge bleeding
Multi-tile drawing
Select tiles from your map with single or multi-tile picking
Use templates to store combinations of tiles
Ideal for iPhone, Android, or any other Unity target
Holy crap I just loged in to see if anyone was working on a tilemapper, and here it is! Rocking!
I have some questions, can I create a tilemap in code? I have written code that creates a tiled space in code, dumps it to an array and then draws it. This is not in unity however it is what I was planning to do in unity. Does your tile engine allow me to do this or is it only pre made edited tilemaps? How many draw calls does a tile map take?
Right now you can do this, but only in the editor, not at runtime. If there’s some interest, I could add some functions that allow you to manipulate maps at runtime though.
It depends on the complexity of your maps. A layer has only one material, so usually it should be one drawcall per layer.
If all your layers share the same material, they should be batched too, but I’ve noticed sometimes I get two drawcalls for three layers (in the editor). But I guess that is still more than acceptable.
Thanks now I have more questions:
How are tilemaps saved? How much space do they take? Can I save Tilemaps as prefabs? in the project I am working on I would have upwards of 100+ 20*20 tilemaps. I would like to also use 1 map and swap materials in code, this way one map can have multiple looks. Or would I have to create each map with an assigned material?
One GameObject which contains the tile data as a multidemsional array (which you can delete if you don’t need it - but the layer won’t be editable anymore after you delete it
A number of GameObjects with a mesh, grouping a number of tiles.
Everything is saved in your scene through Unity’s serialization system. It shouldn’t be a problem to make prefabs of your maps or layers.
You should be able to swap materials by finding the groups and changing the material of the MeshRenderer objects. I might add some methods to do this in an update - right now i have no runtime functions for manipulating the maps.
I am looking for your UniTile will be available on Asset store soon. I will buy it when available… ( I like to use Asset Store because which is easy to integrated to Unity3D…
Hi Simon, thanks for your intereset. I’ve contacted UT about my problems with the asset store but haven’t heard back from them yet. I will look into it again myself asap.
Scrolling can be achieved by moving the camera. I found that Unity’s frustrum culling was efficient enough for this.
There’s no actual limitation on the maps, so it will depend on the complexity and the number of layers, etc. I’ve made some pretty big levels and haven’t encountered a problem with it yet.
How is collision handled?
How do you assign tiles specific attributes?
How do you control the scroll speed of the different layers?
I assume the tileset is a texture. Is there a max-size limit on the texture size?
Right now you need to handle this yourself - you have access to an array with the tile ID’s, and can construct colliders based on that. I’m thinking about what the best way to include this would be, so if you have any suggestions, I would be happy to listen.
This is currently not supported. I have plans for this though.
They’re individiual gameobjects, and you can change their position based on the camera’s position. I’m thinking of including example-code for this in a next release.
Yes, it’s a texture. The maximum size of the device applies, so 1024x1024 on older devices, and I believe 2048x2048 on newer devices.
Yes. Only problem is the service I use for selling the files doesn’t have an update system, but I will mail them to you directly (until I find or make a better, automated system for updates).
Thanks for your purchase. I have your email address on file, and I will send you any updates by mail as soon as they’re ready. Might be a week or two until the next update though.
Nice work, it’s really nice and fast to draw your maps with it!
A question, can I scale down the tiles (or the whole tile-set/map) in the scene, because I want my character cotroller to have height = 2 (I don’t want to scale my other objects proporcional to the map, I want to scale the map to be proporcional to my other objects)?
Currently, I think the map needs to be sized at (1,1,1) for the editor to work - but you can scale it through code at the start of your game.
You can try scaling it in the editor to see if it works though. If it doesn’t, I will try to ensure it’s possible in the next update.
Perhaps my last question was a dumb question, I could scale the maps in the editor (but afterwards I had strange behaviours when wanting to paint → first make the maps, then scale down).
Hope this question isn’t dumb too. Why can’t I bring my unity standard objects to the foreground, they’re always rendered behind the UniTile layers (yes, I’m changing z-values)?