Instant replication
I guessing that almost ALL important replicable objects / actors in game replicating while client is loading to server. But my own objects are not replicates while loading, only after and not too fast (also I need to move character / camera for faster replication).
I using these params for replication, but this is doesn't help:
10 Replies
what is the thing/data you are trying to replicate and why do you need it replicated quickly? I have not personally had to mess with those settings to get any of my stuff replicated soon enough to use
In my case this is resource nodes (standard nodes are deleted). They must be fully replicated before client "spawns on the world", especially if there's some extractors or miners on them. Without resource nodes miners may cause a crash
I feel like some other system is at play for nodes, because I don't think all vanilla nodes are replicated to clients all the time, but, this is out of my realm of knowledge. you could test that with a get all actors of class call from the client, probably. hopefully someone else chimes in
you should be touching bAlwaysRelevant, NetCullDistanceSquared, NetPriority or bNetLoadOnClient
what affects replication is Replication Graph and Class Policy assigned to your actor. You should change that and not these settings
resource nodes are spatialized, which means they will replicate only and only if you are next to them
Am I doing something wrong with Replication Graph? Can't find any guide of this. I just add this but it doesn't seem to have any effect:
Actor Creation:
As I understand it, is this a "global action", or do I need to somehow assign a policy for each actor?
you cannot make a custom replication graph. You need to use the replication graph that vanilla is using
GitHub
SatisfactoryModLoader/Source/FactoryGame/Public/Replication/FGRepli...
SatisfactoryModLoader is an unofficial tool to load mods for the game Satisfactory. - satisfactorymodding/SatisfactoryModLoader
I still do not understand what you are trying to do though
increase replication range?
UFGReplicationGraph::RegisterCustomClassRepPolicy(ACustomResourceNode::StaticClass(), EClassRepPolicy::CRP_RelevantAllConnections);
in your StartupModule will make your actors replicated at all times regardless of the distance from the playerNope, I need somehow to replicate actors before player spawns (while loading to server).
UFGReplicationGraph::RegisterCustomClassRepPolicy(ACustomResourceNode::StaticClass(), EClassRepPolicy::CRP_RelevantAllConnections);
helps to get all the actors, now I don't need to look in specific direction or move the character for "dynamic streaming" or anything like that, but anyway, I can't get the actors BEFORE the player spawnsplayer spawns very early, what you think is player spawn is just an overlay that is shown until core game subsystems are replicated
you could theoretically hook into that screen and make it stay for longer but you would need to somehow track that all of your nodes are replicated
or you could just accept that the actors will take time to replicate and that's how unreal replication works
vanilla buildings "spawn in" the exact same way
the only objects vanilla considers "important" and waits for are game subsystems and nothing else