There are a couple of different mechanics we use for the effects.
For one we spawn and despawn copies of each room in relative positions to the room the player is currently in based on triggers set in this room. This allows us to have rooms that would intersect with each other or repeat endlessly.
The portals work by placing a second camera in the same relative position to the "portal exit" that the player has to the "portal entrence", rendering it to a render texture and then use a custom shader to istead of cropping it onto the portal plane cutting out the part of the fullscreen texture that intersects with the portalplane.
The main problem with portals is that having multiple of them active at any given time can really drag down the performence so its key to deactivate them whenever they are not actually rendering anythign and avoid "portal loops".
For the queer room tunnell we project the player position onto a single axis and then rotate the room and its neighbours depending on a 180° Lerp with the projected player position as progress value.
The basic concepts arn't that hard to impliment in a limited amount of time (although the code is quite a bit messier than it needed to be due to the time constraints). It's the setting and testing of triggerboxes, anchorpoints etc. that takes most time. It should also be said that some of the rooms currently in the game were not present in the original jam release, but added later on.