Programy budujące tworzą lub modyfikują zasoby obszaru roboczego, opierając się zwykle na innych istniejących zasobach i ich stanie. Stanowią one potężny mechanizm wymuszania ograniczeń w określonym zakresie zastosowania. Na przykład program budujący Java przekształca pliki źródłowe Java (pliki .java) w wykonywalne pliki klas (pliki .class), natomiast program budujący odsyłacze WWW aktualizuje odsyłacze do plików, których nazwa lub położenie uległy zmianie, itp. W miarę tworzenia i modyfikowania zasobów uruchamiane są programy budujące z zachowaniem ograniczeń. Taka transformacja nie musi być wykonywana w stosunku jeden do jednego. Na przykład pojedynczy plik .java może dać w efekcie kilka plików .class.
Istnieją dwa różne tryby pracy użytkownika w odniesieniu do budowania: operacja ta może być wykonywana automatycznie lub inicjowana ręcznie przez użytkownika.
Użytkownicy nie wymagający precyzyjnej kontroli nad tym, kiedy wykonywane jest budowanie, mogą po prostu włączyć budowanie automatyczne. Po włączeniu tej funkcji proces budowania jest wykonywany po każdej zmianie zestawu zasobów (np. w wyniku zapisania pliku, zaimportowania pliku ZIP itp.). Budowanie automatyczne jest wydajne, ponieważ ilość wykonanej pracy jest proporcjonalna do ilości zmian. Zaletą budowania automatycznego jest to, że zasoby pochodne (np. pliki .class języka Java) są zawsze aktualne. Budowanie automatyczne można włączać i wyłączać za pomocą opcji Buduj automatycznie na stronie preferencji Ogólne > Środowisko robocze.
Użytkownicy wymagający większej kontroli nad tym, kiedy wykonywane jest budowanie, mogą wyłączyć budowanie automatycznie i ręcznie wywoływać operacje budowania. Jest to czasem wymagane, jeśli na przykład wiadomo, że budowanie należy wykonać dopiero po wprowadzeniu większej liczby zmian. W tym przypadku nie ma żadnych korzyści płynących z budowania automatycznego. Operacje budowania można wywołać ręcznie na wiele sposobów, na przykład wybierając ręcznie opcję Buduj projekt z menu kontekstowego projektu.
Wadą ręcznego budowania jest to, że problemy wygenerowane w celu wskazania błędów budowy szybko tracą ważność i są aktualizowane dopiero przy kolejnej operacji budowania. Ponadto należy pamiętać, aby wykonać ręczne budowanie przed użyciem danych wyjściowych budowania (na przykład przed uruchomieniem programu Java).
Operacje budowania są wykonywane przyrostowo w zależności od wcześniejszego stanu budowy. Transformacje skonfigurowanych programów budujących są stosowane tylko do zasobów, które zostały zmienione od poprzedniego określenia ich stanu (na przykład od czasu ostatniego budowania). Budowanie przyrostowe jest używanie podczas wykonywania operacji budowania automatycznego ze względu na wydajność.
Wykonanie operacji czystego budowania (Projekt > Wyczyść) powoduje usunięcie istniejących stanów budowy. Wykonanie kolejnej budowy po operacji czyszczenia spowoduje przeprowadzenie transformacji wszystkich zasobów według reguł zakresu zastosowania skonfigurowanych programów budujących.
W zależności od potrzeb użytkownika, operacje budowania i czyszczenia mogą być wykonywane dla określonego zbioru projektów lub całego obszaru roboczego. Pewnych plików i folderów nie można budować oddzielnie.