por ejemplo:
global.i = object_add()
object_set_sprite(global.i,sprite0) //el sprite0 es un cuadrado 32x32 negro

y sin añadirlo a la room aparece, y lo mismo con room_add() que se va directamente
alguien me puede ayudar?


Eso no puede ser posible, porque para que sea visible un objeto en nuestro juego tiene que ser una instancia del mismo. Para eso podriamos usamos el codigo "instance_create(x,y,Objeto_Creado);"

Lo que no entendi muy bien es lo que te pasa con room_add(). Como que se va directamente?