Skip to content

[Feature Request]: support tilesets with collection of images #1133

Description

@Grompie

Purpose

The objective of this feature is to expand the MonoGame.Extended.Tilemaps library to support Image Collection Tilesets.

Currently, the implementation expects a tileset to be backed by a single source texture (an atlas/spritesheet). This request aims to update the Content Pipeline to recognize and process tilesets where each tile points to an individual image file..

Motivation

Eliminating Manual Atlas Management: In the current state, developers are often forced to use external tools (like TexturePacker or Tiled's own export functions) to create a single spritesheet before MonoGame can read the map. If a single tile image changes or its dimensions vary, the developer has to re-pack the atlas and re-sync the coordinates. Supporting a "Collection of Images" allows for a "drop-in" workflow where individual assets are updated and reflected in the engine immediately.

Support for Non-Uniform Tile Sizes: Tiled’s "Collection of Images" mode is the standard way to handle "Object Tilesets" (like trees, rocks, or buildings) where each asset has unique dimensions. Because these don't fit into a standard grid-based spritesheet, the current MonoGame.Extended loader often fails or requires hacky workarounds to render them.

Feature Parity with Tiled: As MonoGame.Extended is the most prominent library for Tiled integration in the MonoGame ecosystem, supporting the full Tiled specification—including varied tileset types—is essential for keeping the toolset modern and competitive with engines like Godot or Unity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovement to an existing feature: better defaults, expanded support, or quality-of-lifescope: tilemapTilemap systems, tile layers, chunking, rendering, and related data structures

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions