I am loading a dll from an AssetBundle. Inside the dll are two monobehaviours. The first one contains just regular data and code but no custom class fields. This class loads and works correctly. The second class in the monobehaviour has custom class fields which contain some further builtin class fields like strings, ints, ect…, however this class doesn’t load correctly. All the custom class fields in this monobehaviour are not visible and I’m guessing null? The data that is directly in the monobehaviour is there though.
It’s worth mentioning that the custom classes I have in this monobehaviour are also in the same dll that the monobehaviours are in. Also the DLL is loaded through Assembly.Load( ByteArray ); The byte array comes from the TextAsset.bytes.
So It seems like monobehaviours work fine from a dll in unity but don’t support fields of regular custom classes inside that monobehaviour. Is this true? Can I fix it somehow?
[Serializable]
public class SomeBehaviour : Monobehaviour
{
// this doesn't show up
public MyCustomtype = new MyCustomType();
// these show up
public string someString;
public int count;
ect...
}
[Serializable]
public class MyCustomType
{
// these don't show
public string myData;
public int myIntData;
}
That is my mistake in the example. In the real source code the classes are public and do have the serializable attribute. I will add that to the example code now.
– DoubleLee