Comme il est possible d'exécuter des commandes en parallèle, il se peut que des conflits apparaissent. Par exemple, que se passerait-il si le code suivant était exécuté ?
x=1 & x=5;
x=5 est une affectation conflictuelle car elle accède à la variable x en même temps que la première affectation. Pour cela, URBI possède plusieurs modes de mélange (blend) pour prendre en charge les éventuels conflits et vous pouvez indiquer le mode souhaité grâce à la propriété blend de la variable. Par exemple:
x->blend = add;
Cela va demander à URBI d'additionner les valeurs numériques de toutes les affectations conflictuelles sur la variable x. Ainsi, le résultat de la commande précédente sera l'affectation de la valeur 6 à la variable x. Il existe également un mode mix qui réalise la moyenne des affectations conflictuelles (le résultat serait alors 3) ainsi qu'un mode queue qui écrase les affectations conflictuelles (le résultat serait alors 5). D'autres modes sont disponibles et décrits dans le document "URBI Language Specification".
Avec URBI, les variables possèdent des propriétés qui peuvent être accédées avec l'opérateur ->. Une propriété n'est pas l'attribut d'un objet. Les propriétés font partie intégrante de la sémantique du langage et par conséquent ne peuvent être redéfinies. Il existe de nombreuses propriétés disponibles comme rangemin, rangemax, speedmax, delta. Elle sont décrites dans le document "URBI Language specification."
Les modes de mélange s'appliquent également aux devices sonores, tels le haut-parleur de l'Aibo et passer alors de mix à queue passera d'une superposition sonore à une succession sonore (les sons, quoiqu'il arrive, sont joués les uns après les autres).
Les modes add et mix s'avèrent très utiles pour superposer des affectations sinusoïdales pour élaborer des mouvement périodiques complexes, en utilisant des transformations de Fourier du signal et en ne retenant que le coefficient le plus significatif.