Prefill list with AssetDatabase.LoadAssetAtPath

Hey guys,

I’ve been struggling to automatize some assets referencing in my project. It seemed to be going well until I tried to make a build.

Here’s the main point :
I have a list that I want to fill with prefabs references. When I drag and drop prefabs one by one, it all works great. I wanted to automatize this, call a method in the editor that would automatically find assets in the editor and fill up the list instead of dragging assets one by one.
Here’s how I do it :

public void initList()
	{
		string[] foldersToSearch = new string[]{"Assets/Prefabs/Modules"};

		string[] modules = AssetDatabase.FindAssets("t:GameObject", foldersToSearch);

		List<string> lPaths = new List<string>();

		foreach (string guid in modules)
		{
			string sName = AssetDatabase.GUIDToAssetPath(guid);
			if (sName.Contains("Button") == false)
			{
				lPaths.Add(sName);
			}
		}

		_lPrefabsUsed.Clear();

		foreach (string path in lPaths)
		{
			_lPrefabsUsed.Add(AssetDatabase.LoadAssetAtPath<GameObject>(path) as GameObject);
		}
	}

Of course I only call this from the editor but then I expect that the list _lPrefabsUsed would keep references to the prefabs so I can instantiate them at anytime during the game. But when I hit play the list empties. I guess AssetDatabase.LoadAssetAtPath is not the way to go or not enough to do what I want but I can’t figure out how to do this.

Any ideas?

Thanks!

Hey man

I think this can help you:

Good luck,Hey man

I think this can be usefull for you.

Hope this helps, good luck.