Search Unity

No Name Object In Memory Profiler

Discussion in 'Editor & General Support' started by rstrom, Sep 10, 2020.

  1. rstrom

    rstrom

    Joined:
    Jun 29, 2017
    Posts:
    2
    Hey, I'm getting some blank Objects in Memory Profiler, Anyone knows about this or any idea how to identify those objects? no name objects.PNG
     
  2. MartinTilo

    MartinTilo

    Unity Technologies

    Joined:
    Aug 16, 2017
    Posts:
    2,455
    Hi,
    These textures don't have any references pointing to them anymore so I'd assume they'll get unloaded by the next Resources.UnloadUnusedAssets call (or a destructive, i.e. non-additive scene load).

    I'm not sure what would be a good way to identify them, other than maybe to catch them in an earlier snapshot while they still have a name and references to them and then identifying them in the diff view or by their instance id and/or address?
     
    rstrom likes this.
  3. MartinTilo

    MartinTilo

    Unity Technologies

    Joined:
    Aug 16, 2017
    Posts:
    2,455
    Also, in case you where taking Snapshots of Playmode or the Editor, these could have been the preview screenshots used by the Memory Profiler, or textures used by the Memory Map. See this post for more context.
     
  4. MartinTilo

    MartinTilo

    Unity Technologies

    Joined:
    Aug 16, 2017
    Posts:
    2,455
    FYI, the fix for this has just landed with the release of com.unity.memoryprofiler@0.2.6-preview.1.
    If you create any Texture2D objects without naming them, they will still appear without name in the snapshot though.
     
  5. adndima

    adndima

    Joined:
    Jun 11, 2015
    Posts:
    47
    strange situation Texture2D keeps coming out and I can't track them
     

    Attached Files:

  6. MartinTilo

    MartinTilo

    Unity Technologies

    Joined:
    Aug 16, 2017
    Posts:
    2,455
    Negativ instances ID = it isn't an asset so it was created at runtime.
    If you are using any plugins dealing with textures or effects that you don't have source code to, try disabling them. Besides that, use your IDE to find all instances of where you are creating a new Texture2D and there also give it a name.
    Hopefully that helps provide context info for this
     
  7. unity_HkWxPaXELh635w

    unity_HkWxPaXELh635w

    Joined:
    Mar 20, 2021
    Posts:
    3
    We are also facing issue to figure out what that mean NoName Memory allocation and it is gradually increasing. I have took this snapshot from android development mode. In iOS it finally crashes the APP. upload_2024-3-20_11-31-3.png
     
  8. MartinTilo

    MartinTilo

    Unity Technologies

    Joined:
    Aug 16, 2017
    Posts:
    2,455
    Specifically
    Graphics > <No Name> > <No Name>
    should usually be the same as Rendering::GfxDeviceClient, i.e. a graphics buffer allocated for usage by the Gfx Device Driver (OpenGL, Vulkan, Dx11, ...) or returned to it's pool after usage. We currently have situation where we might not "properly" set the device driver as the root for these allocations resulting in the "No Name" objects. We're in the process of fixing that, but if you're on 2022, I expect that's the case and that means it won't actually tell you much more about these. (If you are pre 2022 or latest patch versions it might also be some RenderTextures or CubemapArrays)

    You might have to use XCode Instruments to analyze this deeper