Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

Feature Request URP MeshSkinning.Skin

Discussion in 'Animation' started by cyberjoys, Aug 11, 2023.

  1. cyberjoys


    Dec 1, 2020
    hi guys
    i have a question and a feature request (if its feasible)

    1st thing 1st, can someone tell me what does the following [MeshSkinning.Skin] jobs do? and note that its darker green color, which means its Rendering relative

    i know it obviously tells you that its a bunch of skinning jobs.
    its just that i m very curious, since this did not appear when in Unity 2019,
    and comparing the animator update back in 2019 and now(2021 URP), there is no obvious performance difference. so where/when did meshskining happen back in 2019 ?

    so how come 2019, with no skinning jobs, skinmesh still works. And now we need to pay for skinning cost in job queues? and Rendering Relative ?
    how is skinning process different in implementations between back then and now? and what improvement did this make?

    2nd part is like a request (if its possible):

    here is frame profiled off from a device, you can see its heavily GPU bounded right now (working on that la).
    when in the case of GPU bound, the MeshSkinning.Skin jobs, is wating for the GPU to finished last frame rendering.
    i was wondering, can they be scheduled somewhere closer to when animator update is scheduled to do in the job queue?
    i mean since its done in job queues, i guess it can not be making any kind of graphics relative commands, right? why not schedule it like animator update?

    anyway, this MeshSkinning.Skin its working hard in the job queues, and for now it does not seem to be blocking anything.
    but still, wouldnt it be nice to have them done with the normal CPU update loop instead ?