Search Unity

Best Cloud Storage Program For Unity

Discussion in 'Multiplayer' started by taylorbrown2686, Apr 6, 2020.

  1. taylorbrown2686

    taylorbrown2686

    Joined:
    Jun 14, 2019
    Posts:
    27
    Hello Unity Forums,

    I work at a print shop developing AR apps. Our goal of this project is to allow users to send us pictures that we can print and frame, and then set up the picture as an image target using Vuforia. This way, when our app is open, they can see the picture they bought become animated and lively. We currently have around 25 image targets in our app, and it's quickly becoming too cluttered.

    We want to store all the images on a cloud-based database online, and only pull the images from that when the app opens. This would reduce filesize and increase performance as everything is stored remotely. My question is:
    What is the best application/program to do this with? We have looked into a few options, but Unity support is usually pretty limited. I'm not too versed on cloud databases, so any information on them and which ones we should consider is highly appreciated. Thank you for reading, and have a great rest of your day!

    EDIT: Yes, I have heard of Vuforia's Cloud Recognition. We don't want to use this because eventually we will have user accounts, game data for game-based prints, etc, and we will need to read/write data that isn't just images to a cloud database. Vuforia CR doesn't support this to my knowledge, it only allows you to store images.
     
    Last edited: Apr 6, 2020
  2. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    Pictures you generally want to store on hard storage instead of databases.

    An easy solution would be Azure blob storage or AWS Buckets that are cheap and setup like a folder system similar to your desktop. The location of the image would be a url that you would download onto your device.

    Five minute example (Short term working link)

    LINK REMOVED

    So end user uploads to whatever folder like above. And someone downloads it from that link.

    That is a public address, which you often don't want to use and instead route it through a proxy that only your app can access. You usually want to compress the image before storing it to save on storage and bandwidth costs. So, the user would be downloading most likely a byte array.

    https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction
    https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html
     
    Last edited: Apr 10, 2020
  3. taylorbrown2686

    taylorbrown2686

    Joined:
    Jun 14, 2019
    Posts:
    27

    Hey, thanks for the response! I've looked into Azure before, but after some research I think we have decided on Google's Firebase. It has authentication systems, storage, global messaging, and much more.

    Thanks for the part on proxying, that definitely seems like the best way to go. Compressing the image will save on storage with the massive amount of images we have, and sending it through a byte array will make the transfer process a lot faster and less intensive on the end-users network (eventually we want to make image targets outside, so it's unlikely the user will be connected to WiFi every time the app is being used).

    Thanks for the response, I'll keep your advice in mind!

    Taylor Brown