Value is <unknown type> in MemoryProfiler

I’m trying to track down why certain objects are lingering in memory. As I walk up the references, I eventually land at this:

What does this ‘unknown’ object indicate?

While I can’t say for sure in your case, I have seen this for references from static fields. The profiler logs the connection between the object and the class (which has a ref to the object) but there is no view that displays the class with static fields currently. There is only all objects, and all managed types (Table > Raw Data > Managed Types), but the managed types table is not expandable per class.

@samfisher-cf good point, that is something we could add.
@briank this was also discussed in this thread: (Case 1115544) Array type 'baseOrElementTypeIndex' does not point to its element type
‘unknown’ types are those that are there but not actually used / haven’t been initialized yet. This should only be happening with the Mono backend and not in IL2CPP. We’re intending to fix this in future versions of the capturing backend in Mono.

@MartinTilo , I still see this with IL2CPP actually. I’m not sure if these are static fields; it’s possible, but I haven’t tracked it down yet.

@briank Thank you for pointing this out, we are planning to do a sweep over this behavior and unify. Unknown could also mean a datatype that is not accounted for in the package logic.