We use Spine in our live project and I want to understand how I can reduce spine's memory usage in our project.
Our setup
We run on unity 2019.4.34f.
The game is android and ios.
We have 140 duplicate characters.
We have another 5-35 unique characters. (some of these duplicate depending on player choices).
There are a maximum of 6 skeletons active at the time (they are atlased, but that is accounted for in the character count above).
The problem
In the a level, the player starts with just one character, and then scales up to the 170 mentioned above.
When all 170 characters are active the profiler shows that 75mb of System.Single[] and I have validated that the size of this memory chunk grows as more characters are activated. I have also taken snapshots where I level everything except the number of spine characters, and the memory usage doesn't grow anywhere near as large.
My questions
- Is it possible to share skel data between multiple entities?
- What is the most efficient way to use spine with regards to the memory profile?
Attachments
I have attached some snapshots of the memory of the game from unity. Showing 4 characters, roughly 70-80, 170 (max), and a breakdown of the max.