The goal is to make assets readily consumable for your project, 1 click in, 1 click out, no waiting.
--What is an Asset Farm? It is a folder of Asset Packages which the user is interested in, to make their projects grow.
--What is an Asset Package? it is a zip file of things for your project. It can be anything you would add or create with AtomocEditor. The advantage of an Asset Package is it can contain a singe item or a collection of items for use. These items are described in the Meta-Object. Ideally they would be items that would not require further processing to be usable, and you should not need to change the asset to make it function, though there are always exceptions. They should use the "standard" directory structure used by Atomic, Components/Materials/Models/Prefabs/Scenes/Scripts/Sounds/Textures et al. There also needs to be provisions for having common files for a collection of assets.
--Because some assets are really big, there should also an ability to browse other Asset Packages or Farms out on the network, and download the ones you need into your Asset Farm (folder). Yes, it's a manual process.
--To manage the assets, there will be a Meta-Object that describes EVERYTHING about the asset, It is a json file. and it may also be copied into the project. It will include a PackageName, AssetName, License, Size, Language, IconFile, List of Files(unique,common), Description, VersionNumber .The IconFile is either a picture of the object or an icon for it's type, and should reside in the same directory as the Meta-Object. The Meta-Object files is also intended to be used to make directory listings or web pages.
--When an asset is added to the project, it will be a copy operation out of the zip file, following the recipe in the Meta-Object. It makes named subdirectories in the "standard" folders, and copies in the needed files, so there are no dependencies back to the Asset Package. To remove an asset, you need the Meta-Object to remove all the offending files.
AtomicEditor Asset Browser
This will be a dialog that contains a list of asset packages, listed like folders, and inside these folders are the list of Meta-Object assets. Each entry has:
* A button to manage the asset. If its not installed, the text will be "ADD", if it is installed, the text will be "REMOVE", and the action happens at button press.
* A thumbnail of what it looks like, or icon of resource type.
* A language icon, if appropriate.
* A use license icon
* A description tooltip with all the Meta-Object information.
Most of the internal plumbing for the adding an asset is zip file reading and folder creation, file copying (kicking the Cache) and removing files and folders, it is even easier.
--Making an Asset Package can be as simple as making a directory of stuff, filling out a Meta-Object file, and zipping it up( otherwise it can be really hard to make stuff). You do not need to be in Atomic Environment to create content. There are some simple rules, like asset paths will have to be programmed relative to the copied layout.
Would you like to know more? E-I-E-I-O.