Download

Trying to create a teleporting boundary - Asteroids style

Hello!

I’m brand new to unreal so sorry if I mess some things up. I currently have a game with a fixed camera on a 2d plane, and I’m trying to make the edges teleport you to the other side like the original Asteroids game.

I’ve successfully done this using an event tick to update check if my character is outside of the camera boundary, and if so change their coordinate based on the boundary they crossed.

Everywhere I go though, everyone says don’t use event tick no matter what, and use timelines, or timers, or a million other options. Since I’m new to unreal “Use timers” isn’t exactly super helpful and even after researching and playing around I was unable to successfully use timers. So I’ve included my blueprint for the teleport, and if you guys could give specific help on how to replace my event tick with something else I would be grateful. I also plan on using this functionality in a 2d fighting game, if that changes ideal implementation at all.

I dont understand why you should use timer?

There are a lot of ways to do this,
one simple is create a collisionbox, and add an on-begin-overlap event
So every time an actor enter this area, you get your event called, and you can set the actor location wherever you want.
Place 4 boxes , up down left right and you have done it.

You could create 3x3 of your game area, ie. copy everything from central box of game into areas around.
That would be matter of creating new actor class inherited from base unreal actor, that copies self into those neighboring areas.

Then you add spaceship pawn that has camera. And warp it around, ie if X>some distance then x= negative of that distance etc. And because you copied everything around into 3x3 grid, there are no worries stuff will be out of place.

Yes you would need to rewrite all asteroids, enamy ships projectiles, attach emmiters to that new 3x3 actor etc. But imo this is most systematic way to make wrap around game.