Unity iPhone API Compatibility Version not working?

Hi,

I’m in the process of porting my Unity Pro windows project to iPhone/iPad, which includes a bunch of .NET 2.0 dlls required to function.

However I’m running into problems trying to get it working… The editor log is littered with “class [×] not found in System, Version 2.0.0.0” or similar, with x being INotifyPropertyChanged and a bunch of other classes that are in .NET 2.0.

(My dlls are compiled in Visual Studio 2010 as .NET 2.0 libraries)

When I reflector the mscorlib.dll found in a newly compiled iPhone project, INotifyPropertyChanged is not found in it at all.

My question is this; does the “Api Compatibility Level” property allow me to use .NET 2.0 assemblies in unity iPhone or is it used for something else?

Edit: I guess it does work as 2.1 option allows generics and 1.1 doesn’t, but do they both use the same mscorlib?

you can use .NET 2.0 assemblies, but not all parts of .NET 2.0 are supported, so if something is not present, it can’t be used. The idea of it is the app does not require an iphone 3GS to run at all due to the 40mb of full .NET 2.0 + Unity engine :wink:

so you have the language features of .NET 2.0, some of its aspects (like list<> and dictionary<,>) but you don’t have the full .net 2.0
especially things of no interest in a mobile iphone game are likely not there.

if you want to do general .net development on the iphone, then monotouch is the way to go, not unity.