TLDR: Question: Is it possible through the replication graph to achieve something similar to the way bNetStartup = true (map actors) work? Specifically stopping an actor being deleted when it goes out of range (netculldistance) - Yes or no?
Why: (design) Base building game that utilizes FFastArray and HISM/ISM to manage many walls/foundations etc for a Base.
- I don’t want when the player goes out of range of the base for it to be deleted and then resend a lot of data.
- I also don’t want it to be always relevant - as there will be many bases in this world and when a player joins they would receive a huge amount of data bricking the clients/server.
- If it resend data I also need to recalculate how the base is put together snap points etc.
Some More Information: I have been working on this for a long time and was finding a lot of success building the system simply using “bNetStartup = true” as it achieved everything I was after. Everything worked perfectly - until I started to delete bases and have a client join into the session and I believe I’m now running into issues where the NetGUID is getting the whole replication system confused and basically stops some bases from working and completely stops me adding any more bases.
My original system works great when both the client(s) exists on the server before any bases are added and removed. It basically falls apart when bases have been removed and now a client joins the game and the NetGUID issue desyncs everything (that is what I think is happening).
I have heavily researched Dormancy, IsNetRelevantFor etc etc. But the default unreal behaviour will not achieve what I am after no matter how hard I try.
My last hope is to attempt using a Replication Graph. I just want to know before I go down this route if it will even achieve what I am after. I am basically after for the clients connection to this actor (base) to never be closed unless I manually do it and for it to only send updates when it is in range.
Thank you to anyone who takes the time to read this or comment.
My original older post and discussion: