Q:

UnityHub更新后,打开项目会自动添加Version Control 2.1.0

Unity Hub 3.3.2-c5
Unity 2019.4.34f1c1

报错内容

Library\PackageCache\com.unity.collab-proxy@2.1.0\Editor\PlasticSCM\AssetsUtils\RefreshAsset.cs(23,20): error CS0117: 'Client' does not contain a definition for 'Resolve'
Library\PackageCache\com.unity.collab-proxy@2.1.0\Editor\PlasticSCM\UI\HandleMenuItem.cs(84,25): error CS0117: 'Menu' does not contain a definition for 'GetEnabled'

What:

由于使用Unity2019开发,会缺少一些类导致报错,需要手动把Version Control降级,或者删除。

反正我从来不用这个插件,早期这个插件会导致电脑很卡,后期就没关注过。

现在强制安装就很烦,删除了,每次打开都会自动添加。

Why:

原因不明,是UnityHub添加的,还是团结搞的,不知道。

A:

在项目中新建AutoRemovePlugins.cs,不能放置在Editor目录下

using UnityEditor.PackageManager;
using UnityEditor;
using UnityEngine;


[InitializeOnLoad]
public static class AutoRemovePlugins
{
    static AutoRemovePlugins()
    {
        // Add code to remove the plugin
        //RemovePlugin("com.unity.collab-proxy");
    }


    //call by command line in unity hub
    //“-executeMethod AutoRemovePlugins.RemovePlugin”
    public static void RemovePlugin()
    {
        RemovePlugin("com.unity.collab-proxy");
    }


    private static void RemovePlugin(string packageName)
    {
        var request = Client.Remove(packageName);
        while (!request.IsCompleted)
        {
            // Optionally, add progress indication or wait logic here
        }

        if (request.Status == StatusCode.Failure)
        {
            Debug.LogWarning("Failed to remove package: " + request.Error.message);
        }
        else
        {
            Debug.Log("Package removed: " + packageName);
        }
    }
}

Unity Hub 设置添加命令行参数,项目列表右边三个点。

“-executeMethod AutoRemovePlugins.RemovePlugin”

注:需要先手动删除一次插件

Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐