I am making a game and it is going to have a lot of assets in the game and the download size is going to be very big. I am using the Play Asset Delivery to upload my large game to Play Store. More than 90% of the assets are maps. I have a few maps in the game and I don't want them all to be downloaded when the player is installing the game from the Google Play Store. Like Call of Duty Mobile I want the player to be able to download each map individually in runtime.
I separated the assets of every map into a separate assetBundle.
I read the Play Asset Delivery documentation and it seems like I have to use On-demand for each assetBundle.
But the when I build the game and upload it to play store it will download the whole game again. I don't know how to make it not download the on-demand assetBundles.
How do I do that?
is it event possible?
And sorry if my English was bad.
Here's the reference on how you retrieve the assets: Unity Documentation
Basically you need to import the Play Asset Delivery library and call the RetrieveAssetBundleAsync() method to retrieve an AssetBundle.
You can also request asset asynchronously and monitor the download progress.
Here's another reference on how you download the assets. Retrieve assests
Related
Hello I have a big game (mobile) divided into different parts is it possible to build a small version and make the user only download certain part ?like for example creating different games and he can download some
It's complicated but it's possible.
I don't write code because it would be endless work, but I give you some guidelines:
Asset bundles
Asset bundle is a way to very compress all your assets except scripts.
Basically you can think of it as zip files, which you can unzip and use whenever you want.
For example you can insert all the assets of a specific minigame, such as textures, 3D models, sprites, audio files and the rest.
When the user wants to play a minigame, you will have to unzip it.
You can also show a screen showing the upload percentage.
Firebase Storage
Asset bundles save you a lot of space, but if you need to save even more space, you can upload them to a server and the user will download the asset bundle from the server.
Obviously it will take a little longer than to recall it from memory; moreover, he will not be able to download it and then play it if he is offline.
To upload your asset bundles, I can recommend the Firebase Storage service.
You will not pay anything for a long time because you have 5gb free and in a month you can download it seems to me up to 1gb totally free.
Alternatively you can rent a normal server.
if you think my answer helped you, you can mark it as accepted. I would very much appreciate it :)
i'm fairly new to Flutter and is currently working on a course app that requires downloading the videos to the app.
The downloaded video will only be accessible through the app just like Youtube and Netflix, and will be hidden/encrypted from gallery. Would greatly appreciate if someone if someone could point me in the right direction in building this feature.
On iOS and Android your app has it's own isolated folder for storing documents. Items stored there are not intended to be accessible to the user outside of your app. This folder isn't scanned by the Gallery or accessible to other apps on the device. (However, with a little effort a user can access the files so this is not a complete solution where security is an concern. You would need to add encryption if you didn't, say, want a motivated user to copy the video file to a PC and be able to play it.)
the path_provider plugin gives your Flutter app common file locations on a device. The private app folder location is retrieved with getApplicationDocumentsDirectory()
"Download video" is a vague requirement. Most video on the internet (Netflix, Youtube) is provided via HLS or DASH for streaming, which you do download but the video is split up into many files- sometimes thousands of files for a single video. The dart:http package is likely what you're going to want to use to get/download the files (unless the video files aren't available via HTTP/HTTPS, then you'll need a different transport-specific library, like FTP, RTSP, etc.)
In my Unity project I want to download images from google drive. I already have a connection with gdrive and I can check what files are on the drive. At first I want to download images, but eventually obj and fbx files.
Unfortunately I do not know how to download and put on the scene picture.
Could someone explain to me how to do this?
You have two ways to do what you want:
1) Using Unity3d WWW class to download images, and then retrieve
texture using www.texture field.
2) Using platform specific class to download image, and then retrieve texture using Unity3d native method.
I am working on a unity project using vuforia and the vuforia video playback. The project involves adding a lot of mp4 files directly into the project directory because the vuforia video playback needs a local path to the video. The unity project is now up to 3.2 GB, and I just started development. Are there any ways to combat this issue of this app potentially getting way too large?
I recommend storing your larger files in an Asset Bundle. Asset Bundles allow you to store your content online, and download it when necessary (once opened after install, or after the user has paid for the content). You can access your assets locally using the Asset Bundle directory:
Application.dataPath + "/AssetBundles/" + assetBundleName
Compress the files as much as possible until you see some visible quality drop. You just need to find the best combination of video resolution and audio / video bit rates.
I'm developing a game for kids with the Unity3d platform. My game has a lot of pictures and images. When I load the game I'm using a Hashset of about 50,000 strings. Each string is a word for each picture I wish the player to see.
What can I do in order to reduce the loading time of the game to a minimum? Currently it takes about 20 seconds just to open the game, without doing anything.
My project is for Android devices at this moment.
Is loading the images and data via a web API not a better idea?
Using the WWW object you can then load the specific files you need at that time. This way you don't have to export the data with the app and keep it really small and fast.