In v43.00 NPC navigateable and movement types etc have been deprecated but online docs still point to doing it that way instead of whatever way it should be done now. This is confusing to users and docs should have been updated with release of v43
I agree that it should’ve been made more clear before.
In the digest, it’s recommended to replace these interfaces with the npc_actions_component.
So instead of calling focus_interface.Focus, you do npc_behavior.GetEntity[].GetComponent[npc_actions_component].Focus and it’ll work the same
Thanks for the report!
Here is how to move off the deprecated interfaces:
navigatable → npc_actions_component
Before:
if (Navigatable := GetAgent[].GetFortCharacter[].GetNavigatable[]):
Result := Navigatable.NavigateTo(MakeNavigationTarget(Destination), ?MovementType := movement_types.Walking)
if (Result = navigation_result.Reached):
Navigatable.Wait(?Duration := 5.0)
After:
if (NPCActions := GetEntity[].GetComponent[npc_actions_component]):
Result := NPCActions.NavigateTo(MakeNavigationTarget(Destination), ?MovementType := movement_type.Walking)
if (Result.GetSuccess[]):
NPCActions.Idle(?Duration := 5.0)
focus_interface → npc_actions_component
Before:
if (Focus := GetAgent[].GetFortCharacter[].GetFocusInterface[]):
Focus.MaintainFocus(LookAtPoint)
After:
if (NPCActions := GetEntity[].GetComponent[npc_actions_component]):
NPCActions.Focus(LookAtPoint)