Az NXT-G blokkjai tulajdonképpen alprogramok, de ezeknél alacsonyabb szint nincs, így ezek minősülnek az utasításkészletnek is.
Értékadást a Változó blokk segítségével tudunk elkövetni.
Üres utasítást nem tartalmaz a nyelv, de mi magunk készíthetünk egy ilyen blokkot, csak nincs értelme.
Az NXT-G programok blokkjai alapértelmezetten szekvenciálisan hajtódnak végre, ezt egyes blokkok beállítható paraméterei sem befolyásolják, mert azok a paraméterek a hardveres kölcsönhatásra vonatkoznak. Például: ha egy hanglejátszó blokkot végtelen játszásra állítunk be, attól ez még nem befolyásolja a programunk működését.
Az NXT-G elágazása szintén grafikus blokkot ad a programozó kezébe. A C stílusú nyelvekhez képest előnye, hogy itt a Switch-ben nem kell kiírnunk a "break"-et. :)
Ha kiszedjük a pipát a "Display Flat View" opciótól, akkor lehetőségünk van több feltétel megadására is.
Beállíthatunk bemenő értéknek szenzort is, ekkor a szenzoroknál megszokott beállításokkal találkozunk.
Az NXT-G ciklusai lehetnek végtelenek, szenzorértékhez, vagy egyéb értékhez kötöttek.
Végtelen, vagy nem végtelen ciklus. Szenzorérték helyett logikai értéket is megadhatunk terminálófeltételnek, melyet akár a cikluson kívülről (egy másik szálból) is hozhatunk.
Ha bepipáljuk a "Counter" opciót a ciklus tulajdonságainál, akkor megjelenik egy kimenő csatlakozó a ciklus elején. A példa itt felhasználja a ciklusszámlálót arra, hogy egy Text-té alakítás után kirajzolja a kijelzőre. A követhető futás kedvéért került bele egy 2 másodperces várakoztatás is.
A várakoztató blokk (Wait Block) képes szenzorérték szerint várakoztatni az adott programszálat, míg az Időzítő blokk (Timer) megadott időre várakoztatja meg a programunkat.