VRChat Batch Uploader 是一款专为 VRChat 创作者打造的免费 Unity 编辑器插件。它允许你将多个 Avatar 加入队列,实现真正的全自动、无人值守(AFK)挂机批量上传。
作为作者,我非常推崇“极致性能优化”的理念。 目前很多创作者喜欢把所有的衣服、道具全部塞进一个 Avatar 里做成“大衣柜”(通过 Toggle 切换),这会导致极其严重的性能开销(多余的骨骼、材质和网格数据)。 我个人更喜欢将不同穿搭拆分成独立的 Prefab 来保持模型处于最高的性能评级。但这种做法有一个痛点:每次修改完母模型,所有的子模型/穿搭变体都需要手动点击重新上传一遍,非常折磨。
为了解决这个痛点,我开发了这款完全免费的批量上传插件。你可以把所有变体一次性丢进队列,去喝杯咖啡,回来就全部上传好了!
- 🚀 真正的无人值守:针对最新的 VRChat SDK 进行了底层优化,全自动拦截并绕过 SDK 弹出的“版权确认 (I Agree)”和“商品化提醒”模态框,中途绝不卡进度。
- ☁️ 线上数据同步:将模型加入队列时,自动异步拉取线上真实的 Avatar 名称与封面缩略图(所见即所得),彻底杜绝本地命名混乱导致的误覆盖他人模型。
- 🆔 蓝图安全管理:实时拦截重复的蓝图 ID,并支持在面板内一键剥离(Detach)复用模型的 ID,无需繁琐切换即可无缝转为全新模型上传。
- 👁️ 场景深度联动:支持按 Hierarchy 层级一键重排乱序的队列;支持开启“上传成功后自动隐藏场景对象”,让一觉醒来后的查错工作一目了然。
- 🛡️ 极致容错预检:构建前毫秒级拦截包含
Missing Script的异常模型,避免 SDK 中途卡死;支持一键复制失败日志并高亮场景中出错的对象。 - 📱 远程战报推送:支持配置 Discord、飞书或 Slack 的 Webhook URL。挂机任务完成后,系统会自动向你的手机推送包含成功/失败数与总耗时的极简战报。
- 🌐 多语言原生支持:内置 简体中文 / 日本語 / English / 한국어 四语界面,可在设置中随时切换并自动保存偏好。
- ⏱️ 实时独立计时器:队列面板实时显示每个 Avatar 的单次上传耗时(动态跳动,成功后定格),上传进度与耗时一目了然。
- 🚀 深度性能护航:针对长队列上传进行了底层内存优化(引入强制 GC 序列、释放 Shader 变体缓存、主线程让步机制),彻底解决了连续上传时“越传越慢”的性能衰减问题。
- ⏳ 可控的任务缓冲:任务之间提供倒计时缓冲期(可在设置中自定义等待秒数),提供视觉进度条,允许中途安全打断或点击“立即开始”一键跳过等待。
- 📦 极简队列管理:支持从 Hierarchy 拖入对象,也支持从 Project 直接拖入 Prefab(甚至支持未激活的隐藏对象)。
- 🔍 一键扫描场景:点击“扫描场景”按钮,一键抓取场景内所有带有
VRCAvatarDescriptor的模型。 - ♻️ 失败自动重试:遇到网络波动导致上传失败?插件会自动重置计时并进行重试(最多3次)。如果你手动跳过,则会安全中断,避免死循环。
- 🔔 任务完成通知:整个队列上传完毕后,系统将播放提示音(可在设置面板中自由开启或关闭)。
- Unity 版本:
2022.3 LTS及以上(推荐使用 VCC 默认的 Unity 版本)。 - VRChat SDK:
VRCSDK 3.x(兼容最新的 UI Toolkit 面板,测试环境为 3.7.1+)。 - 仅支持 Avatar 批量上传。
本插件开箱即用,提供两种安装方式:
方式一:使用 UnityPackage (推荐)
- 在 Release 页面下载最新的
.unitypackage文件。 - 双击文件或在 Unity 中选择
Assets > Import Package > Custom Package直接导入到你的工程中。
方式二:使用源码文件
- 下载本项目的源码。
- 找到项目中的
VRCBatchUploader文件夹(或相关的.cs文件)。 - 将文件放置到你 Unity 工程的
Assets/Editor/VRCBatchUploader/目录下。 (注意:必须存放在名为Editor的特殊文件夹层级内,如果没有请手动创建) - 等待 Unity 编译完成。
编译完成后,在顶部菜单栏中即可看到 Tools > VRC Batch Uploader。
- 打开面板:在 Unity 顶部菜单栏点击
Tools -> VRC Batch Uploader(或使用快捷键Ctrl + Shift + U)。 - 添加任务:
- 将你需要上传的 Avatar 从左侧 Hierarchy 或下方 Project 直接拖入插件的绿色拖放区。
- 或者直接点击工具栏的 [扫描场景]。
- 调整队列:你可以通过点击行尾的
▲▼调整上传顺序、点击工具栏的排序按钮按层级重排,或点击↑将某个模型设为紧急优先。 - 个性化设置:在设置页面 (Settings) 中,你可以切换语言、调整缓冲倒计时、配置 Webhook 推送地址,以及开关各种自动化设定。
- 开始上传:点击右上角的 [▶ 开始上传],然后你就可以离开电脑了!
本插件内置了对 VRChat SDK 版权确认弹窗的自动化同意机制(用于实现无人值守)。 使用本插件进行上传,即代表您完全理解并同意以下条款:
- 您确认拥有您所上传的所有 Avatar / 素材的完全版权,或已获得原作者的合法授权。
- 您的上传行为完全遵守 VRChat 官方服务条款 (Terms of Service) 以及相关的社区准则。
- 责任自负:本插件仅作为自动化点击和队列管理的效率工具。对于因盗用模型、侵犯版权、上传违规内容而导致的 VRChat 账号封禁或其他法律纠纷,作者(逻辑XR)概不负责。
如果您没有相关模型的合法使用权,请立即停止使用本插件进行上传。
我是逻辑XR。随着工具核心机制的完善与 API 的深度接入,本插件目前已经基本实现了我最初构想的所有核心痛点优化。
项目现已度过快速迭代期,后续将进入缓慢更新与平稳维护阶段。 如果你在使用过程中遇到任何 Bug,或者有绝佳的新功能点子,非常欢迎随时在 GitHub 提交 Issue 探讨,我会定期查看并维护。感谢大家的支持!
- 作者:逻辑XR
- 项目地址:https://github.com/steinlogic/vrc-batch-uploader
- 开源协议:本项目遵循 MIT License 协议,完全免费开源。欢迎提交 Issue 或 Pull Request 来帮助改进此项目!
