I’m suggesting a new instance that does not automatically replicate, and can be manually replicated to specific players.
Some use cases:
[ul]
[li]Chunk loading system (StreamingEnabled is far from perfect)[/li]
[li]LoD system[/li]
[li]VIP door that goes away for VIP’s[/li]
[/ul]
Simple example:
Someone wants a treasure to show up when a player completes a quest. They’d put the treasure in one of these special folders, and when the player completes the quest, the dev would call something like:
folder:SetReplicated(player, true)
I’ve been working on my own chunk/LoD system that uses RemoteEvents, but I’d also like to be able to control the replication of physically simulated objects without needing to manually replicate their position as well.
The perfect way to keep your memory usage low. I’ve always wanted something like this. Currently the only custom streaming systems on ROBLOX that are viable, require assets to be copies of eachother (like ZolarKeth does in Apocalypse Rising) which makes worlds look a lot less unique throughout.
We do not have any way to send instances to one client so I’d support this!
I kind of get what you’re talking about because in the past I’ve wanted to do selectively replicate models to individuals (but couldn’t do to that ridiculous thing where using InsertService on the client inserts it on the server and replicates it to all clients even though I only wanted to insert it on one client i.e. personalized loading rooms per faction and not have to have all clients download every faction room that they’re not in)
For the VIP door though, couldn’t you just delete it locally with filtering enabled?
All of those can be done with filtering enabled, but say your VIP door has 500 parts and is unanchored; you probably don’t want to send all of that data over the network when it’s just going to be deleted. Also creating a custom physics streaming system in lua shouldn’t be necessary.
Not sure if adding a method to every folder for such a specific purpose is the best way to approach this though. Wouldn’t adding a shared folder under the player be a better approach? It probably be easier to manage one specific exception to FE than having two different types of replication behavior for each folder.
I think this is a great idea. However, I’m not sure if the special folder instances would be the best way to accomplish your goal. I feel like it would be more appropriate for there to be a service that handles streaming and replication that you interface and pass object to or another similar approach. If an approach like yours was considered or implemented I would find it more appropriate to just add the SetReplicated method to models and folder to avoid adding too many unnecessary objects.
I really need this feature (or something like it). My game is designed to be extremely scalable by only replicating instances and other data on a need-to-know basis. I’m ending up with hundreds of cloned game components inside each player’s playerGui just so I can replicate them to specific players who need them. This makes the load time extremely fast, but people have been dcing and I think it’s because the server is running out of memory.
Rather than a folder would it not be better to have a method of Instance that sets who the object and it’s children are replicated to.
My current method which allows me to keep objects the same is to replicate an object to all clients and remove it from clients who don’t need it. Of course this is not perfect and in certain cases is a security issue among other things.