This tutorial is intended to teach you how to create a Time Trial. The tutorial assumes you already have your map playable as a chapter level, and will show you how to place the checkpoint and set them up properly.
First of all we will need a TdTimeTrialStart. This actor has the same use as a playerstart on normal maps, with one major difference, which is that it's assigned to a certain track. What it means is the one TdTimeTrialStart will only work on one specific map name, and no other.
Start up the editor if you haven't already. On the top of the screen click on "View/Browser Windows/Actor Classes" , or if you already have your generic browser open, click on the Actor Classes tab. Now choose
"NavigationPoint/PlayerStart/TdPlayerStart/TdTimerStart" (bordered with red on the picture). Now go back to the viewports, and right click wherever you want to spawn Faith in the Time Trial and from the menu choose "Add TdTimeTrialStart Here". You have the player start now, but it's not assigned to a Time Trial track yet, so that's our next step. Select 'TdTimeTrialStart' you've just placed and then hit F4 (or right click on it and choose 'TdTimeTrialStart' properties from the list). There are several tabs but what's relevant to us is the 'TdTimeTrialStart', so expand it by clicking on it. It has only one parameter, which is called 'TrackIndex' and is by default set to 'ETTS_None'. Each track is linked to one map, so you won't be able to play a Time Trial which has the track set as 'ETTS_TutorialA0' for example, but is saved as 'TT_TutorialA02_p.me1' as that belongs to another map ('TT_TutorialA01_p.me1'). You can easily deduce which track you need since it's technically the same as the map name.
For this tutorial I decided to use 'Playground Three', so i will need to use 'ETTS_TutorialA03'. Select it from the list and you can close the properties window.
Okay, now we have the spawn point, but it's the checkpoints what are really important. So again, go to "View/Browser Windows/Actor Classes" and this time choose "NavigationPoint/TdPlaceableCheckpoint/TdTimerCheckpoint" (bordered with red on the image), right click wherever you want to place a checkpoint and choose "Add TdTimerCheckpoint Here". Select it and go to the properties window by hitting F4. This time we need to edit the 'CheckpointSettings'. It has several parameters:
'BelongToTracks': By default it doesn't have a value, so click on the green plus sign on the right to add a track. Since it can have more than one tracks assigned to it, it means you assign one checkpoint to multiple time trial tracks, or even make a checkpoint that you have to visit multiple times [needs confirmation]. But it also has several more paramaters.
'TrackIndex': We know this one from the 'TdTimeTrialStart' so it shouldn't be a surprise that it has the exact same function.
'OrderIndex': This decides the order of the checkpoint. The checkpoints should be in increasing order, so the first one should have the lowest value, than the second etc. Numbering may start from anywhere, and the gap between the checkpoints is irrelevant (what it means that you can have checkpoints with 'OrderIndex' set to 1,3 and 100' and it will work perfectly. Having two checkpoints with the same 'OrderIndex' value is a bad idea unless you want to experiment with it.
'bNoIntermediateTime': When you finish a Time Trial, you will see a window which shows you in each segment how much faster or slower you were. Now the number of segments is not necessarily as many as the checkpoints for aesthetic reasons, and this is the parameter that controls it. If it's ticked the checkpoint won't create a new segment (and it won't show you the time difference when you pass through it). By default it's unticked.
'bEnabled': Normally you will want to leave it ticked as is, as the name suggest whether the checkpoint should function or not.
'bNoRespawn': Again, the name is pretty self descriptive. It's useful if
you want to lead the player a certain path that crosses a gap for example, and you want to force them to make the jump at a certain place (there is one of these on Atrium 2), but it's obviously not a good idea to respawn the player above that said gap. Normally you won't change this either.
'bShouldBeBased': N/A, needs experimenting, but as long as you leave it as is your map will function just fine.
'CustomHeight' and 'CustomWidthScale': these controls the dimensions of the checkpoint where you can flag it. You might want to make an indoor checkpoint that you do not want players to be able to flag from above, and that case you need to set 'CustomHeight' to a lweor value. Note: if you leave them as is, sometimes there can be issues where you can flag a checkpoint from below, so you will probably want to set at least 'CustomHeight' to something.
'TouchVolume': The replacement for the above mentioned two parameters. You can create a 'TdCheckpointVolume' and assign it to a checkpoint, and the checkpoint will be flagged when the player enters the volume.
For the first checkpoint you place the most important thing to do is to set the 'TrackIndex', since you can save some time afterwards by cloning your existing checkpoint instead of creating new ones from the right click menu. So now place your checkpoints wherever you want them to be. Don't worry about a final checkpoint as the game will figure it out just fine.
Now that you have your checkpoints placed, you need to go through all of them and set the parameters. The most important is to set the 'OrderIndex'. If you have many checkpoints you will probably want to tick 'bNoIntermediateTime' on some of them. Make sure to set the 'CustomHeight' and 'CustomWidthScale' where needed, and tick 'bNoRespawn' where needed.
And with that your Time Trial track is complete. You need to Rebuild Paths and Cover Nodes to make sure it will work in the game (or just click on Rebuild All). Make sure your track is long enough so the time it takes to finish it is more than that of the original levels, otherwise it will overwrite the times if you are not careful, and you definitely want to avoid that.
If you assign the 'TrackIndex' wrong you will start out on the map in 'ghost' mode, you will see everything and be able to fly around, but won't be able to play properly. If you have this problem recheck the 'TrackIndex' on your 'TdTimeTrialStart' and your checkpoints.
If you are not careful and don't set the 'OrderIndex' the track won't go as you wanted. It's especially disastrous when it's not set at all and you finish the track by touching the first checkpoint most likely way faster than you finished the original track, resulting in screwed up times.
If 'CustomHeight' is not set properly or you are not using touching volumes, the players might be able to finish the track very different from what you've planned them to do.