If you want every attachment to be unique then of course there can be no shortcuts and you have to rig each one individually in Spine. The most common use cases get the most attention and most people aren't rigging tens of thousands of attachments in Spine, but some are. Spine is quite efficient and scales well. Last we tested, on a beefy desktop you can get up to around 75k attachments without dipping below 60fps. You can test this yourself by duplicating your attachments, selecting them all, duplicating a few items, selecting everything again, duplicate, etc. The Metrics view shows you how many attachments you have, eg here's 54k attachments at 61fps:
Loading Image
Spine's frame rate is limited to 60fps by default. You can set the limit higher in the settings to see how increasing the number of attachments is affecting it. Also in the settings is Show FPS
, which shows the FPS in the title bar when an animation is playing.
Note that such a massive project may be hard to maintain for reasons other than Spine's performance. Also such a project's performance is more sensitive to changes in Spine. If you do encounter performance issues, please let us know.
Most projects with a huge number of attachments are willing to take some shortcuts to make it easier to create new content (new attachments). The idea is to rig an attachment that is essentially a template. At runtime, you copy the attachment and change the texture region it uses. This means in Spine you only rig one of each type of attachment, which can save an enormous amount of effort.
Runtime Skins - Spine Runtimes Guide: Creating attachments
At runtime it's unlikely that you can pack all your images into a single atlas page texture. You likely will want to determine what images a skeleton needs based on their in-game equipment, animations that will be played, the game's level, etc. You would distribute loose image files in your app and you'd pack an atlas with only the images needed.