2DSpriteRenderer SRPBatcher is not effective on Android real devices

I created a 2D URP project in Unity 6.0.30f1, which contains several GameObjects with 2DSpriteRenderers rendering. In the editor environment, FrameDebugger SRPBatcher is effective, but after I package it to the Android platform and connect to FrameDebugger, it shows batching failed. I’m using the default URP material for 2D without any modifications. My Android device is a Samsung S21. I also tried placing a few 3D objects, and they batched successfully. Did I miss any important details that caused 2D batching to fail?

Hi, alun_game. Could you send us your Editor.log so we could take a look?

ok,this is mine Editor.log. The _TexelSize / _ST texture seems to be the problem, but the FrameDebuger is working.

Asset Pipeline Refresh (id=7c04133e6bb0779479fc403d43ec5c64): Total: 0.010 seconds - Initiated by RefreshV2(AllowForceSynchronousImport)
Material ‘URP 2D_Sprite-Unlit-SRP-Batching’ has _TexelSize / _ST texture properties which are not supported by 2D SRP Batcher. SRP batching will be disabled for 2D Renderers using this Material.”
SpriteAtlasPacking completed in 0.006955 sec
Reloading assemblies for play mode.
Reloading assemblies after forced synchronous recompile.
[Licensing::Client] Successfully resolved entitlement details
[Licensing::Client] Successfully resolved entitlement details
Begin MonoManager ReloadAssembly

  • Loaded All Assemblies, in 0.868 seconds
    Refreshing native plugins compatible for Editor in 2.02 ms, found 4 plugins.
    Native extension for Android target not found
    Native extension for WindowsStandalone target not found
    Native extension for WebGL target not found
    [MODES] ModeService[none].Initialize
    [MODES] ModeService[none].LoadModes
    Mono: successfully reloaded assembly
  • Finished resetting the current domain, in 1.216 seconds
    Domain Reload Profiling: 2086ms
    BeginReloadAssembly (601ms)
    ExecutionOrderSort (0ms)
    DisableScriptedObjects (71ms)
    BackupInstance (0ms)
    ReleaseScriptingObjects (0ms)
    CreateAndSetChildDomain (402ms)
    RebuildCommonClasses (27ms)
    RebuildNativeTypeToScriptingClass (11ms)
    initialDomainReloadingComplete (20ms)
    LoadAllAssembliesAndSetupDomain (211ms)
    LoadAssemblies (136ms)
    RebuildTransferFunctionScriptingTraits (0ms)
    AnalyzeDomain (163ms)
    TypeCache.Refresh (6ms)
    TypeCache.ScanAssembly (0ms)
    BuildScriptInfoCaches (145ms)
    ResolveRequiredComponents (9ms)
    FinalizeReload (1216ms)
    ReleaseScriptCaches (0ms)
    RebuildScriptCaches (0ms)
    SetupLoadedEditorAssemblies (463ms)
    LogAssemblyErrors (0ms)
    InitializePlatformSupportModulesInManaged (24ms)
    SetLoadedEditorAssemblies (3ms)
    BeforeProcessingInitializeOnLoad (85ms)
    ProcessInitializeOnLoadAttributes (298ms)
    ProcessInitializeOnLoadMethodAttributes (52ms)
    AfterProcessingInitializeOnLoad (1ms)
    EditorAssembliesLoaded (0ms)
    ExecutionOrderSort2 (0ms)
    AwakeInstancesAfterBackupRestoration (422ms)
    Asset Pipeline Refresh (id=b5e4b8d19a977aa4d869c5df6c30f651): Total: 2.223 seconds - Initiated by StopAssetImportingV2(ForceSynchronousImport | ForceDomainReload)
    Summary:
    Imports: total=0 (actual=0, local cache=0, cache server=0)
    Asset DB Process Time: managed=0 ms, native=1293 ms
    Asset DB Callback time: managed=20 ms, native=0 ms
    Scripting: domain reloads=1, domain reload time=907 ms, compile time=1 ms, other=0 ms
    Project Asset Count: scripts=1381, non-scripts=2796
    Asset File Changes: new=0, changed=0, moved=0, deleted=0
    Scan Filter Count: 0
    InvokeCustomDependenciesCallbacks: 0.001ms
    InvokePackagesCallback: 2.164ms
    ApplyChangesToAssetFolders: 0.280ms
    Scan: 0.000ms
    OnSourceAssetsModified: 0.001ms
    CategorizeAssetsWithTransientArtifact: 0.003ms
    ProcessAssetsWithTransientArtifactChanges: 3.464ms
    CategorizeAssets: 37.746ms
    ImportOutOfDateAssets: 1223.564ms (1218.498ms without children)
    CompileScripts: 1.028ms
    CollectScriptTypesHashes: 1.224ms
    ReloadNativeAssets: 0.759ms
    UnloadImportedAssets: 1.066ms
    EnsureUptoDateAssetsAreRegisteredWithGuidPM: 0.480ms
    InitializingProgressBar: 0.000ms
    PostProcessAllAssetNotificationsAddChangedAssets: 0.000ms
    OnDemandSchedulerStart: 0.509ms
    PostProcessAllAssets: 20.629ms
    GatherAllCurrentPrimaryArtifactRevisions: 0.171ms
    UnloadStreamsBegin: 0.995ms
    PersistCurrentRevisions: 0.119ms
    UnloadStreamsEnd: 0.002ms
    GenerateScriptTypeHashes: 3.492ms
    Untracked: 934.186ms

Loaded scene ‘Temp/__Backupscenes/0.backup’
Deserialize: 7.975 ms
Integration: 250.816 ms
Integration of assets: 0.003 ms
Thread Wait Time: 0.036 ms
Total Operation Time: 258.830 ms
Initialized touch support.
Asset Pipeline Refresh (id=947624cd01a70c34c903c6844f730ca5): Total: 0.004 seconds - Initiated by RefreshV2(NoUpdateAssetOptions)
Unloading 0 Unused Serialized files (Serialized files now loaded: 0)
Material ‘URP 2D_Sprite-Unlit-SRP-Batching’ has _TexelSize / _ST texture properties which are not supported by 2D SRP Batcher. SRP batching will be disabled for 2D Renderers using this Material.”
Loaded scene ‘Temp/__Backupscenes/0.backup’
Deserialize: 6.505 ms
Integration: 203.210 ms
Integration of assets: 0.007 ms
Thread Wait Time: 0.014 ms
Total Operation Time: 209.736 ms
Unloading 90 unused Assets / (15.2 MB). Loaded Objects now: 11756.
Memory consumption went from 358.9 MB to 343.7 MB.
Total: 15.184000 ms (FindLiveObjects: 0.595000 ms CreateObjectMapping: 0.237200 ms MarkObjects: 11.437300 ms DeleteObjects: 2.913500 ms)

[Licensing::Client] Successfully resolved entitlement details
[Licensing::Client] Successfully resolved entitlement details