Before the development has been using COCOS2DX, recently began to build Unity3d framework, a major problem encountered is the hot update. Although the code uses the Slua script, Unity3d also provides the Assetbundle solution, but there are still a lot of problems to be solved.
1. Complex resource-referencing scenarios. The COCOC2DX update scheme is simple-add additional searchpath so that you can ensure that the latest resources are used as long as you set the path to the update file. But Unity3d is not, because it does not have cocos2dx fileutils, there is no way to control the load of all resources. Unity3d's source of resources has three paths, unity automatically packaged, Resources/streamingassets, Assetbundle. The first is a static resource index, the editor how to set how to get the resources, packaged into the package. The second is dynamic resource loading, but the resources are also bundled into the package and cannot be updated. The third option is to package resources and let us manage resources, which is an optional hot update scenario.
2. Resource loading scheme. In the game package, we are using a static association, such as the launch of the scene Sceneload, then the use of the resources are the original into the package, that Assetbundle is downloaded, how can we load it? The answer is to dynamically load the next scene instead of writing dead in the code. In this way, we can control the information of the loaded resources and the scene through a resource configuration file Resourceinfo--which assetbundle or resources are used.
What should be the granularity of 3.assetbundle? If each file generates an AB, it is inefficient, but if all resources are made into an AB, the amount of downloaded resources may be too large, the partitioning of modules and resource management is not good. A better way to do things, through functions or modules, such as UI, models, generic resources, etc.
4. In the resources, the scene is a special resource, because it has a static dependency on other resources, so the packaging scenario must contain a lot of other resources. Scripts are also a special resource, and you need to set up a directory relationship.
Reference: http://www.cnblogs.com/lancidie/p/5878792.html
This article from "Mountain Heavy Water Complex" blog, declined reprint!
Unity3d resource management and hot-update scenarios