It seems like you do not get it, everyone essentially can decide the blocksize for themselves under Bitcoin Unlimited, it takes this power away from centralized development teams. In effect this would have to be a negotiation between the miners and the economic majority.
You're the one who doesn't get the question. Since 'everyone can decide', it doesn't answer my question. My question is how? (e.g. voting within the software or something)
Yes, there is a simple GUI where you can select several different variables within the client itself. Including max block size generated, max accepted blocksize and block depth. It is capable of tracking a fork and once it reaches a particular block depth it can switch over. This all depends on the settings that the user chooses. By default Bitcoin Unlimited will behave exactly like Core until the majority of the hashpower starts to mine larger blocks. Essentially Bitcoin Unlimited is just giving people the freedom of choice, instead of this choice being made by any development team.