Object layers
An object layer is a free-form layer. Instead of a grid of tile IDs, it holds shapes placed at floating-point pixel coordinates. Use them for spawn points, trigger zones, collision boxes that don't fit on a tile boundary, and any data your engine needs to read.
Shape types
- Rectangle. x, y, width, height. The default shape.
- Ellipse. Same bounds as a rectangle, drawn as an ellipse.
- Point. A single pixel position with no size.
- Polygon. Closed polyline. Click to add vertices, double-click or press Enter to finish.
- Polyline. Same as polygon, not closed.
- Text. A rectangle with a text string and font settings.
- Tile object. A rectangle referencing a GID. Used for placed tiles outside the grid.
Properties
Each object has a name, a class (free-form string), an ID, and an arbitrary list of custom properties. Custom properties have a name, a type (int, float, bool, string, color, file, object, class), and a value. Tiled JSON round-trips all of them.
Exporter coverage
Tiled JSON, Lua, LDtk, Godot, GameMaker, and the binary server export all read object layers. Defold and CSV ignore them: those formats only carry tile data. The Tiled JSON exporter is the round-trip baseline, treat it as the canonical source for objects.