Sincerely ask: How tiled support prefab?

I have been see the Tiled docs, but the problem is: it seems that the template is not powerful.

The template don’t like prefab in unity. A prefab can combine many other prefab.

Using Templates — Tiled 1.10.1 documentation (mapeditor.org)

Here is my quesion:

One day, my job is to put[1 desk and 2 chair] everywhere, so I copy and paste them everywhere, for example, 100 times, finally, I done my job.

But, suddendly someone ask me to change it to [a desk and 8 chair], then what could I do?

Is Tiled has any tool or any command to support like this ?

No, Tiled does not currently have a built-in way to do this. This would require supporting object hierarchies, for which there is an issue open: Feature Request: Nested objects · Issue #2062 · mapeditor/tiled · GitHub

For now, there are a couple of ways to do this currently, but neither is great, and both require extra scripting work on your part either in Tiled, or in your importer:

  • Build your prefabs as Maps in Tiled, and load all those maps into an Image Collection. You can then place these groups of objects as if they were images. When you modify the source Map, you can reload the tileset to update all instances of it. When loading/importing your maps, or when exporting to some other map format, you will need to resolve these tiles to their source map and its component Objects. A drawback to this method is that you will not be able to edit the properties on the individual component objects.
  • Place the objects separately (e.g. via copy+paste), and write a Tiled script that can look for specific arrangements of objects in your map(s) and replace them with other objects. You can use Maps to define these multi-object pseudo-templates in this method too. This approach would let you edit the component objects directly and would produce completely standard Tiled maps with no special tilesets, so you wouldn’t require any special handling when using the maps. The downside is that the script could get quite complicated if you want it to account for a variety of modifications to the objects, overridden properties, etc, and you’d have to write this script.

I have read the reply and read some comment in these url:

Feature Request: Nested objects · Issue #2062 · mapeditor/tiled (github.com)

Complex objects from several primitive objects · Issue #572 · mapeditor/tiled (github.com)

This feature seems difficult to program. Because the elder issue is 2013, and now is 2023.

This feature is really import for me, sadly for know it.

I don’t means that I need a powerfull tool, like nested object, complex object, maybe there’s something easier like a tag, or parent id, group id to support it.

And thank you for replying.

I suspect the main reason this hasn’t been added isn’t its difficulty - though that is a factor - it’s that other features have taken priority for bjorn, and no one else has stepped in to work on this one. This feature request just doesn’t come up often, even though it could be quite useful even to those people who don’t think they need it.

If you’d like to tackle this feature yourself, please do! If not but still want this feature prioritised, the Tiled Github Sponsors page and Patreon have tiers that let you sponsor a particular feature.

OK, these days I am so busy and have no time and energy to develop it. I just start use Tiled, and know little about it, maybe when I am more familiar with Tiled and not busy, I will try to support it on my local pc and then pull request, and maybe not.