Debugging:
In [ForwardLights.cs] file [SetupAdditionalLightConstants] function, I can see to position/colors of additional lights are correct.
(BTW, when I switch to Android platform, the max visible light number should be 32 or 16, however, [m_AdditionalLightPositions] is 256 length. The next screenshot shows UnityEditor - Android plateform is not mobile platform. Therefore, [maxVisibleAdditionalLights] is 265.)
Let’s assume all lights information is correct in Pipeline side. I start debug shader side.
When I tried to change [RealtimeLights.hlsl] file [GetPerObjectLightIndex] function, let it return 1 directly.
++
Keep changing [GetPerObjectLightIndex] function, I moved light index mapping code to [!defined(SHADER_API_GLES)] branch, I can see upto 4 lights. (This code can only mapping 4 lighti index)
“Fix In Review for 14.x.x”
OMG…
I Baked Lightmap in andriod platform with dLdr encoding,so it can not switch to pc platform.And this issue was totally a disaster for me.
Hi, just copy the whole [com.unity.render-pipelines.universal@12.xx] folder from Unity Library PackageCache to your project local package folder (i.e. [YourProject/Packages] which is in the same level with [Assets] folder). No need to upgrade unity version.
Fury_Sven_ thank you for your help.
i tried add to library/pachage other version render-pipelines.universal@12.xx. but just deleted on unity import package time. and have modifed library/packagemanager, but not worked. i think way to use other version render-pipelines.universal@12.xx is unity upgrade
Yes, upgrade Unity version is the best way to use URP 12.4.
In my case, it’s hard to let all my colleagues to upgrade Unity version. Therefore, I copied [com.unity.render-pipelines.core], [com.unity.render-pipelines.universal], [com.unity.shadergraph] from library package cache into project’s package folder, make them as local package. It works fine.