Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

(Case 1104581) PackedMemorySnapshot: Missing "subSystemList" field in PlayerLoopSystem TypeDescripti

Discussion in '2018.3 Beta' started by Peter77, Nov 27, 2018.

  1. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,618
    Using the UnityEditor.MemoryProfiler API to capture a PackedMemorySnapshot, causes some fields in the typeDescriptions array to be missing.

    The following "PlayerLoopSystem" struct contains a "PlayerLoopSystem[] subSystemList" field in code, but when capturing a memory snapshot, this field is missing in the TypeDescription.

    This issue seems to occur with ScriptingBackend .NET 3.5 only. If you set it to .NET 4, it causes a different issue which I reported as Case 1104590.

    Code (CSharp):
    1. public struct PlayerLoopSystem // Located in namespace UnityEngine.Experimental.LowLevel
    2. {
    3.     public Type type;
    4.     public PlayerLoopSystem[] subSystemList;  // this field is missing in the memory snapshot TypeDescription
    5.     public UpdateFunction updateDelegate;
    6.     public IntPtr updateFunction;
    7.     public IntPtr loopConditionFunction;
    8. }
    screenshot.png

    Reproduce
    • Open user attached project
    • Click Mainmenu > BugReport > Open TestCode Window
    • Click "Capture Memory" button
    Observe the text shows the memory snapshot contains all fields, except the "PlayerLoopSystem[] subSystemList" field.


    Actual
    "subSystemList" field is missing in PlayerLoopSystem type.

    Expected
    No fields missing in the PlayerLoopSystem type.
     
    Last edited: Nov 27, 2018
    LeonhardP likes this.
  2. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,618