Downloadables are a pretty straight-forward feature of GameSparks. It allows developers to host static files through the platform which can be downloaded with out-of-the box requests or APIs from the client. Downloadables in GameSparks also come with a few limitations such as the size of the files which can be hosted, other platforms might have similar limitations.
In essence, Downloadables are a CDN (Content Distribution Network) which is served using AWS S3. You upload files through the portal and give them a unique code. When a player requests the file, GameSparks will request a short-lived URL where the player can download the file and return that to the player. It is then up to the client to download that file.
In this topic we will discuss how other platforms deal with their CDNs and hosting static files. Because of the simplicity of this system, it is not necessary that these alternative platforms provide a CDN or alternative feature for Downloadables. There are other options available and creating your own system is not difficult and does not require much maintenance. You can see one approach here using AWS S3 in a similar way to GameSparks.
Beamable does not currently offer any CDN support outside of their Content feature which can be used for a wide array of static content. However, you cannot serve whole files (like Unity packages for example) using Beamable Content at the moment.
However, it is possible to create your own CDN and hook it up with Beamable using Beamable’s Microservices alternative to GameSparks Cloud-Code. There is a topic here on how to use Beamable Microservices, and another topic here on how to replicate GameSpark’s downloadables feature using AWS services.
AccelByte does not currently offer any CDN alternative to GameSparks’ downloadables, however it does have an alternative to GameSparks’ Uploadables feature where players can upload their own content.
We won't cover uploadables in too much detail here but you can see the APIs for AccelByte’s Slots feature here.
The process is similar to GameSparks:
- [Post] - Create a new slot. You can now get the URL and upload the binary into that slot
- [Get] Get the URL
- [Update] Allows you to upload/overwrite the data
- [Delete] Removes the data from the slot
While AccelByte does not currently have an alternative to GameSparks Downloadables it is possible to create your own CDN using AWS services. We have a guide on this here. This would require either a custom microservice or your own backend with the AccelByte Goland or JS SDK integrated. There are more details on this process in our topic on Cloud-Code here.
brainCloud supports a Global Files service that allows developers to upload files to be downloaded by client apps. These files are automatically distributed to AWS CloudFront CDN for fast downloads.
Uploading of files to brainCloud is normally done via the Design Portal. It is also possible to upload a file as a User File via a Client Library, and then convert it to a Global File via an API Call.