Unity editor extension for loading Tiled Map Editor files into Unity, providing a 2D, tile-based workflow for designing both 2D and 3D levels.

TiledLoader is a Unity editor extension which I wrote out of the need for a more feature-filled tool than was currently available for loading tilemaps made in the Tiled Map Editor into Unity. I needed a tool which was quick, easy enough to use that my team could use it immediately without needing to be taught how to use it, and which provided the features I required.

When I started work on TiledLoader, I was working on a VR game called Pathfinders for a university course. This was a 3D game in which the levels were labyrinthian in structure, and since no one on the team was particularly skilled in 3D modeling, we needed a tool to help streamline level design. The ideal tool for this that immediately came to mind was Tiled. Unfortunately, Unity does not natively support loading levels made in Tiled, and all existing Unity extensions which add support for this were either overly complicated or lacking in features which I needed.

Thus was born TiledLoader. The original purpose of TiledLoader was simple: load a level from a TMX file, replacing each tile with a prefab paired with that tile. This alone proved extremely powerful, and is the main feature of the free version of TiledLoader. However, as the class project grew, it began to demand a more powerful tool, and TiledLoader grew with it.

One major feature which I quickly realized would be extremely helpful would be to allow the user to run code on each tile that is loaded in, which has access to all custom properties added to that tile. To allow for this, I made TiledLoader load in all custom properties on each tile and store them in a dictionary, which I stored in a component which TiledLoader adds to each object it instantiates.