I was also thinking you could use a combination of clustered lighting with omni and spotlights: Clustered Lighting Open Beta - Have hundreds of dynamic lights in your scene!
And use it with ambient baking with the lightmapper: Runtime Lightmaps | Learn PlayCanvas