Working with hashes is no fun. In order to make the Asset Transfer Protocol (ATP) more usable for content development we are introducing the concept of path mappings. This will allow you to use your Asset Server like you would use an S3 bucket or simple HTTP file server.
To use this new feature you will need a client and server that is at least build 4440. Old clients are unable to connect to the updated Asset Server, and updated Asset Servers cannot serve files to older clients.
In your domain (or a domain where you are allowed to create entities), pull up the new “My Asset Server” dialog. It is available in the Menu under “Edit”. If you had any existing assets, they will have been migrated to the new system and you will see some initial mappings with truncated hashes.
From this dialog you can add and edit file mappings in your Asset Server. If you right click on an item in the list, you will be given an option to copy the URL for that asset. This URL can be used anywhere in High Fidelity. For example, you can use the
atp:/ URL as as an entity model URL, a script URL, or a sound URL in a script.
The ATP URLs have the following syntax:
So, if I have a file in the root of my Asset Server named “chair.fbx”, the ATP URL is
atp:/chair.fbx. If I have a file in my Asset Server at the path “content/sounds/boom.wav” the ATP URL is
Don’t forget the leading slash!
Note that assets are currently only available inside your domain. The Asset Server is best used to host the content used by entities and scripts in your domain. Your avatar mesh would not be an ideal use case for an ATP asset since it is not likely to be available under the same mapping from the Asset Servers in the other domains you visit.
Here is an overview of the features being introduced:
- QML Asset Server browser to view and modify path mappings
- Upload of local files to Asset Server at a given mapping
- Rename of existing mappings (files/folders) in the Asset Server
- Deletion of existing mappings (files/folders) in the Asset Server
- “Add to World” to add model files from Asset Server in front of your Avatar
- Persistence of mappings in Asset Server to local map.json file
Internally the Asset Server still has a directory of files whose filenames are the SHA256 hash of their content. The file system you will see via the QML interface in the High Fidelity client does not match how the Asset Server is storing the files on your machine. The client asks the Asset Server for its mappings and produces the displayed tree of files.
You may notice that the Asset Server is still keeping the files you have deleted mappings for. Once we confirm that the new mapping system is stable, we will soon enable deletion of unmapped assets in your asset directory.
We know there are still some bugs in the networking layer that are causing some users to be unable to see ATP assets. We are actively looking into those bugs. If you have any issues seeing ATP assets or serving ATP assets to viewers, please send me a message and I’ll work with you to gather more information.