GAS - Gameplay Effect not applying on Client

About to leap off a cliff lol. Trying to apply a gameplay effect to the user interaction with an object, that brings up a widget. So when you press a button, an effect is applied. Works great on the server. Here are some code snippets… No matter what happens. My client refuses to have the effect given to itself. Assuming because the server needs to allow it. But not sure what I am missing. I set the initial call of ApplyEffect to Multicast, Reliable. Is there something simple I am missing?

	UFUNCTION(BlueprintCallable, Server, Reliable)
	void ApplyEffect(AVillainCharacter* Character, int32 Index);

if you’re calling it from a widget you may not have permission to RPC, try call it from your player controller?