I created a spray script. It uses projection matrix of camera and material chunks. Super easy to use, it also doesn’t use spot light, which is better for performance.
You can add spray items to the shop and use this script in the game.
I found one issue, this script gets the camera’s position and perspective to render the decal. So based on the situation the spray gets stretched. Instead of doing that, could you share an updated version that gets mesh’s normal?
Maybe you can get around this by having a second camera that’s just for spray. You can do a raycast to get the normal of the point you want to spray and have the spray camera look down that normal?