Manage resources for mobile game

I’m developing a mobile game with Unity3D (I target Android only). The game system has a card collection system so I have more than 500 card textures for the game. The current way to render those textures is:

I declare a texture array in my script

public Texture[] cardTexture;

and I drag those textures one by one onto Unity Inspector panel. Now I cant even compile the apk file when I have too many textures included. I believe the mobile games on the market doesnt do in this way.

So anyone have idea or sample code for this? Thank you!

I think that if you put the textures in your array they are included in your build and when you launch the game, your 500 texture are loaded.

What you need to do is to build your own resource loader/unloader. Using Resources.
Maybe you will find something in the assetstore to ease the work.
Here is an example:

public T Load<T>(string path, Type systemTypeInstance)
{
	T obj = default(T);
	obj = (T)(System.Object)Resources.Load(path, systemTypeInstance); // Ultimate Cast...
	return obj;
}

public void Unload(UnityEngine.Object obj)
{
	Resources.UnloadAsset(obj);
}