A fairly common/easy way for painting on a flat(ish) area, would be an additional camera, orthographic, RenderTexture target and using cullingMask to only render a specific layer, where you draw a transparent quad with the brush texture or particle system (that you then move/emit through a script, e.g. at mouse position)
I think Camera background can be Uninitialized so previous frames get stacked if you want the painting to be permanent.
example : https://80.lv/articles/recreating-the-drawing-mechanic-from-half-life-alyx-in-unity
Or can handle a similar setup all in code, using two RenderTextures, and Graphics.Blit with a custom shader that draws the brush at a particular point. Each frame swap between the two textures to avoid blit using same source/destination
.