I know that it’s called only on server because neither the server nor the client crash, the client part should remove widgets and the server part launch a timer. Widgets aren’t removed while the function called by the timer runs fine.
I event tried to put an UE_LOG just before the Call parent but only the server print the warning … If you know where is the problem I will be really happy !!!
Player Controller don’t exist in client side for security reasons. There PlayerState class that is dedicated for public information about player avable to anyone (there also GameMode which is also not replicated equivalent GameState) and HUD can grab information from there, i recommend ot use UMG binding (Slate has it to if you use that)
You can also use function call replication so playercontroller can send something to character or other object, there section dedicated about it here:
You can also try to hook up to other event. Remember about security, even if you don’t provide any UI to specific function, even if you don’t display information that you replicate, you need to remember that user has free access to memory of there machine and free access to there network IO and they can do anything to them with external software. So you need to strictly control what is replicated and what is not and what client and server should listen to.
Ah sorry :o i thought mean PlayerController, i rushed thry your quastion too much ^^’ hmm i still posted good workaround thru. I also analized actor code a bit and by look of it BeginPlay should work, it seems for replicated actors it is triggered inside PostNetInit event, you use it and not calling super there it might be the cause of BeginPlay not calling.
You could also try using PostNetInit if you not using it see if it’s called at all. Put your code after super so actor will be in post beginplay state to make sure everything is initiated.
There definitely way to hook up, it’s not like you see some magical ghosts projections from server, there is code executed on client to do all the visual stuff, if the BeginPlay don’t work (which if you ask me i didn’t know about this, i didn’t work with replication, i only as brief knowledge about it) try to hock up to different events, try PostInitComponents event for example, just remeber that this is also called in editor when you place it on the level). Look on AActor API refrence, you can hook up the code on any virtual function so chekc what works on client and place code there: