Issue with my script, server -> client returning nil

Trying to send a player and string from server to client script, returning nil, nil on my local script.

-- server script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")

local remoteEvent = ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("RegionDetection")

function onFireToClient(character, string)
	local player = game.Players:GetPlayerFromCharacter(character)

	remoteEvent:FireClient(player, string)
end

onFireToClient(myCharacter, "East Lower-Wing")
-- local script
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local remoteEvent = ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("RegionDetection")


local function onNotifyPlayer(player, location)

print(player.Name,location) -- nil, nil

end

remoteEvent.OnClientEvent:Connect(onNotifyPlayer)

I’m pretty sure when running :FireClient() it doesn’t send the player value to the localscript. And since you can simply get the localplayer through localscript I think the onNotifyPlayer code can be rewritten as

local function onNotifyPlayer(location)

print(location) -- should print "East Lower-Wing"

end

let me know if this works

But I need to know which player is activating this?

I have this region thing, where player walks into region and sends the location to the client. I need to know which client display the enter region thing

When firing an event from server > client, you only need to send the player argument through the server, the client doesnt recieve the player argument.
This script should work.

-- local script
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local player = game:GetService("Players").LocalPlayer

local remoteEvent = ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("RegionDetection")


local function onNotifyPlayer(location)

print(player.Name,location) -- nil, nil

end

remoteEvent.OnClientEvent:Connect(onNotifyPlayer)

Also, as the client is the one recieving the event, for the client to know that its them, you can just do

game:GetService("Players").LocalPlayer