Features for resource management

(Max Yankov) #1

I’ve just started using Amethyst, and after completing the Pong tutorial, I’ve noticed that it lacks some resource management features:

  • Managing paths and file names — while at the moment the only way to edit prefabs is manually, I’ve seen that Editor is planned, so it would make much more sense to let designers automatically link any resources by automatically generated handles.
  • No packed format — as I see, the only way to load a sprite now is from an image file from disk, without any way to pack resources with architecture-specific format and then save time on loading them into memory directly.
  • Manual management of what’s included and excluded in the build — one of the most usaful features of Unity (which, unfortunately, does not work with their sprite packer) is ability to just throw assets into the project folder and then let the engine decide which ones are referenced anywhere and need to be included in the build, and which one aren’t. That way, you don’t have to worry that your build includes a bunch of stuff that no one actually uses anymore.
  • Single sprite/spritesheet agnostic loading — right now the code needs to know if it’s individual sprite or a spritesheet, so when you decide to pack a sprite, you need to change the loading code as well. It would be nice to abstract it away
  • Automatic sprite packing — this one should be self-explanatory; automatically pack sprites on build time.

So, in regard to all of these, I have questions:

  • Are these features indeed lacking? (May be I’m an idiot and some of them are already implemented)
  • Are these features planned for development?
    • If yes, then may be there are already work-in-progress issues that I can look up and join the development effort on them?
    • If no, has it been a conscious decision not to implement them, or have they simply not been considered? What’s the process for me to propose these features and start development on them?

(Kae) #2


Thank you for your interest in Amethyst!

As for all those features, I am working on a new asset system which includes support for all those things. It’s here: https://github.com/kabergstrom/atelier-assets and the intention is to migrate it to the Amethyst org when it’s in better shape.

If you want to work on it with me, you can join me in the #assets channel on Discord and we can talk about it.

The Amethyst org has a separate sprite sheet packer called sheep: https://github.com/amethyst/sheep
It’s currently a standalone command but is intended to be integrated into the asset pipeline later.


(Max Yankov) #3

Thanks! Judging from README, it looks that it aims exactly at issues I lined out. I don’t think that I’ll be able to meaningful contribute in the near future, as I’m still learning Amethyst, creating different toy projects and browsing through the most basic “first issue” labels, but I will definitely try atelier out and hopefully, will be able to contribute later.


(Kae) #4

Great! master doesn’t work for loading assets right now, so have some patience :slight_smile: only importing and indexing works entirely. But I’m almost at a stage where loading works over RPC :smile:

1 Like