Scene Positioning

Hello!

First, one feature request per thread. Always ensure you’re following the rules as laid out by luni here: Welcome to the User Feedback channel!

That said, this is generally done the same in all major game engines, and doesn’t require a specific feature for it.

  1. Give each door a variable with a unique ID value (name the variable “ID” or “DoorNumber” or whatever you want, give it a number, starting from 0. Keep them unique even across all scenes)
  2. Create a global array variable (or structure variable), name it “DoorConnect”.
  3. Make an index (or child variable) of that global variable for each door in your game.
  4. Make the value of that index (or child variable) the index of the door they go to.
  5. When your player collides with the door, set a global variable of “ExitDoor” to the value of DoorObjectNameHere.Variable(DoorNumber).
  6. Change your scene, then at the beginning of the scene, Check the condition of “The Value of Variable “DoorNumber” of the DoorObjectnameHere” is = to GlobalVariable(DoorConnect[GlobalVariable(ExitDoor)])", then set the action of “Set the position of Player to DoorObjectNameHere.X(), DoorObjectNameHere.Y()”

These are just examples of a way to do it, but it will have your player instantly be set to the position of the new door when the scene starts.

Also, “lag” as a concept in game development means network latency or input latency. Unless you are making a multiplayer game, lag shouldn’t have anything to do with the above conversation. Do you mean framerate/FPS? If so a lot of that is going to have to do with your event and asset optimization

For reference, I currently have a scene with roughly 1800 objects in the scene, and ~200 million pixels worth of tilemap background (~100 screens wide at 1920x1080), and get over 120 fps on my 6 year old laptop (Max refresh rate it supports), and 240 fps+ on my desktop (max refresh rate it supports). Trigger once, narrowing down which objects your targeting, and making sure you’re using the right events (not using “for each” when you could instead be using a single event with proper conditions, not using Tiled Sprites for backgrounds when you could instead be using tilemaps, etc).

If you do mean actual network lag, that’ll be dependent on your netcode design. If you mean input lag, you’d have to give more details (in a new thread) for people to further troubleshoot.