A fix has been enabled for this issue. Persistent models should load even when there is no character or replication focus. Thanks for reporting this problem.
Just want to mention, it would significantly tidy up this use-case if Folders could have an option to take advantage of this as well. Specifically just the atomic mode, but there may be use case for the rest. Not sure how possible this is.
Not sure if this bug is for the same thing but it seems similar to this. Cloning a model that has its streaming mode as atomic beforehand and parenting it to workspace doesnât seem to replicate any descendants. It also doesnât seem to replicate if I set a newly cloned model to Atomic (one that wasnât atomic beforehand)
I know this is only with cloned models since if I donât clone the model it works perfectly.
Are you able to create a repro place for this? I wasnât able to reproduce this problem.
It seems I was wrong on what I assumed the bug was. The model is actually replicating correctly but the primary part isnât being set when the model is replicated via a CollectionService tag even though the primary part does seem to exist within the model. Hereâs a repro
Repro.rbxl (83.2 KB)
Great update roblox but we need a ForceUnload(player) for model so they arenât replicated anymoreâŚ
It seems I was wrong on what I assumed the bug was. The model is actually replicating correctly but the primary part isnât being set when the model is replicated via a CollectionService tag even though the primary part does seem to exist within the model. Hereâs a repro
Repro.rbxl (83.2 KB)
Has there been any updates regarding this? or if its even considered a bug? Most developers including myself would expect the primary part should to be correctly set upon replication via an Added Signal such as ChildAdded, DescendantAdded, GetInstanceAddedSignal, etcâŚ
We are still investigating this bug report. We may message you directly with some questions related to your repro example.
Nice! I am having a small issue with streaming though, since it doesnât seem to work when using freecam, and only when the player moves. Could be something cool to add.
Yeah this update is great, I guess I missed it, just stumbled on it today. I already fixed my hacky workarounds to make key distant models visible to players when they join.
Yay!
This is already supported: Player.ReplicationFocus
By setting the ReplicationFocus you can focus a playerâs streaming region on some arbitrary position rather than it having to be equal to where their character is.
But is there any way to make that ReplicationFocus part move along with the freecam? As I understood that part is stationary.
Youâd have to move the ReplicationFocus part yourself (because only you know the rules of where a person is allowed to look in the experience) but it is completely dynamic and will respect wherever the ReplicationFocus part moves.
Alright thanks for the help! I will try to figure out how to make that.
Weâve recently enabled fixes for several issues that were reported here, or problems that were identified elsewhere. The fixed issues were:
- Character models for players that have been streamed out may not be fully removed from memory. Fixed 2/23/2023
- Models with
ModelStreamingBehavior == Persistent
will not be sent until a character or replication focus exists. Fixed 3/1/2023 - Models with
ModelStreamingBehavior != Default
may not replicate correctly when stored outside of Workspace (ReplicatedStorage, ETC). Fixed 3/1/2023 - Calling
ModelInstance:RemovePersistentPlayer
(orAddPersistentPlayer
) for a player that is in the process of being removed, such as via the CharacterRemoved callback can result in a crash. Fixed 3/1/2023
Iâm experiencing, and have corroborated with some others, that when I have a model with ModelStreamingModel = Atomic
, the PrimaryPart seems unset when first loaded (e.g. in CollectionService:GetInstanceAddedSignal
) despite the parts existing because of Atomic
⌠in fact even within a task.defer
it seems the PrimaryPart becomes set.
This seems unintended, can you confirm @CorvusCoraxx @tnavarts ?
Working on converting Jailbreak to use streaming
I believe the issue that you described, where the PrimaryPart isnât set when the model arrives, should be resolved by a fix that we recently implemented but havenât yet enabled. We will confirm and let you know when the fix is active, or if a separate fix will be needed.
Are these issues with streaming enabled?
Case 1: HumanoidRootPart of the player undetectable by their own client.
This part always successfully runs.:
local Player = Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
WaitForChild(âHumanoidRootPartâ) fails. Itâs odd, but LeftFoot disappears too.
Case 2: Instance (presumably the InstanceID) that was just created is passed to client via remote function. Client receives ânil.â Sometimes this is still true with built in delays over a second.
Using âPersistentâ to make sure parts are seen by the client only goes so far.
Am I the only one who canât play animations in atomic? Are there specific guidelines to follow when using atomic streaming?
As mentioned under âKnown Issuesâ there is a problem with animations under atomic characters. We hope to enable a fix shortly.