DotTiled 0.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package DotTiled --version 0.2.0                
NuGet\Install-Package DotTiled -Version 0.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DotTiled" Version="0.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DotTiled --version 0.2.0                
#r "nuget: DotTiled, 0.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DotTiled as a Cake Addin
#addin nuget:?package=DotTiled&version=0.2.0

// Install DotTiled as a Cake Tool
#tool nuget:?package=DotTiled&version=0.2.0                

📚 DotTiled

DotTiled is a simple and easy-to-use library for loading, saving, and managing Tiled maps and tilesets in your .NET projects. After TiledCS unfortunately became unmaintained (since 2022), I aimed to create a new library that could fill its shoes. DotTiled is the result of that effort.

DotTiled is designed to be a lightweight and efficient library that provides a simple API for loading and managing Tiled maps and tilesets. It is built with performance in mind and aims to be as fast and memory-efficient as possible.

Alternative libraries and comparison

Other similar libraries exist, and you may want to consider them for your project as well:

Comparison DotTiled TiledLib TiledCSPlus TiledSharp TiledCS TiledNet
Actively maintained
Benchmark (time)* 1.00 1.83 2.16 - - -
Benchmark (memory)* 1.00 1.43 2.03 - - -
.NET Targets net8.0 net8.0 netstandard2.1 netstandard2.0 netstandard2.0 net45
Docs Usage, API,<br>XML Docs Usage Usage, API,<br>XML Docs Usage, API Usage, XML Docs Usage, XML Docs
License MIT MIT MIT Apache-2.0 MIT BSD 3-Clause

*Both benchmark time and memory ratios are relative to DotTiled. Lower is better. Benchmark (time) refers to the execution time of loading the same map from an in-memory string that contains XML data in the .tmx format. Benchmark (memory) refers to the memory allocated during that loading process.

MonoGame users may also want to consider using MonoGame.Extended for loading Tiled maps and tilesets. Like MonoGame.Extended, DotTiled also provides a way to properly import Tiled maps and tilesets with the MonoGame content pipeline (with the DotTiled.MonoGame.Pipeline NuGet). However, unlike MonoGame.Extended, DotTiled does not include any kind of rendering capabilities, and it is up to you as a developer to implement any kind of rendering for your maps when using DotTiled. The feature coverage by MonoGame.Extended is less than that of DotTiled, so you may want to consider using DotTiled if you need access to more Tiled features and flexibility.

Feature coverage comparison

Below is a comparison of the feature coverage of DotTiled and other similar libraries. This comparison is based on the features provided by the Tiled map editor and the support for those features in each library. The comparison is not exhaustive, and you may want to refer to the respective library's documentation or implementation for details. Due to some libraries not having obvious documentation or feature lists, some features may be incorrectly marked as not supported. If you find any inaccuracies, please let me know.

Comparison DotTiled TiledLib TiledCSPlus TiledSharp TiledCS TiledNet
XML format .tmx ⚠️ ⚠️ ⚠️ ⚠️ ⚠️
JSON format .tmj ⚠️
External tileset callback
Object templates
Custom types (properties)
Hierarchical layers (groups)
Infinite maps
Wangsets ⚠️ ⚠️ ⚠️

✅ Full support. ⚠️ Partial support, see respective library for details about supported features. ❌ No support.

Quick Start

Check out the detailed documentation for more information on how to use DotTiled in your project.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.1 260 10/4/2024
0.2.0 167 9/7/2024
0.1.0 123 8/30/2024