Unity修改Project下的Assets的子文件的图标

Unity修改文件夹的图标

示例:

在右键可以创建指定文件夹。

复制代码
github链接
https://github.com/SeaeeesSan/SimpleFolderIcon

CSDN资源的链接
https://download.csdn.net/download/GoodCooking/89347361
去GitHub下载支持原作者哦。

重要的事情

截图来自GitHub 。

  1. Unity版本是: Unity2019.4 or later
  2. 从GitHub上下载的只能是创建文件夹之后,自己修改名字然后会自动修改图标。修改的图标必须在SimpleFolderIcon/Icons下有对应的图片才会修改,没有对应的图片是不会修改的。
  3. 如果想添加更多风格的文件夹图标,在SimpleFolderIcon/Icons添加图片,然后将图片的名称改为需要修改图标的文件夹名称即可。
  4. 如果修改SimpleFolderIcon的位置,则需要修改IconDictionaryCreator.cs
csharp 复制代码
        private const string AssetsPath = "SimpleFolderIcon/Icons";

的路径。

  1. 自带的文件夹图标有:
java 复制代码
Animations
Audio
Editor
Fonts
Materials
Models
Plugins
Prefabs
Presets
Resources
Scenes
Scripts
Settings
Shaders
Sprites
Textures

我自己添加的:

java 复制代码
  StreamingAssets    Unity系统定义文件夹 
  ThirdPartyPlugins   第三方插件
  CertificateFolder     证书文件夹
  1. 在GIF中右键显示Folder_WithIcon需要添加编辑器脚本CreateCustomStyleFolder.cs
csharp 复制代码
using UnityEngine;
using UnityEditor;
using System.IO;

/// <summary>
/// 创建自定义风格的文件夹
/// </summary>
public class CreateCustomStyleFolder : MonoBehaviour
{
    [MenuItem("Assets/Create/Folder_WithIcon/Animations", false, 10)]
    private static void CreateAnimationsFolder()
    {
        CreateFolder("Animations");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Audio", false, 11)]
    private static void CreateAudioFolder()
    {
        CreateFolder("Audio");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Editor", false, 12)]
    private static void CreateEditorFolder()
    {
        CreateFolder("Editor");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Fonts", false, 13)]
    private static void CreateFontsFolder()
    {
        CreateFolder("Fonts");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Materials", false, 14)]
    private static void CreateMaterialsFolder()
    {
        CreateFolder("Materials");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Models", false, 15)]
    private static void CreateModelsFolder()
    {
        CreateFolder("Models");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Plugins", false, 16)]
    private static void CreatePluginsFolder()
    {
        CreateFolder("Plugins");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Prefabs", false, 17)]
    private static void CreatePrefabsFolder()
    {
        CreateFolder("Prefabs");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Presets", false, 18)]
    private static void CreatePresetsFolder()
    {
        CreateFolder("Presets");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Resources", false, 19)]
    private static void CreateResourcesFolder()
    {
        CreateFolder("Resources");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Scenes", false, 20)]
    private static void CreateScenesFolder()
    {
        CreateFolder("Scenes");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Scripts", false, 21)]
    private static void CreateScriptsFolder()
    {
        CreateFolder("Scripts");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Settings", false, 22)]
    private static void CreateSettingsFolder()
    {
        CreateFolder("Settings");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Shaders", false, 23)]
    private static void CreateShadersFolder()
    {
        CreateFolder("Shaders");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Sprites", false, 24)]
    private static void CreateSpritesFolder()
    {
        CreateFolder("Sprites");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/Textures", false, 25)]
    private static void CreateTexturesFolder()
    {
        CreateFolder("Textures");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/StreamingAssets", false, 26)]
    private static void CreateStreamingAssetsFolder()
    {
        CreateFolder("StreamingAssets");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/ThirdPartyPlugins", false, 27)]
    private static void CreateThirdPartyPluginsFolder()
    {
        CreateFolder("ThirdPartyPlugins");
    }

    [MenuItem("Assets/Create/Folder_WithIcon/CertificateFolder", false, 28)]
    private static void CreateCertificateFolder()
    {
        CreateFolder("CertificateFolder");
    }


    private static void CreateFolder(string folderName)
    {
        // 获取鼠标右键点击的位置的路径
        string assetPath = AssetDatabase.GetAssetPath(Selection.activeObject);
        if (string.IsNullOrEmpty(assetPath))
        {
            assetPath = "Assets";
        }
        else if (Path.GetExtension(assetPath) != "")
        {
            assetPath = assetPath.Replace(Path.GetFileName(AssetDatabase.GetAssetPath(Selection.activeObject)), "");
        }

        // 创建文件夹
        string newFolderPath = AssetDatabase.GenerateUniqueAssetPath(assetPath + "/" + folderName);
        AssetDatabase.CreateFolder(assetPath, folderName);
        AssetDatabase.Refresh();

        Debug.Log("Created folder at: " + newFolderPath);
    }
}
相关推荐
开发游戏的老王9 小时前
虚幻引擎虚拟制片入门教程 之 Sequencer 常用技巧
游戏引擎·虚幻
开发游戏的老王17 小时前
虚幻引擎入门教程:虚幻编辑器的基本操作
编辑器·游戏引擎·虚幻
AA陈超20 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-08 UI 部件数据表
c++·游戏·ue5·游戏引擎·虚幻
future_studio1 天前
聊聊 Unity(小白专享、C# 小程序 之 播放器)
unity·小程序·c#
向宇it1 天前
【unity实战】MapMagic 2实战例子
游戏·3d·unity·c#·游戏引擎
SlowFeather1 天前
Unity TMP可控角度多色渐变文字
unity·游戏引擎
霜绛1 天前
Unity:UGUI笔记(一)——三大基础控件、组合控件
笔记·学习·unity·游戏引擎
小趴菜82272 天前
Android中加载unity aar包实现方案
android·unity·游戏引擎
今夕资源网2 天前
牛童三国单机游戏Unity源码 免费开源
游戏·unity·单机游戏·游戏源码·unity源码·unity游戏
future_studio2 天前
聊聊 Unity(小白专享、C# 小程序 之 图片播放器)
unity·小程序·c#