Is it possible to add a dirt material to the entire object using masks, which can then be changed to snow and other materials?
The only option I can do is to add a dirt material directly to each material inside this object using masks and larp. But it would be really time consuming and literal hell to control the level of dirtness of the mesh. This way it would be hard to replace dirt to snow also.
To be able to have different objects mapped into a single texture you would probably have to create a specific UV channel for each object that maps it’s geometry into a specific place.
That’s pretty common when working with characters, most pieces of clothing end up with 2 or 3 UV maps to apply different things to it differently.
Drawing to the texture at runtime is also possible.
So you can basically make the map more/less visible procedurally with a render target filter working on the same global UV.
Unfortunately, unless the assets are mapped with a global map in mind, you’ll have to do a lot of work to produce a UV map that satisfies most/all areas…
(And using multiple maps is a bad idea as it would degrades performance).