my approach:
get the limb number of each door and define a position for each door in each room.
so if the player is in room 1 and clicks on door 1 then position the player on x,y,z in room 2.
if the player is in room 2 and clicks on door 1 then position the player on x,y,z in room 1.
something like that.
this will get messy if the map is hardcoded, but it prevents bugs if the player is standing in an angle in front of the door, where just moving the player forward can make him clip through walls.
you can track the room number with collision commands and invisible objects, or check the position of the player, or instead of checking the room, check the relative position of the player to the door limb.
Levanthus wrote: ""Click on the door and sort of transport instantly to the next room" sort of thing"
in most games that use that approach, the room behind a door is not actually behind that door, but at some other location. mostly because of limited resources.
you can also use that to make a player go into a small house but ends up in a big room.
another reason why i would prefer making fixed spawn points for doors.
if you make each room at another position then the rooms do not share any door object and you can just link a door number with coordinates to move the player.
if you plan on making the game bigger:
smerf wrote: "honestly id just use separate models"
that.
if you make each door a seperate object, and make it so the pivot of the object is somewhere at the door hinges, then you can rotate the door at the y axis to make it move, if you want that.
you can load the object and then make copies of it that share the vertex data. they are individual objects, but you only need to store the object once in the ram. (if all doors look the same).
make up some map file format that can store all the data that you need for your game to work and then write an editor around it, but keep it simple. you don't want to spend more time on the editor than on the game.
a text based editor that can work with simple commands and a 3d view of the world will probably do.
that editor can then manage your doors. as the game gets bigger, you can make the editor better as well.