Error in Verse Starter Template Documentation

This will cover the first topic 1. Creating The NPC Behavior

This documentation seems to be outdated because when you load the Feature Example Verse Device all of the code is already there. The first step in this document is to create a new NPC Behavior named vese_commander_character using Verse Explorer. Since this file already exist you will get a warning about something being named that already. Once you delete the old file, it actually will break all of the devices that were referencing that file. I couldn’t work through all of these problems so I had to delete the project and restart with the Example. I just made a new file, verse_commander_character_new so that I can follow along with the docs. It is very important that the learner creates this new file inside of the VerseCommander subfolder in the verse explorer. Which isn’t explained in the documents. If the learner does not, there will be reference errors as we are trying to call external modules and methods from a different directory and UEFN did not like that, even after trying to use their relative paths.

Character VFX

In this script there is actually a slight typo in indention that creates a syntax error.

# Creates an arrow prop at the NPC's position that visually shows the orientation of the NPC.
CreateArrow(Agent:agent):void=
    if :
        Character := Agent.GetFortCharacter[]
    then:
        var Transform:transform = Character.GetTransform()
        # Spawn the arrow prop, then set the mesh and material for the prop.
        SpawnPropResult := SpawnProp(ForwardArrowAsset, Transform)
        if:
            SpawnedProp := SpawnPropResult(0)?
        then:
            set ForwardArrow = SpawnedProp
            ForwardArrow.SetMesh(VerseCommander.Meshes.CP_VerseCommander_Floor_01)
            ForwardArrow.SetMaterial(VerseCommander.Materials.MI_CP_VerseCommander_CharacterArrow_01)
            # Update the arrow prop to the position and orientation of the NPC.
            MoveArrow(Agent)
            else:
                SpawnPropIssue:string = case(SpawnPropResult(1)):
                    spawn_prop_result.Ok => "Ok"
                    spawn_prop_result.InvalidSpawnPoint => "Invalid Spawn Point"
                    spawn_prop_result.SpawnPointOutOfBounds => "Spawn Point Outside Island's Boundaries"
                    spawn_prop_result.InvalidAsset => "Asset Is Not a Valid creative_prop"
                    spawn_prop_result.TooManyProps => "Too Many Props Spawned Than Permitted by Island."
                    _ => "Unknown Error"
                ProjectLog("Error spawning prop: {SpawnPropIssue}")

The else: below MoveArrow(Agent) needs to be back indented by one. A copy-paste will have this fail, and also typing word for word will fail because of this indent. If I find any more errors I will edit this document for this section, but that is what I have found so far.

Thank you for reading!