Skip to content

Releases: Cammin/LDtkToUnity

6.1.2

21 May 03:12
Compare
Choose a tag to compare

6.1.2 (2024-05-21)

Performance Improvements

  • Caching the tileset artifacts asset to the tileset file importer to potentially fix loading the artifacts slowly (bbdc1b2)

6.1.1

20 May 10:53
Compare
Choose a tag to compare

6.1.1 (2024-05-20)

Performance Improvements

  • Multithreaded the tileset tile building calculations (8ed1a10)

6.1.0

20 May 04:42
Compare
Choose a tag to compare

6.1.0 (2024-05-20)

Features

  • Added new convenience button in all importer inspectors to open the file's profiler sample (036b214)

Performance Improvements

  • Deserializing json without a try-catch block to increase speed (b0cec83)
  • Dictionary allocations for the definition scriptable objects creation/caching, and skipping unnessesary ContainsKey (7604e9c)
  • Preallocating some more dictionaries (9a380fb)
  • Storing the JsonFile assets as byte[] instead of string (dbd0065)
  • Wrapped more profiler API calls with custom ones (b69cdf6)

6.0.1

19 May 20:07
Compare
Choose a tag to compare

6.0.1 (2024-05-19)

Performance Improvements

  • Made all tileset file's generated sprites+tiles hideFlags to HideInHierarchy to fix ProjectBrowser.Repaint taking a long time to load while large tileset files are collapsed in the project window after a recompile or other various events (03498b4)

6.0.0

19 May 07:50
Compare
Choose a tag to compare

6.0.0 (2024-05-19)

Features

  • Added 4 new convenience values to the TileInstance (19f2de4)
  • Added proper support for rule's offsets and randomized offsets (previously they would layer improperly) (76c1e9f)

Performance Improvements

  • Avoid a null check in a high-iteration context (25c315e)
  • Changed how the import profiling is enabled via a scripting define to never run unnessesary Profiler API calls (2749c69)
  • Optimized getting the FlipX and FlipY values from TileInstance (f21d6ea)
  • Prevent unnessesary tilemap API calls to SetTileFlags, SetColor and SetTransformMatrix (92b3afa)
  • Only one auto layer tilemap is generated per layer instead of multiple. This is done by making additional rule tiles exist in a different tilemap z cell. To keep the tiles looking good despite having different cell z values, the cellGap.z of the Grid components are now -1 (76c1e9f)
  • Added some dictionary capacity allocations for tile placement (76c1e9f)
  • Prevent unnessesary tileset artifact load attempts while building tile/auto layers (76c1e9f)
  • Various other small optimizations related to building tile/auto layers (76c1e9f)

BREAKING CHANGES

  • The generated tilemap hierarchy is different; Only one tilemap will exist per layer with auto tiles.
  • LDtkComponentLayerTilesetTiles.Tilemaps list has been changed to a single Tilemap

5.0.20

13 May 07:58
Compare
Choose a tag to compare

5.0.20 (2024-05-13)

Bug Fixes

  • Problem on mac where there an error was still displayed in the inspector even if the sh file contents are correct (e728f4d)

Performance Improvements

  • Caching intgrid value data from definitions instead of instances to avoid unnessesary calculations. Also calculating the placement cell coordinate faster (51c83ad)

5.0.16

12 May 17:56
Compare
Choose a tag to compare

5.0.16 (2024-05-12)

Bug Fixes

  • Import errors when an icon for a nonexistent tileset definition is trying to be referenced (c12d26b)
  • Separate levels checking null for artifact assets in case it's never generated by the project importer (dbded97)

5.0.2

08 May 08:34
Compare
Choose a tag to compare

5.0.2 (2024-05-08)

Bug Fixes

  • ILDtkImportedFields erroneous behaviour where extra calls with improper parameters are being passed through (177da3c)

5.0.1

06 May 22:53
Compare
Choose a tag to compare

Attention!

I'm experimenting with using semantic release, so there won't be .unitypackage on here or on itch.io for a while, and you'll need to download new versions from openupm.

I'm looking at potentially automating the unity package pipeline so that they are available like before.
With that said, here's the automated release notes, and ones for the future:

5.0.1 (2024-05-06)

Bug Fixes

  • LDtkComponentParallax will now execute after all other scripts to prevent potential race conditions in FixedUpdate or LateUpdate (d3f90df)

5.0.0

06 May 03:15
Compare
Choose a tag to compare

Additions

  • Added support for animated tiles in the import pipeline! Learn the setup here

  • Added new component LDtkComponentLayerParallax: For all layers to mimic the parallax motions seen in LDtk

  • Added new component LDtkComponentLayerIntGridValues: A component with various functions to help with getting IntGrid value data

  • Added new component LDtkComponentTilesetTiles: A component with various functions to help with tileset tiles

  • Added various new components and ScriptableObjects, eliminating any requirement to deserialize json data. Check the docs here for more info

    • Total new ScriptableObjects
      • LDtkDefinitionObjectAutoLayerRule
      • LDtkDefinitionObjectAutoLayerRuleGroup
      • LDtkDefinitionObjectEntity
      • LDtkDefinitionObjectEnum
      • LDtkDefinitionObjectField
      • LDtkDefinitionObjectLayer
      • LDtkDefinitionObjectTileset
    • Updated existing components with new json data:
      • LDtkComponentProject
      • LDtkComponentWorld
      • LDtkComponentLevel
      • LDtkComponentLayer
      • LDtkComponentEntity (new)
  • LDtkComponentWorld: Added a new convenience button to the world component inspector to spawn all the world's separate levels

    • Supports multi-selection & undo
    • Project hierarchies with separate levels enabled will now build the world GameObjects in the project hierarchy to allow this feature
  • Added three new "reimport all" buttons into project settings to optionally only reimport all .ldtk, .ldtkl, or .ldtkt files

  • LDtkPostprocessor: Added new AssetImportContext field to work with the ScriptedImporter, like to access the asset path

  • LDtkTilesetTile: Added new helper function GetEnumTagValues to parse the tile's string fields into enum data

  • LDtkTilesetTile: Added new TileId int field to LDtkTilesetTile

  • LDtkReferenceToAnEntityInstance: Added public fields for getting IID

  • LDtkIid: Added implicit operator to string

Changes

  • Optimization: Built tilemaps will now CompressBounds to potentially improve on memory/processing
  • Optimization: Greatly improved the operation speed of clicking the "Reimport All" button in Project Settings
  • Updated: New icon for AutoLayer-related content
  • Updated: Samples

Fixes

  • Compile Error: Fixed a compile error encountered in Unity 6
  • Import Fail: Fixed a tileset file import failure if a tileset texture is not set in LDtk
  • Import Fail: Fixed a problem where the export app would not work on macOS easily
    • This issue is not retroactively fixed, so for any Mac users currently facing this issue, add a $1 to the end of the file's contents in Library/LDtkTilesetExporter/ExportTilesetDefinitionMac.sh
  • Expectancy: Fixed the project importer's composite collider option not showing in the inspector if there's no IntGrid layer but if there is a Tile/Auto layer
  • Expectancy: Fixed issue when reimporting all in project settings, where some assets that failed to import would not reimport whatsoever
  • Expectancy: Added new error log if a tileset file's texture is not a TextureType of Sprite
  • Expectancy: Removed an unnecessary error log if a layer's tileset definition was not set
  • Expectancy: All checks for a backup file will now happen before checking json version to avoid unnecessary errors

Breaking Changes

  • Deprecated some values in the imported components. They are instead accessed in their definition object.
    • All deprecated values will still work the same, except for LDtkComponentProject.FromJson which now return null
  • Planning to remove LDtkEntityDrawerComponent in the future; the new LDtkComponentEntity will be responsible instead