How to check if a character is controlled by AI or human player?

I tried IsPlayerControlled and IsBotControlled. But they use PlayerState to determine while my PlayerState is nullptr somehow.

Is this normal?

Have a look at this post, If the IsPlayerControlled() method doesn’t work then you can create your own as per the post:

DetermineController

1 Like

Thanks for mentioning that. I actually did something like that as a workaround.

I’m still wondering why IsPlayerControlled doesn’t work. My characters can be controlled by player or AI normally, but when calling the IsXXControlled I always get a false because the PlayerState is nullptr.

Read the docs but not very clear.

Returns true if controlled by a human player (possessed by a PlayerController). This returns true for players controlled by remote clients.

What does remote clients mean? Is it saying that it should be false on my local single player game? I have not implement any network features so far.

I’m having the same issue, you think you can lmk how you fixed it?