Handling Visual Effects on the client is pretty straightforward. What I want to achieve is to replicate an effect that has already begun “Playing”. For example, if a player joins late they should be able to see all the already existing effects and the effects should be replicated properly according to the time they started “Playing”.
This heavily depends on the type of effects you are making. You need a way to store the active effects on the server to pass them across as well as the time stamp and the client needs to get a list upon joining. You also need a way for the client to fast forward to the correct position in the effect (depending on effect of course)
Yeah, but what is the way? Is there a reliable way to always “Position” an effect at the correct “timestamp”
Depends on the effect. If you’re just tweening an object for example, you can just teleport it to the spot it would be at at that time. Some other effects don’t care about time stamps at all and some are more like lots of events scripted into one. The exact specifics of implementation will depend on what exactly you want to have carry over. In a lot of cases you can carry them over, but some things like physics driven events that require time stepping might not even be possible to skip ahead on. Or at least not directly, but you could potentially cache a version of it to skip ahead to. Basically it’s just complicated and without a direct example it’s going to be hard to point to any particular methods to use
Hardcoding parts of this is unavoidable the way I see it. Is there a way to fast-forward particles for example? There are so many different scenarios in my mind it is very hard to image a good solution that will be future-proof and modular. I have not found a single resource on this topic as well.