Hello!
-
Which function does the AIController use in order to move a Pawn?
Here you can think of two possibilities - using Navigation and not using Navigation. For the first case AIController just use UPathFollowingComponent inside it to find a path and simulate inputs. This component use Navigation data for area and agent to make movement request. It is using StopMovementKeepPathing, UseAccelerationForPathFollowing, RequestPathMove, RequestDirectMove, GetMaxSpeed, GetPathFollowingBrakingDistance, CanStartPathFollowing methods of UNavMovementComponent. For the second case you can simply emulate AddInputVector in your APawn actor class… -
When I try to move my a pawn, does a Movement function that implements collision already exist, or do I have to make one on my own?
Most common thing is inside UMovementComponent::SafeMoveUpdatedComponent, however if you need stairs stepping and jumping off then take a look at UCharacterMovementComponent.
As for the third one, I havent worked a lot with replication, so lets wait for one who does =)