当你在 工程目录下的 Asset 文件夹中放置一个文件时(电脑上的文件夹,不是 Unity 界面中的文件夹),Unity会自动检测到一个新的文件被添加(Unity会不停地检查Assets文件夹中的内容),然后 Unity会给这个资源赋予一个资源ID。

你在 Unity编辑器中看到的资源是经过处理的,他和电脑上原始的资源文件是不同的。例如,纹理可以是Assets文件夹的一个PNG文件,但是可能在导入和处理之后被转换成一个内部格式。

资源使用内部格式,允许Unity保留附加数据,称为元数据

所有资源元数据被保存在Library文件夹

如果你在 Unity编辑器中创建文件夹,这些文件夹会被对应到实际的文件系统里。任何对文件、文件夹的删除、移动操作都应该在 Unity编辑器中进行,不可以直接在文件系统中直接做这些操作。

当备份一个项目时,必须备份各个项目文件夹。

资源对比/下载/更新的一个参考:

http://blog.csdn.net/janeky/article/details/17666409

版本控制

官方说明:http://docs.unity3d.com/Manual/ExternalVersionControlSystemSupport.html

1. 设置:Edit -> Project Settings -> Editor -> Version Control -> Hidden Meta Files 或者 Visible Meta Files

2. 将工程下的 Assets、Project Settings 文件夹加入版本控制即可!不需要加 Library 了。

动态资源加载

http://blog.csdn.net/jbjwpzyl3611421/article/details/11050731

http://blog.csdn.net/dingkun520wy/article/details/26594991

1. 数据(任何自定义的数据,如策划配的表)使用 SQLite (https://github.com/Busta117/SQLiteUnityKit)存在一个2进制文件 data.db 中 
1.5. 一开始, data.db 放在 Application.streamingDataPath 路径下,安装到 Android 后,这个路径会自动对应到某个路径中。
2. 但是,因为 Application.streamingDataPath 这个路径是只读的,所以,所有的东西‘后来’都存储在 Application.persistentDataPath 中(这个路径可读可写)。这样,数据其实在 streaming 和 persistent 中各有一份,自己处理一下,看是要一开始就拷贝到 persistent 变成同一份还是要怎样都可以。反正后来就只在 persistent 中处理了
【有点怪,据我所知就是这样的】
3. data.db 的写入:(更新时需要写入)使用 WWW(url) 下载,下载完后数据在内存中,然后自己使用 System.IO 写到 Application.persistentDataPath/data.db 就可以了
4. data.db 的读取:普通的读取(使用 System.IO 读取)
5. .unity3d (即 .assetbundle ) 的写入:也是用普通的写入,即 System.IO 写入
6. .unity3d (即 .assetbundle ) 的读取:使用 WWW (localpath) (用WWW才能解成Unity识别的东西)的方式从 Application.persistentDataPath 读取

7. 这2类文件都使用2进制数据求差异的方式更新(如果文件太小也可以用替换的)

Unity资源管理与更新的更多相关文章

  1. Unity 资源管理与更新

    当你在 工程目录下的 Asset 文件夹中放置一个文件时(电脑上的文件夹,不是 Unity 界面中的文件夹),Unity会自动检测到一个新的文件被添加(Unity会不停地检查Assets文件夹中的内容 ...

  2. Unity代码热更新方案 JSBinding + SharpKit 首页

    目前Unity的代码更新方案有很多,主要以lua为主. JSBinding + SharpKit 是一种新的技术,他做了两件事情: JSBinding将C#导出到 JavaScript (引擎是 Mo ...

  3. 出售一套Unity + Lua热更新框架代码

    出售一套Unity + Lua的客户端框架代码,功能有资源管理.网络通信.配置文件解析.热更新.文件读写.Lua加密揭秘.UI框架.打包工具.编辑器工具等,已经在多个实际项目(已上线)中使用.代码优雅 ...

  4. 【转载】Unity 合理安排增量更新(热更新)

    原帖地址:由于我看到的那个网站发的这篇帖子很大可能是盗贴的,我就暂时不贴地址了.避免伤害原作者 原版写的有点乱,我个人修改整理了下. --------------------------------- ...

  5. JSBinding+Bridge.NET:Unity游戏热更新方案

    老版本链接如下:http://www.cnblogs.com/answerwinner/p/4469021.html 新用户不要再使用老版本了. 新版本 JSBinding 将抛弃 SharpKit ...

  6. 用ECMAScript4 ( ActionScript3) 实现Unity的热更新

    unity热更新是一个经久不衰的话题.除了最常见的lua之外,还有如JSBinding,C#等等.这里介绍一个使用ECMAScript4进行热更新的方案.它吸收了各家的优点,特色很鲜明. 项目地址: ...

  7. 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- Demo分析

    如何创建工程 下载最新的Unity发布插件包. 打开Unity,新建一个项目 将插件包导入 在菜单中点击ASRuntime/Create ActionScript3 FlashDevelop HotF ...

  8. 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 在脚本中使用MonoBehaviour

    继上次分析了热更新的Demo后,这次来介绍如何在热更新代码中使用MonoBehaviour. MonoBehaviour挂载到GameObject对象上的脚本的基类.平常Unity开发时,简单的做法就 ...

  9. 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 使用原型链和EventTrigger

    原型链是JS的必备,作为ECMAScript4,原型链也是支持的. 特别说明,ActionScript3是支持完整的面向对象继承支持的,原型链只在某些非常特殊的情况下使用. 本文旨在介绍如何使用原型链 ...

随机推荐

  1. IOS 导航栏属性设置

    IOS 7 以上系统导航栏: [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; // 返回按钮颜色 [UINaviga ...

  2. UVALive 4682 XOR Sum (trie)

    题意:求一段连续的数字使得它们的异或和最大. 思路:首先利用前缀和求sum[i],这样求某段连续数字异或和最大就是求某两个j和i满足sum[i]^sum[j-1]最大,问题就变成了找两个数的异或最大. ...

  3. Ogre中OctreeSceneManager

    转自:http://blog.csdn.net/yanonsoftware/article/details/1067265 既然前面分析Mesh(Entity,SceneNode)的渲染时已经看到了O ...

  4. 45个非常有用的oracle语句(摘自尚学堂)

    日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 “SYSDATE”来指定查询的日期. 1 2 SELECT TRUNC (SYSDATE, ...

  5. iOS开发之瞬间位移动画效果

    步骤:1.使用single view application 创建一个新的项目 2.在.h文件中遵守<UIGestureRecognizerDelegate>协议,创建一个UIimagev ...

  6. A​n​d​r​o​i​d​ ​B​l​u​e​t​o​o​t​h​详​解(Android英文文档相关译文)

    一.Bluetooth Android平台包含了对Bluetooth协议栈的支持,允许机器通过Bluetooth设备进行无线数据交换.应用框架通过Android Bluetooth API访问Blue ...

  7. 多态-I(继承实现)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. C#指针转换

    下表显示了预定义的隐式指针转换. 隐式转换可能在多种情形下发生,包括调用方法时和在赋值语句中. 隐式指针转换       From To 任何指针类型 void* null 任何指针类型 显式指针转换 ...

  9. iOS-APP的沙河目录

    为了安全的缘故,一个应用只能拥有一些目录,用来写入应用的数据或者首选项参数.当一个应用安装到系统,会创建该应用的home目录.以下列出一些home目录下的主要的子目录:/AppName.app:存放应 ...

  10. busybox reboot 无效

    /*********************************************************************** * busybox reboot 无效 * 说明: * ...