Changing GUI on Server side

Im making a gamepass gifting system, and I want to make it so that if a user gives you a gamepass, then it shows on your screen that x gave you y gamepass. Ive always been taught to only change gui from client side, but why wouldnt I just do

game.Players.WhateverPlayer.PlayerGui.FrameName.Visible = true

and change properties like that?

I assume my other option is using a remote event and doing fireclient, but I was just curious about this

One of the reasons is that any changes the client makes are not gonna be replicated to the server. This can cause an issue, because if the server thinks, for example, that the frame is already visible, even though the client closed it, then it will not try to make it visible again.

it wouldnt be something to close though, it would just appear then fade away, just a frame/label

If it fades away, it would only be visible once, ever, per player. If that is what you want, then it may still work