This new logging system helps provide more clarity over the import process and makes tracking down issues easier.
Version 2.0.1 delivers some exciting new features (like this!), paired with a generous serving of some breaking changes.
Updating
TileSet resources have a new filename signature tileset_{grid_size}px.res to help preserve your existing TileSets.
Import Flags have been changed which can potentially invalidate pre-existing import settings.
Please make backups of your project before updating.
What's New
TileSets have been rewritten to offer more functionality, with many bugs fixed
Overlapping tiles and mismatched tile/grid sizes are now supported. (#12, #20, #21)
Flipped tiles no longer generate alternative tiles (now using the new method in Godot 4.3) (#14)
TileSets are created for each unique grid size, creating duplicate TileSetAtlasSources only if the same tileset is used for different grid sizes
Many bugs fixed related to Tile Custom Data and Tile Custom Enums (Thanks to @KarryCharon)
LDTKLevels can be packed and saved as Scenes (better now)
Bugs fixed related to ownership of child nodes (especially instantiated scenes from post-import scripts) (#10)
EntityLayer Post-Import now works correctly when Pack Levels is ON (#32)
Import Flags have been tweaked
Separate_World_Layers has been renamed to Group_World_Layers
Added Layers_Always_Visible flag. Default: OFF.
Added Integer_Grid_Tilesets flag. Default: OFF.
Added Resolve_EntityRefs flag. Default: OFF (this feature is now considered experimental)
Pack_Levels is now ON by default
Force_Tileset_Reimport has been moved under the Debug category
Post-Import hooks have been reworked, and are now performed in a more logical step of the import process
'Point' Fields are parsed as Vector2i instead of Vector2
Changes to Components
LDTKWorld nodes now track when LDTKLevel children have been added.
LDTKLevelposition has been moved to a new export variable world_position. Individual Level Scenes are now always positioned at (0,0) rather than their world position previously
LDTKEntityPlaceHolders now support displaying Tiles (as Sprite2Ds) - matching their look in the LDTK Editor
New pretty messages
Set verbose_output to ON for a more in-depth summary
Performance is measured and displayed in milliseconds, giving a breakdown by category where the importer spends the most time doing work (spoiler: it's mostly saving out resources)
New error/warning messages have been added when issues are detected within the LDTK file (null tilesets, unreachable file paths, etc.)
Issues
Resolve_EntityRefs still has inconsistent behaviour
If Pack_Levels is ON, then 'internal' EntityRefs can resolve. However, Godot displays an annoying error message Parameter "common_parent" is null when it cannot resolve (e.g. when pointing to an entity outside the level)
If Pack_Levels is OFF, then all EntityRefs can be resolved.
For those relying on EntityRefs in a bigger project, it's currently recommended to set Resolve_EntityRefs to OFF and write your own system for handling references. For example, creating an Autoload script that stores Dictionaries of EntityIids and EntityRefs.
Still investigating an issue where TileSets and Scenes sometimes do not force-update properly after reimporting (Reload Project is required)