UnityTips 之 在 Assets 目录下找文件

简介: 记得很早之前要在工程内定位一个 Script 文件那是一个难啊,最新遇到了新的方法,就如同在 Project 面板内搜索一样简单
unity版本: 2022.3.22f1c1
管线: URP

痛点

比如在很早之前,如果开发了一个插件,而这个插件内又是使用ScriptableObject 来作为配置文件,我希望在发布的包里没有配置文件,而是在第一次触发时自动加载,加载没有时自动创建,而这个文件的创建位置需要根据我的代码文件所在位置进行相对位置保存。这样做主要是为了当插件包被移动存放位置时,依然可以正确识别到配置文件。
之前怎么做的呢

  1. 先创建一个 ScriptableObject 配置文件的实例
  2. 然后使用 MonoScript.FromScriptableObject 方法获取这个实例的脚本文件
  3. 然后 AssetDatabase.GetAssetPath 方法获取脚本保存路径
    var so=ScriptableObject.CreateInstance<MyObject>();
    var script= MonoScript.FromScriptableObject(so);
    UnityEngine.Object.DestroyImmediate(so);
    var scriptPath=AssetDatabase.GetAssetPath(script);

虽然步骤不多,但是看上去也是挺麻烦的呢

新的查找方法

不知道是什么时候有的,或者可能一直都在
用法很简单,参考官方文档

    AssetDatabase.FindAssets(string filter); 
    AssetDatabase.FindAssets(string filter, string[] searchInFolders); 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容