I know you can’t use normal reflection like Activator.CreateInstance to create unity objects. Is there anyway to create an instance using just reflection metadata without an existing instance?
What kind of “object”? Things like Mesh, GameObject could work with Activator.CreateInstance but never tried it.
Components can only be created / added with AddComponent. However there’s an AddComponent version that takes a System.Type object. There’s even the string version which takes the component-class-name as string.
I’m not sure what’s the point of all this. The built-in types (like GameObject, Mesh, Material, …) are all sealed, so you can’t derive your own classes. The only exception is MonoBehaviour. Like i said above, those can easily be added via string or Type reference. So there’s actually no need for Activator.CreateInstance anywhere.