I am attempting to create a script which will make an asset bundle (.unity3d) out of each immediate subfolder of my StreamingAssets folder.
The problem I an encountering is that Object t is coming back null when it should be one of the subfolders of StreamingAssets.
Any feedback is appreciated,
Thank you.
The Code in Question (C#):
public class ExportAssetBundles
{
[MenuItem(“Assets/Build AssetBundle”)]
static void ExportResource ()
{
string[] directories = Directory.GetDirectories(Application.streamingAssetsPath);
for (int i = directories.Length-1; i >= 0; i--)
{
Debug.Log (directories*);//directories work properly*
Problem Fixed as far as I can tell.
The issue was with the path, when using AssetDatabase.LoadMainAssetAtPath you do not need to specify the location of the project, the path starts with “Assets/” and goes on from there.
I added on a small function at the end of the code to chop the end off the filepath (the part you actually need) and used that part of the filepath rather than the whole thing, the Debug.Log will display what that path is.
I hope this stops anyone else from wasting way too much time on this.
Code:
using UnityEngine;
using UnityEditor;
using System.IO;
public class ExportAssetBundles
{
[MenuItem("Assets/Build AssetBundle")]
static void ExportResource ()
{
//Selection.activeObject is what this whole thing hinges on, how do i programmatically select something?
string[] directories = Directory.GetDirectories(Application.streamingAssetsPath);
for (int i = directories.Length-1; i >= 0; i--)
{
Debug.Log (directories*);//directories work properly*