Just a randomish tip for anyone working with Unity and porting their app/game to the UWP Windows10 app store….
If you use asset bundles and come across errors like this:
Reflection_InsufficientMetadata_EdbNeeded: *** blaha blaahh important type name here ***
It means the new .Net Native stuff doesn’t know about a type that’s being serialized in the bundle. (This only happens in Master builds)
To fix this you need to add entries to the “Default.rd.xml” file in the project that Unity built. (find it under the Properties section)
so for example this is my file:
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Application>
<!--
An Assembly element with Name="*Application*" applies to all assemblies in
the application package. The asterisks are not wildcards.
-->
<Assembly Name="*Application*" Dynamic="Required All" />
<Namespace Name="UIFade" Serialize="Required All" />
<Namespace Name="HutongGames.PlayMaker.Actions" Serialize="Required All" />
<!-- Add your application specific runtime directives here. -->
</Application>
</Directives>
so the key parts here are these:
<Namespace Name="UIFade" Serialize="Required All" />
<Namespace Name="HutongGames.PlayMaker.Actions" Serialize="Required All" />
Replace the type names with the namespaces of the ones you want to include… or directly include types with this:
<Type Name="MyNamespace.MyProblemType" Serialize="Required All" />
Hope that saves someone time!!! I lost most of a day on this crap 🙁
It’s disappointing this isn’t already handled by Unity.
Read even more here
-Ryan