HomeSystem plugins › AFS_UX_Teleporter
System

AFS_UX_Teleporter

Teleport targeting: areas and locations, the aiming controller ability, the indicator, and a game-state manager coordinating destinations.

What it gives you

  • Arc-based teleport targeting with a visual indicator
  • Free-form areas and fixed destination points
  • Selectable teleport targets for desktop
  • Destination coordination across players

Requires

AFM_Abilities AFM_AutoDestroy AFM_Spline AFM_Teleport AFS_UX_Select

Required by

AFE_Showroom AF_Examples

14 assets102 API members

Description

Teleport is split between two plugins on purpose. AFS_UX_Teleporter handles targeting — where the player is aiming and what counts as a valid destination. AFM_Teleport handles execution — the fade, motion and relocation. You can replace either without touching the other.

Destinations come in two shapes. BP_TeleportArea covers a region the player may land anywhere within; BP_TeleportLocation is a fixed point with a defined arrival rotation, for seats and marked positions. Both have _Select variants that are also selectable by laser or click, so the same destinations work on desktop.

Setup

  1. Enable AFS_UX_Teleporter and AFM_Teleport.
  2. Confirm BPC_ControllerAbility_Teleport is on the motion controllers and BPC_PawnAbility_Teleport_Character on the pawn.
  3. Place BP_TeleportArea_Default actors over walkable regions, and BP_TeleportLocation_Default actors at fixed destinations.
A teleport area placed over a walkable region
AFS_UX_Teleporter_setup.pngA teleport area placed over a walkable region
A teleport area placed over a walkable region

Usage

Adding a destination

See Add a teleport area.

Making a seat

Use BP_TeleportLocation_Default and set its arrival rotation so the player faces the right way when they arrive.

Desktop support

Use the _Select variants so destinations respond to click as well as to the arc.

Custom destinations

Implement Interface_TeleportLocation on your own actor.

Key properties

PropertyWhen to change
Arc and indicator settingsOn BPC_ControllerAbility_Teleport, to change reach and appearance
Fade, motion, tracking levelOn AFM_Teleport's pawn ability, for comfort options
Arrival rotationOn teleport locations, for seats and marked positions

Extending

Implement Interface_TeleportLocation for custom destinations, or derive from BP_TeleportArea for custom region behaviour.

Example map

Map_Examples_Teleporter covers areas, locations and nav-mesh teleport. Map_Examples_Teleport covers the execution options.

Troubleshooting

The arc finds nothing. No teleport area or location covers the region, and nav-mesh teleport is not enabled.

API reference

Every blueprint asset in this plugin. Expand an asset to see its members.

Blueprints

BP_TeleportArea4 members
extends Actor
KindNameSignatureDescription
varGridMaterialRequiredMaterialInterfaceMeant to set the look of the teleport grid, but nothing in the blueprint reads it. The grid comes from the material on the Plane component, which the construction script turns into the dynamic instance it fades, so restyle the area there.
varVisibilityRequiredboolWhether the grid is drawn while you are building the level, applied as the plane's opacity by the construction script. Begin Play hides the actor and restores full opacity, so it makes no difference in a running application, where the area is only shown while a teleporter is searching.
fnProjectGridLocationToGroundLocation(GridLocation: Vector, out GroundLocation: Vector)Returns the point where a 50 centimetre trace straight down from the given location meets the floor, so a target on the grid ends up on the ground under it. Hands back the location it was given when the trace hits nothing.
eventShowTeleportArea(Set: bool)Unhides the actor and fades the grid in over a tenth of a second, or fades it out and hides the actor again once the fade has finished. The default teleport area calls it from its On Show Teleporter handler.
BP_TeleportArea_Default2 members
extends BP_TeleportArea · implements Interface_TeleportLocation
KindNameSignatureDescription
eventOnTeleporterSourceActivationChanged(Set: bool)Bound to the teleport interaction. Switches the plane to query-only collision while any teleporter is searching and back to no collision afterwards, so the area is only in the path of a teleport trace while somebody is aiming.
eventOnShowTeleporter(Show: bool)Bound to the teleport interaction. Fades the grid in or out through Show Teleport Area when the interaction asks for the area to be shown or hidden.
BP_TeleportArea_Select4 members
extends BP_TeleportArea
KindNameSignatureDescription
varTeleport DurationSettingsfloatSeconds a teleport onto this area takes once it has been selected, spent fading out and back in. Passed straight to the selecting pawn's teleport ability.
varTeleport Rotation TypeSettingsE_Teleporter_RotationHanded to the teleport indicator as it is spawned, where None hides the direction arrow. The rotation the pawn actually arrives with is always taken from the selecting hand, so this only changes what the preview shows.
eventOnHighlightTick(SourceInfo: ST_SourceInfo, TraceResult: HitResult)Bound to the select interaction and called while a laser rests on the area. Spawns a teleport indicator on the first tick, then each frame moves it to the point under the laser and turns it to match the roll of the selecting hand; it disappears a tenth of a second after the hovering stops.
eventOnSelect(SourceInfo: ST_SourceInfo, HitResult: HitResult)Bound to the select interaction and called when the area is chosen. Teleports the selecting pawn to the point under the laser with the previewed rotation, over Teleport Duration, fading out and back in with no motion.
BP_TeleportLocation6 members
extends Actor
KindNameSignatureDescription
varNonValidColorStyleLinearColorColour the indicator's shared material falls back to when nothing is hovering it. Only the selectable location reads it, restoring this colour a tenth of a second after a laser leaves.
varValidColorStyleLinearColorColour the indicator's shared material takes while a laser is hovering it. Only the selectable location reads it; the default location never changes its colour.
varNonValidScaleStylefloatScale meant for the indicator while its target is not valid. Nothing in this actor or its children reads it, so changing it has no effect.
varValidScaleStylefloatScale meant for the indicator while its target is valid. Like its counterpart it is read nowhere, so changing it has no effect.
varUseRotationSettingsboolWhether this location dictates the rotation the pawn arrives with. The construction script shows the direction arrow when it is set, the default location passes it to its teleport interaction as Force Rotation, and the selectable location sends the pawn the way this actor faces instead of leaving its rotation alone.
eventShowTeleportLocation(Set: bool)Unhides the actor and fades the meshes in over a tenth of a second by driving the opacity of their shared material, or fades them out and hides the actor again. The default location calls it from its On Show Teleporter handler.
BP_TeleportLocation_Default1 members
extends BP_TeleportLocation
KindNameSignatureDescription
eventOnShowTeleporter(Show: bool)Bound to the teleport interaction, which raises it whenever a teleporter starts or stops searching. Fades this location in or out through Show Teleport Location.
BP_TeleportLocation_Select6 members
extends BP_TeleportLocation
KindNameSignatureDescription
varTeleport DurationSettingsfloatSeconds a teleport to this location takes once it has been selected. At the default of zero the pawn is moved in a single frame and no fade happens at all.
varUse FadeSettingsE_Teleport_FadeHow the camera is faded when the pawn is sent here. It only shows when Teleport Duration is above zero, as a duration of zero moves the pawn immediately.
varUse MotionSettingsE_Teleport_MotionHow much of the trip here the player sees: None cuts straight across, Indication leans the pawn towards this location, Full Motion flies it the whole way over Teleport Duration.
varTeleport SoundSettingsSoundBaseSound played to the teleporting player when this location is selected. Leave empty for a silent arrival.
eventOnSelect(SourceInfo: ST_SourceInfo, HitResult: HitResult)Bound to the select interaction and called when this location is chosen with a laser. Teleports the selecting pawn onto the actor's own location, facing the way the actor faces when Use Rotation is set and keeping its own rotation otherwise, with the duration, fade, motion and sound configured here.
eventOnHighlightTick(SourceInfo: ST_SourceInfo, TraceResult: HitResult)Bound to the select interaction and called while a laser rests on this location. Switches the shared material to Valid Colour on the first tick and back to Non Valid Colour a tenth of a second after the hovering stops.

Components

BPC_ControllerAbility_Teleport29 members
extends BPC_ControllerAbility
KindNameSignatureDescription
varTeleportOnNeutralThumbstickSettingsboolWhether letting the thumbstick fall back to its neutral position executes the teleport at the current target rather than only closing the search. Meant to be paired with Teleport Deactivate set to Neutral Thumbstick, as the showroom's left controller does.
varTeleportLineStyleSettingsE_Teleporter_SearchTypesShape of the line the teleporter searches along. Projectile predicts an arc launched from the helper's start handle, Straight fires a plain line trace between the ability's line start and end.
varTeleport ModeSettingsE_Teleporter_StyleWhat counts as valid ground when the surface has no teleport interaction of its own. Teleport On Any Surface accepts surfaces lying within 30 degrees of horizontal, Nav Mesh snaps the point onto the navigation mesh and drops the hit when the projection fails, and None takes whatever was hit.
varTeleport TimeSettingsfloatSeconds a teleport onto plain geometry takes, always with a fade out and back in. Targets carrying a teleport interaction ignore it and use their own Teleport Duration.
varUse Teleport MotionSettingsE_Teleport_MotionHow much of the journey the player sees when teleporting onto plain geometry: None cuts across behind the fade, Indication leans the pawn towards the destination, Full Motion flies it the whole way. Targets with a teleport interaction supply their own motion instead.
varTeleport Rotation TypeSettingsE_Teleporter_RotationWhere the arrival rotation comes from while searching: None keeps the pawn's current rotation, Rotate By Hand follows how far the controller has been rolled since the search opened, Rotate By Thumbstick aims with the stick and holds the last rotation while the stick rests inside its deadzone. A target that forces its own rotation overrides all three.
varTeleport DeactivateSettingsE_Teleporter_DeactivateWhen the search closes. Only On Execute keeps the line up until the trigger is pulled, Neutral Thumbstick also ends it as soon as the thumbstick returns to centre.
varSound_StartSoundSoundBaseSound played from this component when the search opens, ahead of the looping hold sound on the teleport helper. Leave empty for a silent start.
varSound_CloseSoundSoundBaseSound played when the trigger is pulled with nothing solid under the line, so the teleporter closes without moving the pawn. Leave empty for silence.
varSound_TeleportSoundSoundBaseSound handed to the pawn's teleport ability when teleporting onto plain geometry. Targets carrying a teleport interaction play their own sound instead; leave empty for silence.
varMaxTraceLengthSettingsfloatLaunch speed given to the predicted teleport arc, in centimetres per second, which is what decides how far ahead the player can aim. Read only by the Projectile line style.
varMaxInterpolationDistanceSettingsfloatDistance in centimetres above which the aim point jumps straight to a new hit instead of easing across to it. Shorter moves ease at Interpolation Speed; left at zero, every move is a jump.
varInterpolationSpeedSettingsfloatSpeed at which the aim point eases towards a new hit, higher being snappier. Applies only while the move is shorter than Max Interpolation Distance.
varLaserVisualInterpTimeStylefloatSpeed at which the line settles on the colour and thickness wanted for the current state, higher reaching the new look sooner. Despite the name it is an interpolation speed, not a duration in seconds.
varMappingContext_DirectionInputST_MappingContext_SideInput mapping contexts, one per hand side, added at priority 10 for as long as a search is open and removed when it closes. Carries the thumbstick binding that aims the arrival rotation.
varMappingContext_TeleporterInputST_MappingContext_SideInput mapping contexts, one per hand side, added when the component is activated and removed when it is deactivated. Carries the bindings that open the teleporter and execute it, and is applied only on the locally controlled pawn.
fngetDesiredRotationControl(out Rotation: Rotator)Returns the rotation the pawn would arrive with at the current aim point. A target whose interaction forces rotation settles it outright; otherwise Teleport Rotation Type chooses between the pawn's rotation, the roll of the hand since the search opened, and the thumbstick direction.
fngetTeleportLocationManagerControl(out TeleportManager: BPC_Helper_GameState_TeleportManager)Returns the teleport manager living on the game state, caching it on this component the first time. Adds the manager to the game state when there is not one yet, so it always comes back valid.
fngetActorsToIgnoreController Ability(out Result: Actor[])Returns every actor registered as following the pawn, hands and carried objects included, so the teleport trace passes through them instead of stopping on them.
fngetAllAttachedActors(out Actors: Actor[])Returns the teleport indicator spawned for the current search, so the motion controller counts the preview among the actors this ability keeps in the world. The parent implementation returns nothing at all.
fnTryToTeleportTeleport()Executes the teleport at the current aim point. A target with a teleport interaction is asked to do it, so that component's duration, fade and sound apply; plain geometry goes to the pawn's teleport ability with this component's settings; and a line pointing at nothing only plays the close sound.
fnSetHoverStateLaser()Classifies whatever the trace hit. A teleport interaction that accepts this ability becomes the current target, is told to tick its highlight and has its own teleport and indicator locations written into the hit result; anything else is judged by Teleport Mode, which can project the point onto the navigation mesh or clear the hit.
fnTraceTeleport(out TraceResult: HitResult)Runs the search trace for the current line style and hands back what it found: a straight line trace, or a predicted projectile arc from the start handle whose trace end is set to the last point of the arc. Actors following the pawn are ignored either way.
fnSetLocationValuesTeleport()Moves the aim point and the arrival rotation towards the latest hit, easing at Interpolation Speed. Jumps instead of easing on the first frame of a search and when the new point is further away than Max Interpolation Distance; with no blocking hit it follows the end of the trace.
fnSetLaserColorLaser(WantedColor: LinearColor, RadiusStart: Vector2D = "(X=1.000000,Y=1.000000)", RadiusEnd: Vector2D = "(X=1.000000,Y=1.000000)")Interpolates the spline line towards the given colour and towards the start and end radii, at the rate set by Laser Visual Interp Time. Does nothing until the line has been spawned.
fnSetLaserVisualsLaser()Applies the standard teleporter line look: dark blue and flaring out towards the end while the search is on something solid, red and thinner while it is pointing at nothing.
eventInitiateControllerAbility(Pawn: Pawn, MotionController: Actor, Side: E_Side)Called by the motion controller once it has spawned this ability, handing over the owning pawn, the controller actor and the hand side. Extend it to add setup that needs to know which hand the teleporter belongs to.
eventSetLaser(Set: bool)Raises or lowers the teleport line. The spline helper is spawned the first time it is switched on and expanded over 0.3 seconds; switching it off collapses the spline again over the same time and leaves the helper in place for the next search.
eventStartTeleporter(Set: bool)Opens or closes the teleport search, ignoring any call that does not change the state. Opening enables ticking, raises the line, plays the start and hold sounds, takes focus of the motion controller, adds the direction mapping context, runs a first trace, spawns the indicator and tells the teleport manager a source is active; closing undoes all of it.
BPC_Interaction_Teleport18 members
extends BPC_Interaction
KindNameSignatureDescription
varTeleportDurationSettingsfloatSeconds a teleport to this target takes, covering the fade and the movement. Passed to the pawn's teleport ability in place of the teleporter's own timing.
varTeleportFadeSettingsE_Teleport_FadeHow the camera is faded on the way here. Only Fade In And Out and Fade In actually carry the pawn across when Teleport Duration is above zero: with No Fade or Fade Out the teleport stops before the move and the pawn stays where it was, so pair either of those with a duration of zero.
varTeleportMotionSettingsE_Teleport_MotionHow much of the trip to this target the player sees: None cuts across behind the fade, Indication leans the pawn towards the target, Full Motion flies it the whole way across Teleport Duration.
varTeleportLevelSettingsE_Teleport_TrackingLevelWhich part of the pawn is lined up with the chosen location, ground, eye or pawn level, passed to the pawn's teleport ability as its tracking level.
varSound_TeleportSoundSoundBaseSound played to the teleporting player when a teleport to this target is executed. Leave empty for a silent arrival.
varShowBehaviorSettingsE_Teleporter_ShowBehaviorWhen the owning actor is asked to show itself. Unchanged leaves it alone; Show On Teleporter Source Activation broadcasts On Show Teleporter the moment any teleporter starts searching and again once the last one stops; Show On Hover raises nothing on activation, leaving the actor to react to being hovered.
varForceRotationSettingsboolWhether the arrival rotation is dictated by this target rather than by how the player aimed. When set, Teleport To Location takes the rotation from Get Desired Teleport Rotation and the teleporter's thumbstick or hand rotation is discarded.
varShowIndicatorSettingsboolWhether the teleporter keeps its floating indicator visible while this target is under the line. Turn it off for targets such as a seat that already make the arrival point obvious.
fnCanTeleportTarget(SourceInfo: ST_SourceInfo, out CanTeleport: bool)Returns whether this target accepts a teleport, which here is true whenever the interaction is active; the Source Info is not looked at. Override it to turn particular pawns or hands away.
fngetForceRotationTarget(out ForceRotation: bool)Returns the Force Rotation setting. Internal accessor used when working out the rotation the pawn arrives with.
fngetDesiredTeleportLocationTarget(ImpactLocation: Vector, out DesiredLocation: Vector)Returns where the pawn should land for a given impact point, which in this base implementation is the impact point unchanged. Child components override it to send the pawn to a scene component or to ask the owning actor.
fnTeleportToLocationTeleport(Pawn: Pawn, ImpactLocation: Vector, InputRotation: Rotator)Teleports the pawn here through its teleport ability, using the point from Get Desired Teleport Location and this component's duration, fade, motion, tracking level and sound. The rotation comes from Get Desired Teleport Rotation when Force Rotation is set, and from the rotation the caller aimed with otherwise.
fngetDesiredTeleportRotationTarget(out TeleportRotation: Rotator)Returns the rotation the pawn should arrive with, which in this base implementation is zero. Child components override it to read the rotation of the target itself.
fngetDesiredIndicatorLocationTarget(ImpactLocation: Vector, out DesiredLocation: Vector)Returns where the teleporter should draw its indicator for a given impact point, which here is the impact point unchanged. Overridden by children that want the preview somewhere other than where the line landed.
fngetDistanceTo2DLocationTarget(ReferenceLocation: Vector2D, out TeleportLocation: Vector2D)Asks the owning actor, through the Teleport Location interface, for the point on the ground plane a teleport should be sent to. In spite of the name it hands back a location rather than a distance, and leaves the output at zero when the owner does not implement that interface.
fngetShowIndicatorTarget(out Show: bool)Returns whether the teleporter's indicator should stay visible over this target. Plain accessor over Show Indicator.
eventTeleportSourceActivated(Set: bool)Called by the teleport manager when the first teleporter starts searching and again when the last one stops. Stores the state, broadcasts On Teleporter Source Activation Changed, and raises On Show Teleporter as well when Show Behaviour asks for it; repeated calls with the same value are ignored.
eventTickHighlight(SourceInfo: ST_SourceInfo, TraceResult: HitResult)Called by a teleporter while its search line rests on this target. The override is empty, so a teleport target runs none of the base interaction's highlighting and never broadcasts On Highlight Tick.
BPC_Interaction_Teleport_Interface4 members
extends BPC_Interaction_Teleport
KindNameSignatureDescription
fngetDesiredTeleportLocation(ImpactLocation: Vector = "0, 0, 0", out DesiredLocation: Vector)Returns the landing point the owning actor asks for through the Teleport Location interface. Falls back to the impact point the line hit when the owner does not implement that interface.
fngetDesiredTeleportRotation(out TeleportRotation: Rotator)Returns the arrival rotation the owning actor asks for through the Teleport Location interface. Falls back to the owner's own actor rotation when that interface is not implemented.
fngetDesiredIndicatorLocation(ImpactLocation: Vector = "0, 0, 0", out DesiredLocation: Vector)Returns the indicator position the owning actor asks for through the Teleport Location interface. Falls back to the owner's actor location rather than to the impact point when that interface is not implemented.
fngetDistanceTo2DLocation(ReferenceLocation: Vector2D, out TeleportLocation: Vector2D)Asks the owning actor for its ground-plane teleport point through the Teleport Location interface, exactly as the parent does, and leaves the output untouched when the owner does not implement it.
BPC_Interaction_Teleport_Scene10 members
extends BPC_Interaction_Teleport
KindNameSignatureDescription
varNameOfTargetComponentTargetnameComponent tag meant to pick the scene component the pawn is teleported onto. Nothing reads it as things stand, because Get Target Component searches by the indicator tag instead, so give both settings the same tag unless you want the pawn to land on the indicator.
varNameOfIndicatorComponentTargetnameComponent tag picking the scene component the teleport preview is drawn at. It also decides where the pawn lands, since Get Target Component searches by this tag as well.
varAttachToTargetSettingsboolWhether the pawn stays attached to the target component after arriving, so it rides along when that component moves. Use it for seats and moving platforms; leave it off for a fixed spot on the floor.
fngetDesiredTeleportLocation(ImpactLocation: Vector = "0, 0, 0", out DesiredLocation: Vector)Returns the world location of the target component rather than the point the line hit, so the pawn always lands on the same spot on this actor.
fngetDesiredTeleportRotation(out TeleportRotation: Rotator)Returns the world rotation of the target component, so a pawn arriving here faces the way that component points. Only reached when Force Rotation is set.
fngetDesiredIndicatorLocation(ImpactLocation: Vector = "0, 0, 0", out DesiredLocation: Vector)Returns the world location of the indicator component, so the teleporter draws its preview there instead of where the line landed.
fngetDistanceTo2DLocation(ReferenceLocation: Vector2D, out TeleportLocation: Vector2D)Returns the target component's world position flattened to X and Y, ignoring the reference location it is handed.
fngetTargetComponentComponents(out SceneComponent: SceneComponent)Returns the first scene component on the owning actor tagged with Name Of Indicator Component. In spite of the name it does not read Name Of Target Component, so an actor that tags target and indicator differently lands the pawn on its indicator.
fnTeleportToLocation(Pawn: Pawn, ImpactLocation: Vector = "0, 0, 0", InputRotation: Rotator = "0, 0, 0")Teleports the pawn onto the target component, passing that component and Attach To Target through so the pawn can ride it once it arrives. Duration, fade, motion, tracking level and sound come from this component as in the parent.
fngetIndicatorComponentComponents(out SceneComponent: SceneComponent)Returns the first scene component on the owning actor tagged with Name Of Indicator Component, which is where the teleport preview is drawn.

Helper

BPC_Helper_GameState_TeleportManager4 members
extends ActorComponent
KindNameSignatureDescription
eventTeleporterSourceActivated(ref const Source: Object)Called by a teleporter as it starts searching. Records that source and tells every registered teleport interaction that a source is now active, which is what makes teleport targets show themselves.
eventTeleportSourceDeactivated(ref const Source: Object)Called by a teleporter as it stops searching. Drops that source, and only tells the registered teleport interactions to stand down once no source is left, so targets stay up while a second hand is still aiming.
eventRegisterTeleportComponent(ref const NewItem: BPC_Interaction_Teleport)Adds a teleport interaction to the manager's list so that it hears about teleporters starting and stopping. Called by the interaction itself when its component is activated.
eventUnregisterTeleportComponent(ref const NewItem: BPC_Interaction_Teleport)Removes a teleport interaction from the list and tells it the source has gone, so a target deactivated mid-search hides itself again. Called by the interaction when its component is deactivated.
BP_Helper_ControllerAbility_Teleport2 members
extends BP_Helper_ControllerAbility
KindNameSignatureDescription
varControllerAbilityBPC_ControllerAbility_TeleportThe teleport ability that spawned this helper, handed over on spawn. The helper's input events hold no logic of their own; they call straight into this ability.
fngetThumbStickDirection() → Vector2DReturns the current thumbstick axes for this helper's hand side, read from the sided input action. The teleport ability uses it to aim the arrival rotation.
BP_Helper_TeleportIndicator8 members
extends Actor
KindNameSignatureDescription
varTeleportRotationTypeE_Teleporter_RotationWhich rotation scheme the teleporter that spawned this indicator is using, passed in on spawn. Read once at Begin Play, where None hides the direction arrow, so changing it later has no effect.
fnSetColor(Color: LinearColor)Applies one colour to the ring, the inner circle and the arrow at once by setting the Color parameter on each of their materials.
fngetDesiredColor() → LinearColorReturns the colour the indicator ought to be showing: blue while the current aim point can be teleported to, red while it cannot.
eventAppear()Called by the teleporter once the indicator has been spawned. Unhides the actor and scales it up over 0.3 seconds.
eventDisappear()Called by the teleporter when the search closes. Runs the appear timeline backwards and destroys the actor once it has shrunk away, so an indicator is never reused.
eventSetDesiredRotation(DesiredRotation: Rotator)Stores the rotation the indicator should show. Called every frame by the teleporter with the rotation the pawn would arrive with.
eventSetCanTeleport(CanTeleport: bool)Stores whether the current aim point can be teleported to, which is what decides the colour through Get Desired Colour. Called every frame by the teleporter.
eventSetShowIndicator(ShowIndicator: bool)Stores whether the indicator should be on show. Called every frame by the teleporter, which passes on the Show Indicator setting of the target under the line, or true over plain geometry.

Interface

Interface_TeleportLocation4 members
extends Interface
KindNameSignatureDescription
fnTeleport_getIndicatorLocationTeleport(ImpactLocation: Vector, out IndicatorLocation: Vector)Implemented by an actor to say where the teleport preview should be drawn for the point the line hit. Called by the interface teleport component; left unanswered it reports the world origin, so implement it deliberately.
fnTeleport_getTeleportLocationTeleport(ImpactLocation: Vector, out TeleportLocation: Vector)Implemented by an actor to say where a pawn teleporting to it should land, given the point the line hit. The default teleport area answers with that point projected down onto the ground; left unanswered it reports the world origin.
fnTeleport_getTeleportRotationTeleport(out TeleportRotation: Rotator)Implemented by an actor to say which way a pawn teleporting to it should face. Read only when the teleport interaction forces rotation, and reports zero when left unanswered.
fnTeleport_getTeleportLocation2DTeleport(ImpactLocation: Vector2D, out TeleportLocation: Vector2D)Implemented by an actor to say where on the ground plane a teleport should land, in X and Y. The default teleport area answers with the closest point on its own grid, which pulls an aim near the edge back onto the area.