My idea is to create multiple ui.R each that does something specific and I can call each other.
What would this achieve? You can take a look at modules (https://shiny.rstudio.com/articles/modules.html), perhaps they can solve an actual problem you have?
A workaround would be to create several scripts loading a tab with
tabPanel. Then, sourcing all the scripts from the ui.R.