Hello everyone!
After working on this project for several weeks, I believe it is finally ready for a beta release aimed at improving Tiled ↔ GDevelop compatibility.
First of all, I want to clarify that I started from an existing version of the extension dating back to 2023 (with various incompatibilities since then) . Since this version had never been updated, it was no longer compatible with recent versions of GDevelop.
With my limited basic knowledge of JavaScript, and with the help of AI, I personally worked on the extension to make it compatible with the latest version of GDevelop.
There are quite a lot of improvements, and I will try to list them all.
I also want to make it clear that this version still requires careful review and testing by the GD developers, so I do not recommend using it in its current state for production projects.
But let’s get to the point.
What has been added / changed?
-
The extension (included in the example project I am attaching) allows you to use a single TileMap to create ALL the layers you want. (but it’s mandatory to create 1 proxy tilemapmask to trigger the tilemap helper)
-
Added compatibility with the “Top” layer, allowing you to create a multilayer effect without adding additional layers in GDevelop!
-
Added compatibility with Tiled tile collisions.
-
Added a Raycast bridge for collision compatibility (this needs to be tested/reviewed by the developers).
-
Added X and Y Parallax compatibility for the Parallax Class in Tiled.
This allows you to create the parallax and y directly in Tiled, (warning properties OriginX and OriginY MUST bew added) without having to create actions, conditions .PARALLAX NAMES MUST BE IDENTICAL.
**
WARNING1**: TO MAKE SLOPES WORKS YOU NEED TILED 1.10.2 - NEWEST VERSION OF TILED CAUSE BUGS IN THE TILESET EXPORT MAKING THEM INCOMPATIBLE
And now… drum roll, please… ![]()
BULK ANIMATIONS!
It is now possible to use full-frame/bulk tile animations, something that is currently impossible with the standard GDevelop TileMap extension.
I have also included a separate file below specifically for the developers.
You can create your animated tilesets directly in Tiled:(I’ve tested the “right” side and it works ..but “down” “left” and “both” from the bulk extension options should works as well.
No objects.
No actions.
No conditions.
No additional logic.
No unnecessary impact on FPS.
No needs of Spritesheet afterr import.
Everything is handled directly from the Tiled data.
This is still a beta version, so please consider it experimental.
WARNING2: FOR BULK ANIMATIONS YOU NEED TILED 1.10.2 + GitHub - mapeditor/tiled-bulk-animations: Official extension for creating bulk animations in Tiled Map Editor · GitHub
DON’T WORRY IT’S SIMPLE AS HELL. JSUT FOLLOW THE MINITUTORIAL ON GITHUB.
Disclaimer
Finally, I would like to add that I don’t think I deserve any particular thanks for the various pieces of code I added. At least not for the code itself,perhaps only for the amount of time I spent fixing, adjusting, and readjusting things.
I mainly did all of this exclusively for the project I am currently working on.
What is still missing?
With the hope that the developers will appreciate this work, and aside from putting this update through every possible test imaginable, I would like to ask for a few small improvements where possible, so that we can hopefully finally put an end to the compatibility issues between Tiled and GDevelop.
Some of the things I’m suggesting below would really be the icing on the cake:
-
Collision debugging: the collision debugging in the built-in Tiled/LDtk object currently works in the latest versions of GDevelop… but in this version it does not work in the Scene Editor (even though it works correctly in game). I already made an attempt to get this working, and I believe it could probably be fixed without too much trouble.
-
effects: it would be really cool to be able to assign effects to layers. Even just the “Adjustment” effect would be great for adding more depth to the different layers. I believe Pixi is already capable of supporting this, so perhaps exposing it through the Behavior properties alone would be enough.
-
And finally, the little gem: as I have already requested elsewhere, it would be great to allow frame-by-frame timing to be read directly from the tileset.json, or implemented in whatever other way you prefer.
At the moment, the only way to achieve different frame timings is to intervene by increasing the number of frames, which is not really sustainable.
That last feature in particular would make the whole Tiled → GDevelop workflow much more complete.
I hope this can be useful to the GDevelop community and, especially, to the developers who may want to review and potentially integrate some of these improvements into the official extension.
FOR DEVS:
- TILEMAPRUNTIME.JS PATCH TO OVERWRITE
https://mega.nz/file/hFFh3QbR#rL3BIV0dkN4OAIs997y2qXhuexuh-3GsOa62BgA_vqo
- EXAMPLE WITH EXTENSION ADDED (PROJECT NAME TILED 2.0.JSON ALL THE RESTS ARE TILED FILES)
edit: it should be even possible to add object in Tiled and make em appear in GD but i’m still testing it..also i’ve not fixed the pass var feature…not until reviews.
CREDITS:
BJORN - TILED
EISHIYA - TILEDSCRIPT
NÃO PLATINO GAMES - TILED LINK
CYANGMOU - ASSETS
GDSTORE - ASSETS
RMDB - ASSEMBLING



