Hiya, I’m working through this course as well, I think your observation on point 1 is correct and explains why at this point if we drive on the client we see the server update pretty smoothly where as if we drive on the server it only send out an update every sec to the client. I guess all will become clear in later lectures perhaps or perhaps it was just missed in testing.
I think Tick and NetUpdateFrequency are separate tho, tick fires every frame Network update frequency is separate see Property Replication | Unreal Engine Documentation and the comments around data driven network update frequency
There’s a good write up on the replication flow here Detailed Actor Replication Flow | Unreal Engine Documentation but it doesn’t explicitly call out between server and client replication. I think because we are working on a scenario where the server is also going to be a client for someone we have to treat the server as a client as well as an authoritative server which is why it all feels a bit confusing.
If we were going for a true client server model where we had a dedicated server I think the code would be easier to understand conceptually but harder to set up for a training course.
For point 2, I think (but I’m no expert) that this solution is more of a teaching aid and also suited to smaller scale connections where someone is also hosting the server as a client as well so it wont scale great as you observe. If you look at the unreal documentation they have a section on Replication Graph | Unreal Engine Documentation I think this is what we need for MMRPG style games / battle royal etc. I’ve got it on my list of things to read up on (as well as how Microsoft Azure PlayFab | Full Stack LiveOps, Real-time Control integrates after this course. It look interesting for larger scale stuff.
- I’m sure we probably could it’s a great observation and something to consider and keep an eye on for sure!