Jeśli z bloku wykonywany jest kod dla innego obiektu, to ma on dostęp do zmiennych tymczasowych, ich zasięg jest więc globalny (GM ma tylko jeden wątek, więc nie powoduje to konfliktów).
Istnieją dwa typy tablic - jedno i dwu wymiarowe. Tablice mogą zawierać mieszankę tekstu i liczb, ale nie mogą zawierać kolejnych tablic. Tablice nie mogą być też przekazywane jako referencje do funkcji. Maksymalny indeks tablicy to 31999, a maksymalna pojemność to 1.000.000 elementów. Poza tradycyjnymi tablicami istnieją też struktury danych: listy, kolejki, stosy, mapy, siatki, kolejki priorytetowe.
Zasięg Kod może być wykonywany względem aktualnej instancji, lub innej instancji. Cały skrypt może mieć narzucone wykonywanie względem innej instancji za pomocą specjalnego przełącznika w edytorze danego skryptu, lub za pomocą wyrażenia with. Od tego zależy z którego zasięgu brane będą zmienne. GameMaker automatycznie przypisuje do wyrażenia other referencję na obcą instancję w przypadku kolizji, oraz gdy wykonywany kod jest wywoływany z innej instancji: /* zwrot obiektów innyObiekt zostanie ustawiony na taki sam, jak instancji z której kod wywołano */ with (innyObiekt) { direction = other.direction }