No issues regarding gradle and so on, having both of them is perfectly fine. But you will have to either decide to make your app work with both at the same time, or make a grand migration (super hard to do in one sweep).
For this “both at the same time” world, I had to do something like
this, and basically setup both of them so that all tour composition locals are correct at any part of the app.
Then if you got your custom components which may be called using m2 or m3 containers, and their content may be for example an m2.Text or an m3.Text, you need to do stuff like
this so that it supports both cases.