Hello Creators!
We believe that Streaming is a key component of scalable, more stable, faster to join, and gigantic experiences on Roblox. While Streaming is a powerful tool, we understand that in some cases Streaming has had difficulty keeping up with the complexity of some experiences.
In this post, we want to share why we’re leaning into Streaming, index all of the work we’ve done recently to fix the problems you’ve reported, discuss what’s next, and request your help to make Streaming even better!
Why Streaming?
Streaming enables you to create truly massive, truly detailed, worlds.
- Our research shows that devs building with Streaming enabled have chosen to have twice as many instances than non-Streaming, and we expect that number to grow.
Streaming reduces join times by at least 20%.
- Testing shows that even with more instances, join times improve by at least 20%. Streaming experiences have less to initially load, so players can engage sooner.
2x fewer crashes due to out-of-memory.
- This significantly improves user experiences on lower end and older devices where out-of-memory crashes are the primary reason experiences unexpectedly stop.
What Have We Done Recently?
These recent releases collectively address many of the issues you might have had with Streaming in the past:
Streaming is easier to program than ever with Streaming Model Modes.
- The new property Model.StreamingMode makes streaming easier to use with scripting and simplifies porting existing experiences to streaming.
Make your experience faster with Opportunistic Streaming.
- Set desired streaming out behaviors, including a new opportunistic mode.
No more half streamed in vehicles with Part Instance Updates.
- Improves how we stream parts that are grouped together into mechanisms and assemblies, such as vehicles and characters.
Reduce streaming pauses with Streaming Integrity Updates.
- Fewer pauses are caused when objects haven’t been loaded in as a player or vehicle is moving quickly.
Make streaming experiences look great with Model LOD Improvements.
- Increasing the Model LOD resolution and capturing the model’s shape and color more accurately, resulting in improved quality. Check out the video below that highlights the improvements.
Upcoming Work, and Streaming “on by Default” for New Experiences
Streaming is a key core system, similar to how we think about Physics, Rendering, etc. Here are some of the improvements we’re currently considering for future releases:
-
Even further improvements to LOD visuals (e.g. supporting motion).
-
Updates to our programming model to make coding Streaming enabled experiences more straightforward (e.g. further minimizing need for WaitForChild, simpler usability models).
-
More and improved debugging tools (e.g. networking simulation tools).
-
New educational materials (e.g. better docs, tutorials, etc.).
We are investing so heavily in Streaming because, again, we strongly believe that this technology will help unlock amazing, large, fast to join, and more stable experiences. With your help and support, we want to turn Streaming on by default for all new experiences so that more creators’ experiences will benefit from the improved performance, reliability, and engagement we think that Streaming will bring!
This means:
-
Workspace.StreamingEnabled = true
on template places- You have the option to toggle this setting off
- No required changes to existing experiences
- Experiences with streaming currently disabled will remain disabled
Your Feedback is Requested!
What we want to achieve with this post is to take your pulse on how close we are to turning Streaming on by default for new experiences. We are not flipping this switch until we hear from you.
We would really appreciate your input on the following questions and please share any other comments or concerns you may have down below.
-
What gameplay scenarios are still difficult to program despite all our updates?
-
If still not comfortable with Streaming, what additional changes would be needed to make Streaming enabled your first-and-only choice for new experiences?
-
What is making it hard to convert your existing experiences to Streaming enabled? What would make it easier to do so?
-
What educational materials would you like to see?
Thank you.