Importing tile maps from Tiled as JSON

I see in the 4.4 release notes that there is support for Importing tile maps from Tiled as JSON.

New: Added support for importing tile maps and tile sets exported from Tiled 0.90 as JSON.

Is there a guide or any information on how this is done? I can’t find anything in the documentation. Tile maps are briefly mentioned in the World Compsition Guide, but nothing about the actual Tiled application ( or how to load in the json files.

I could of course do it manually, but the update note suggests to me there is a more automated way of doing it.

Edit: I should add I did enable it in settings as it is an experimental feature. I just don’t know how to experiment with it!

I figured this out. If you drag and drop the JSON file created by Tiled it will import the tileset and all spritesheets it references in 1 go. Super simple! :slight_smile:

What is Tiled, exactly?

I also highly recommend Texture Packer for making JSON files that magically import into Unreal:

To expand on Furroy. It’s basically an editor where you import tile maps and it lets you draw out a map in a grid (or hex) format in the app. It has layers and objects and properties so you can define your collision and other aspects right in the editor. You can then export it to various file formats for import into Unreal, or other programs. It makes 2D map making super fast.

I’m trying to import a tilemap that was made in Tiled and it isn’t working. I get the following after draging and dropping into the editor

  1. A Datatable Options Menu appears selecting between DataTable, CurveTable, Float Curve & Vector Curve
  2. Error Messages Appears as follows “Cannot Find Property for Column ‘0’ in struct” & “Duplicate Row Name ‘0’”

What would say is the cause of that?

I’m trying to drag my JSON file that I exported from Tiled directly into UE4, but it just gives me a blank tilemap. Could using Texturepacker help with this? How do you use it???

Hello everyone!
I know this thread is still an old one, but I figured out how to prevent the error “Blacop” got.
My first test yesterday also runs into a blank screen after I imported the json file.
It seems to me the Unreal Editor can’t read the compressed array data of tiles. (It’s base64 encoded and zlib compressed)
So, how to fix this? It’s simple, but you have to manage some things by hand!

Maybe there is a better way to do this but this worked for me!

-Tiled version 0.13.0

-UE Editor 4.11.2

-No need of Texture Packer

-I used only 2 normal layers for this test (no animations) and 1 terrain layer (see image below)

  1. create your map like you normaly do inside Tiled :slight_smile:
  2. after you finished it, export your map as JSON.
  3. export the same map as “Flare” .txt
  4. open the created json- and .txt file inside notepad or your favorite editor.
  5. search inside json for “compression”, “data” and “encoding” and delete all this three lines
  6. at the spot where you deleted before you have to insert “data”:[ ], (include ")
  7. you need to copy the part from the .txt file after “data=” (numbers only) and paste it between the two brackets from part 6 (step 5, 6, 7 see image below)

'8. for my import I had to fix this line (search for “image”): “image”:“D:/Game_Assets/Sprites/terrain_atlas.png”,
(path depends on your system :wink: )
I copied the tile image into the same folder like my json file and edited the line above to: “image”:“terrain_atlas.png”,

'9. now save the json file and drag and drop it into the Unreal Editor content browser
You may now see a folder called “Textures”, a TileSet and a TileMap (all created by Unreal magic :wink: )
If you now open the TileMap you should see something like below… your’e done!

I will create a converter app for this, but I don’t have much time at the moment.

Maybe the json import will be fixed in future version of Unreal Editor :slight_smile:

Good luck and sorry for my bad grammar :slight_smile:

Greetings – David

There is no need to do manual manipulations. You just need to go into map->map properties and change Tile layer format to csv.