Hi,
As far as I know, some of the Dynamic 365 users do the following:
1. import only managed solutions in the production environment.
2. every time you make a change, use the same publisher to update the old version with the new version of the solution.
3. unmanaged solution can override the managed solution, but it is not recommended, we should not put the same functionality in multiple solutions, it will make a mess of this project, but it can be a contingency plan in special cases.
In all of the above approaches, it is necessary to first ensure that the original solution structure in the production environment is not changed.
(e.g. if one solution is responsible for a certain function, then it should continue to be responsible for it and there should not be another solution responsible for the same function.)
However, if your original production environment is already very confusing, it is recommended that you organize a clear structure in your test environment, and finally replace the old solution with a higher version of the solution after importing all the features.
For example, if I have a solution A that includes x+y+z functionality. I should first import solution B, which includes y functionality, and solution C, which includes z functionality, and finally replace A with a new version of solution A that includes only x functionality. (There are no dependencies between x,y,z)
If my answer was helpful, please click Like, and if it solved your problem, I hope you can verify it to help other community members find more.
Please feel free to contact me if you have any further questions.
Regards,
Haig