How do I make procedural dungeon generation?

I’m trying to make a dungeon generation similar to The binding of isaac, with square predetermined rooms connected to each other but not by hallways.

I was also wondering how to make and save the room models so that they can be used later, can anyone help me?

You need to be a bit more specific with your idea. What exactly do you want to be procedurally generated if the room is square? Just randomising objects in the scene might be easier and get you your desired result.
If these are not connected by hallways then how are these connected?

What I want procedurally generated is the order of the rooms, not the rooms themselves. What I mean is how to make a couple of rooms and have them randomly connect with each other. So that when you leave a room you enter another, like in Isaac

In that case, you can create rooms as scenes, put them all in an Array, shuffle the array at the start of the game, and when you’re about to enter a new room, you just pick a next room from the array.
Let me know in case you have troubles implementing any of this.

Thanks for the scenes tip, but I was also asking about how do I do the dungeon generation, since the tutorials I’ve seen are made for dungeons with corridors which I don’t want

If you want to have separate rooms, but not connected by hallways, then how do you want to go from one room to another?

Like a transition, once I go through a door I appear on the other side of another room, like in Isaac

You can load a new scene (room) by calling get_tree().change_scene_to_packed() or get_tree().change_scene_to_file()