You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将自定义包发布至AssetStore并确保导入至Packages文件夹?

解决Unity AssetStore工具导入至Packages文件夹的问题

核心思路

Unity AssetStore默认将资源导入至Assets目录,但要实现导入到Packages文件夹,需结合Package Manager兼容结构与AssetStore特殊打包逻辑,同时处理Editor Default Resources的编辑器识别需求。

具体步骤

1. 调整项目结构适配AssetStore上传要求

将完整的package结构放入Assets/[你的工具名]目录下,保留内部层级:

Assets/
└── YourToolName/
    ├── package.json
    ├── Runtime/          # 存放图片、预编译DLL等核心工具文件
    ├── Editor/           # 编辑器逻辑代码(若有)
    └── Editor Default Resources/  # 编辑器资源文件夹

注:Editor Default Resources必须处于Assets目录下才能被Unity编辑器识别,直接包含在上传目录即可。

2. 添加导入后自动移动至Packages的编辑器脚本

在Assets/YourToolName/Editor目录下创建PackageMover.cs脚本,内容如下:

using UnityEditor;
using System.IO;
using UnityEngine;

[InitializeOnLoad]
public static class PackageMover
{
    static PackageMover()
    {
        string sourcePath = Path.Combine(Application.dataPath, "YourToolName");
        string targetPath = Path.Combine(Application.dataPath, "../Packages/YourToolName");

        // 避免重复移动,仅在Packages目录无该工具时执行
        if (!Directory.Exists(targetPath) && Directory.Exists(sourcePath))
        {
            Directory.Move(sourcePath, targetPath);
            AssetDatabase.Refresh();
            Debug.Log("工具已自动迁移至Packages目录");
        }
    }
}

替换YourToolName为工具实际名称,该脚本会在项目加载时自动执行一次移动操作。

3. AssetStore打包与发布注意事项

  • 上传时选择Assets/YourToolName作为根目录
  • 在工具描述中明确告知用户:工具会自动导入至Packages目录,无需手动操作
  • 用全新Unity项目测试打包包体,验证移动逻辑、资源识别是否正常

4. 确保package.json符合Unity规范

示例配置如下,按需修改字段:

{
  "name": "com.yourcompany.yourtool",
  "version": "1.0.0",
  "displayName": "你的工具名称",
  "description": "工具功能描述",
  "unity": "2020.3",
  "keywords": ["工具", "编辑器"],
  "author": {
    "name": "你的名称",
    "email": "你的邮箱",
    "url": "你的官网"
  }
}

关键说明

  • Editor Default Resources迁移至Packages目录后,Unity仍能正常识别其内容
  • 移动脚本仅在首次导入时执行,不会重复触发
  • 务必在干净项目中完成全流程测试,避免缓存干扰

内容的提问来源于stack exchange,提问作者UnknownUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 02:33:21