当你在 工程目录下的 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. 【转】FFMPEG 库移植到 VC 需要的步骤

    原文:http://blog.csdn.net/leixiaohua1020/article/details/12747899 在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷 ...

  2. 2016 - 1 - 22 HTTP(一)

    一:通过URL找到服务器   1. URL的概念: 1.1 URL全称Uniform Resource Locatior 统一资源定位符 1.2 通过一个URL就可以找到互联网上的唯一的资源. 1.3 ...

  3. PHP中的文件上传

    文件上传:    1.单个文件上传    2.多个文件上传    一.PHP配置文件中和上传有关的选项    file_uploads=on    upload_max_filesize=    最大 ...

  4. swift系统学习控件篇:UIbutton+UIlabel+UITextField+UISwitch+UISlider

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIButton+UILabel // // ViewController.swift // ...

  5. (并查集 or BFS+二分)HDU5652

    点击打开链接 并查集: #include<cstdio> #define N 505 using namespace std; struct node { int x,y; }; char ...

  6. mysql主从同步报slave_sql_running:no的解决方案

    1.没有正确设置server_id(如没有正确设置从配置项) ps:可手动设置server_id 2.slave stop;set global sql_slave_skip_counter=1;sl ...

  7. HDU 5093

    http://acm.hdu.edu.cn/showproblem.php?pid=5093 二分图最大匹配的经典建图模型,行列分别缩点(连起来的'*' & 'o'),交集有'*'就连边 #i ...

  8. WPF文本框密码框添加水印效果

    WPF文本框密码框添加水印效果 来源: 阅读:559 时间:2014-12-31 分享: 0 按照惯例,先看下效果 文本框水印 文本框水印相对简单,不需要重写模板,仅仅需要一个VisualBrush ...

  9. AssemblyInfo.cs的作用

    总结:用来设置项目生成的dll的常规信息.(如版本.版权等等)它就相当于一个资源文件,存放资源信息. http://www.cnblogs.com/xuyuantao/articles/927285. ...

  10. 12-1 上午mysql 基本语句

    create table test( code varchar(20) primary key, name varchar(20)); 关键字primary key 主键非空 not nullfore ...