Is GPU skinning for 2D animation working?

I’m using Uniy 6000.0.32f1.
I followed steps in Sprite Skin component | 2D Animation | 10.1.4

  • I’m using URP with SRP Batcher enabled (the SpriteRenderer is batched; checked in frame debugger)
  • I turned on GPU skinning option in project setting
  • I’m using URP 2D default material, Sprite-Unlit-Default

But it seems skinning is still done in CPU. (I can still find DeformationManagerUpdater.LateUpdate() in profiler)
Am I missing something? or Is already using GPU for skinning? (then what does DeformationManagerUpdater.LateUpdate() means?)

Using a Custom Material Property Block will disable SRP-Batcher and will fall back to Dynamic-Batching and Skinning will fall back to CPU as well.
If this is not the case, could you please provide more info or submit a simple repro project that will help us better analyze the issue ?

Unity version: 6000.0.34f1
Check SampleScene.

GPU skinning is on.
SRP batching is applied. (and I can check SKINNED_SPRITE keyword)
But I can still find DeformationManagerUpader in profiler.

Yes, this is correct.

When Skinning is done CPU, the following are executed on CPU:

  1. Transform Bone Matrices.
  2. Transform Sprite Vertices with Bone Matrices. (Skinning)

When Skinning is done on GPU, only Transform Bone Matrices is done on CPU. Vertex transform is done on the Shader.

DeformationManagerUpdater that is noticed in the profiler represents the transformation of bone matrices.

Thanks for the explanation.
Then, which profiler marker should I monitor to confirm that GPU skinning is working? I couldn’t find any noticeable markers when using CPU skinning mode.

SRP-Batcher only supports GPU-Skinning.
If GPU-Skinning is not active or if shader does not support GPU-Skinning, Dynamic-Batching is used instead.
You can check GPU-Skinning being active in Frame-Debugger. Frame-Debugger shows SRP-Batcher if GPU-Skinning is active. Otherwise it will show Dynamic-Batch.