Custom fast travel points

This guide will describe the steps necessary to add new native fast travel points, using Object Spawner

Requirements

Tools

Knowledge

  • You need to have a basic understanding of:

    • Working with WolvenKit

    • Creating tweaks using TweakXL (.yamlfiles)

    • Using Object Spawner (Spawning things and importing into WolvenKit)

Any NodeRef names, and custom TweakDB record names in this guide are examples, do not use the same ones as in the guide.

TweakXL Setup

  • In order to define the name and the district of your fast travel point, it needs to point to a FastTravelPoints record

  • This means you will need to create a custom record using TweakXL

  • The below snippet contains the definition for a new one:

FastTravelPoints.customPoint:
  $base: FastTravelPoints.bls_nth_dataterm_01
  displayName: "LocKey#123" # Here goes the name of the FT Point, is a LocKey
  district: Districts.Watson # Can be any District record
  • Place it in a new .yamlfile inside Cyberpunk 2077\r6\tweaks

  • Modify the snippet for your custom FT point (Especially change the name of the record to something unique, e.g. FastTravelPoints.NAMEOFTHELOCATION)

Spawning Nodes

  • In order to have a working FT point you need two nodes:

    • worldEntityNode, the terminal itself

    • worldStaticMarkerNode, location where the player gets teleported to (Any other type of node technically works too)

FT Point

  • We will use base\gameplay\devices\fast_travel\data_term_1.ent, you can find it under Entity -> Entity Templatein Object Spawner

  • Optionally choose a appearance

Static Marker

  • Spawn a static marker, you can find it under Meta -> Static Markerin Object Spawner

  • Place it in a fitting spot in front of the terminal

  • Assign a custom NodeRef to the static marker:

    • In the properties section, inside the World Nodeheader

    • Make sure the NodeRef is unique

    • E.g. $/ft/custom/marker

Setting up instance data

  • In order to tell the FT Point what marker to use, and what record to use, we will use entity instance data

  • Open the Entity Instance Dataheader of the FT Terminal

  • Expand the entry DataTerm | Entity

    • Locate and expand the linkedFastTravelPointheader

    • Set markerRefto the NodeRef of the marker ($/ft/custom/marker)

    • Set pointRecordto the custom FastTravelPointsrecord (FastTravelPoints.customPoint)

Finishing up

  • You should now have the following:

    • A .yamltweak file containing the custom FastTravelPointsrecord

  • An Object Spawner group containing:

    • The fast travel terminal entity node, with entity instance data linking it to the marker and the custom record

    • The marker node, with a custom NodeRef assigned

Make sure that the category of the sector containing the marker and terminal is set to AlwaysLoaded during export from Object Spawner

  • Now simply export your group from Object Spawner, and import into WKit using the Object Spawner import .wscript

If you make any changes to the FT point, after having already loaded the game with your custom point installed, make sure to use a fresh save (A save without the custom point saved)

Last updated