Improving game load on Unity with big data - unity3d

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.

Related

In-Game Asset Downloads Using Play Asset Delivery - Unity

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

Split game Into Parts

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 :)

ARCore augmented Images not tracking outside

I'm working on an app with Unity, in which I want to use ARCore's augemented Images to track Images outside, specifically Images of streetart. I took the pictures and when testing them at home on my Monitor they are easily found, but when I'm trying it in the real world, it does not work. Somehow the pictures are not recognized. I've tried about 20 different pictures of different designs and none of them worked outside. I also ran all of them through the arcoreimg tool and they all performed at 85-100, which is considered good.
I'm stumped on how that could be and would appreciate any ideas on how to fix it.

Loading a unity webgl Game from a separate immersive game

I have a two separate webGL games that built with unity. Which can be uploaded to a Game portal website. One of two games is a 3d game, which player can walk around to places and interact with some objects.
When player interact with it, I want to load the other game inside the same page. I want to do this process backwards as well.
I tried to do this with, adding the two games into the same project. I have lot of problems when doing it.
Light weight render pipeline settings collides
Since the project is a WebGL, It should be a small one one but it does not when I wanted to scale up. (20,30 games)
Because of the size, it does not support to the mobile web platform.
Can anyone give me a solution for this? Any comments would be highly appreciated.
If you take a look at your built WebGL game you'll see an index.html file. You will need to take both of your built games and put them in a folder and create a new index.html (based off of the ones that your WebGL build contain) that will properly load two unityInstances on the same page.
To accomplish this, you will need to change some of your IDs so that the two scripts don't interact with the same DOM elements; and you will need to change the file paths of your built game so that it can access the game even though it's now in a folder.
It's not an easy challenge, and unfortunately, it might require some trickery to get automated. You could also try loading the WebGL project JavaScript or an iFrame.
There is a minimum size that a Unity WebGL project can be (around 10mb), so it's not going to scale up to 20-30 games on a single page. For comparison, a typical webpage is ~2mb nowadays. You are going to have to load them one-at-a-time.

saving video from Anylogic run results

I want to save the video from the results of my Anylogic simulation. Could you send me a guide?
I want to send my result for others that they didn't install Anylogic. Also, I want use a video of results in my powerpoint.
THANKS
AnyLogic does not come with video recording. Either, you upload the model to the AnyLogic cloud and let your users play with it themselves.
Or you install a screen-recording software such as the free ScreenCast-o-Matic
You can set up a script to speed up, slow down, jump to a time, zoom, pan, change views etc. during the run. Then you will need to use screen capture software like snagit, or others to actually capture the video and save it to a file.
With the script you can create a more interesting video if you want to move around and focus on different areas without making a whole bunch of smaller videos that you have to piece together.