[RELEASED] World Streamer ! Forget about your game memory usage and create big world!

** World Streamer 2 forum thread **

2112140--223194--1920x868.jpg
World Streamer is a memory, assets streaming system. By using it you are able to stream whole your game from a disc in any axis and space. You are able to create endless space games, 2D platformers, 3rd person, or any kind of game you want without loading screens during player movement. You could also create endless looped world. In few clicks your game is ready to be loaded from your disc! Now your scenes are as big as you want, without any limits. You could work on local area and update world by 2 buttons. You could also separate your world into layers like: lighting, ai, geometry or even separate them into local areas. It's perfect soluton for teams that work on the same area. World streamer is also useful for architectural presentation or in any application that you need to use as low memory as possible. With streaming you will reduce objects count in your scene. Thats will save your cpu,gpu power and you will only load them if they are necessary. Collider streaming give you ability to stream rooms and floors, only when player will hit room/floor area collider. You could build whole towns with interiors without performance hit. Ring streaming will replace your unity terrains by low poly meshes in far distance. Now you are able to stream your open world from disc in few clicks.

Asset Store Link: World Streamer
About World Streamer:


Small planet streamed from disc example (demo contains curved world pack):

Heavy Terrain Streaming
https://www.youtube.com/watch?v=R2rtpkC86uM

Features:
- Floating point error fix system
- Looped world system
- Multi scene editing support
- Unity 5.3+ support but it also work on older unity versions
- Multiple layers streaming
- Support for multiple devs working at one area
- Removes world size restrictions and slow down in unity editor at huge or extremely detailed scenes
- Ring streaming (replacement of the objects according to the distance)
- Collider hit streaming
- Support for extremely big worlds
- Easy automatic processes will save your development time
- Few and clicks you can stream endless world
- Work in any axis and space: 2d, 3d, vertical, horizontal
- Reduce RAM,CPU,GPU,VRAM usage of your game
- Reduce number of objects in your scene
- Compatible with unity5 speedtree or any tree system
- Load your world in background (async loading)
- Compatible with amplify, graphine and any other texture stream system
- Loading screen system
- LOD system for split terrains
- Webplayer support
- Occlusion Culling support (Unity 5.5+)
- Innovative local area updater
- Terrain culling system distance based on camera view (Unity 5.3+)
- Compatible with terrain stitcher and multiple terrain brush
- Unity navmesh support with floating point fix - Unity 5.6+
- Fully commented opensource code that will help you to work with World Streamer!
- Compatible with: World Creator, Gaia, Terrain Composer, RTP, uConstruct, Gena, Curved World, Real World Terrain, Granite, Amplify Texture, Terrain Stitcher Multiple Terrain Brush, Terrain to Mesh, Most Asset Store Assets.

TUTORIALS:
1. Stream your whole world step by step.


2. Refreshing world data in 2 different ways.

3, 4. Terrain split and adjusting it to streaming in very short time and World Streamer terrain culling system.

5. Ring streaming and how to replace HQ unity terrains by cheap low poly mesh in far distance.

UPCOMING TUTORIALS:
6. World looping and small planet construction.
7. Floating point fix system.
8. Collider streaming solution.
9. Local area updater introduction: tool for big worlds and teams.
10. Workflow with other unity assets like World Creator, GAIA, Gena, Terrain Composer, World Composer, Weather Systems, Horizon Systems.
MANUAL LINK: NEW MANUAL FOR WORLD STREAMER 1.7+ VERSIONS

Changelogs:

Update "1.3"
- Improve scenes creating speed
- Multiple sorting process for few layers at once
- Multiple steamers - automatic scene creating for multiple layers and streamers
- Cancel creating scene process
- Warning if you forgot about: streamer tag or deloading range is shorter than loading, thx for feedback!
- Save options for sorting process
- Streaming layers manager in scene splitter
- Documentation update
- Index out of range fix, it could show in very specific situations
- Manual update with more tips and details, thx for feedback!

update "1.4"
- looped world system
- different stream range in selected axis
- gizmos with information about future sectors
- scrollbar in scene splitter window
- webplayer support
- generate scenes for separated layer - "G" button
- compatibility with terrain stitcher and multiple terrain brush

update "1.4.5"
- fixed looped world system
- support for unity 5.3+ and older unity versions
- multiscene editing support

update "1.5"
- this world streamer version still support older unity versions!
- scene creating process is 20 times faster, improvment requires unity 5.3+
- added new loading/deloading improvment requires unity 5.3+
- innovative local area updater tool [beta], it requires unity 5.3 +
- additional support for huge teams that work on one world, , it requires unity 5.3+
- additional support for huge world, it requires unity 5.3+
- if you change world streamer to 1.5 from older version you have to rebuild your scenes (it's only few seconds now). We added plenty of informations to our scripts so they must be filled by system.

Update "1.7"
- Bug fixes with looped world which start from "-" positions.
- Bug fixes with looped non-square world
- Bug fixes with local area updater (non default scene directory)
- Bug fixes with scene splitter (non default scene directory)
- New gizmos for sectors. You will be able to visualize how far you stream every layer, compare them etc.
- System speed up
- Changes in UI to more intuitive, we removed some windows and we make system more automatic
-Collider streaming. You will be able to stream sectors that only show up when player hit collider. Useful for building interiors! Collider could be looped, it will be also compatible with floating point fix system. With this system you could avoid loading big group of invisible models.
-Ring streaming. You are able to load objects in specific range and then replace them when you are close or far enought. It could be usefull as LODs for far view terrains. At close distances you will have terrain at far you could load low quality mesh. You also could use it to replacing objects/models in different distances.
- New tutorials and manual doc. It will be more based on typical asked questions.
- Streamer objects will get prefabs that are easy to setup
- Tooltips

Update "1.7.2"
- Faster gc solution, it works 10x faster now
- Hide few debug values
- Own terrain culling system based on camera view. With it you probably will save 90-10% of terrain cpu/gpu usage.
- Minor manual changes
- More info about real time generated data and world streamer workflow.
- Minor bug fixing, they do not affect system workflow

Update "1.7.2"
- World Streamer Tutorial 1 - Stream your whole world step by step

Update "1.7.3"
- World Streamer Tutorial 2
- World Streamer Tutorial 3
- World Streamer Tutorial 4
- Local area updater boundary gizmo fix
- Additional function to turn on/off streaming layer
- Terrain neighbour script fix and terrain streaming improment by 500%
- Terrain culling system quick fix (last version could generate editor crash)

Update "1.7.4"
- Debug fix at terrain culling system
- Object culling system
- World Streamer Tutorial 5
- Fix for real player position value with looping system. (this will help in client server communication)

Update "1.7.5"
- Fix in "z" axis looped streaming
- Fix for unsplit button in local area updater.

Update "1.8"
- World Streamer Tutorial 5.
- Fix for player position gizmo if you are not using world mover.
- Save/load setup for Local Area Updater.
- Additional support for spawned players.

Update "1.9"
- System that holds or moves player to safe place during loading time. (done)
- System which manage physics when player is far from objects (done)
- Terrain culling camera setup changes (done)
- Manual update (done)
- Small fixes (done)
- Exception script for terrain at neighbour LOD system (done)
- Removes warnings for 5.3+ (done)
- Streamer should works with catalogs in hierarchy.(done)

BTW we had issue in 1.9 with scene generation. If you have error during this proces simply replace this file. Hot fix will be uploaded right now but it will wait for acceptation.

Update "1.9.0.5"
- fix for 1.9v with scene generation proces

Update 1.9.1
- Light and GI additional manager (done)
- Manual update (done)
- Blocked moves/operations that could bring wrong results. (done)

1.9.2
- Spliter fix for linux devices
- Culling manager fix (some devs said that terrain is invisible in few situations)

1.9.4 (Online)
- Local area updater fix
- Direct unity 2017 support.

Update 2.0 We start working on world streamer 2.0 please put info what you would like to see in new version:)
So list of features for 2.0 from our side:
- 1 object to manage whole streaming and layers
- direct asset bundle option
- some fixes with looping and floating point fix
- better light setup manager per layer
- occlusion culling per layer (not sure yet)
- light baking button for whole game
- layer sorting by: object name, child, tag etc
- garbage collector manager

List with features from users side:
- comming soon:)

Contact with us by mail to get fresh fixed scripts before release..

Test scene (very old):
Windows download - Demo
Mac download - Demo
Mobile android download - Demo

Helpful additional tools:

[- Terrain Stitcher ( stitch edges between unity terrains)
- Multiple Terrain Brush ( brush for multiple terrains)](https://www.assetstore.unity3d.com/#!/content/44037?aid=1011lGkb)
- Free Terrain Spliter

Example game working on world streamer and our few other assets like R.A.M (links below):


Another example - MMO Game:
https://www.youtube.com/watch?v=ijp7zA_QIqs&feature=youtu.be

Cloud Point viewer example:
2112140--336598--46782246_2238812353060490_3864236042475274240_o.jpg

Visit us:

Facebook
Twitter
Our website - naturemanufacture.com
Discord - support

You could also look at our other packs:

Unity Tools:
River Auto Material 2019 - create fabalous river in few seconds, (ground textures included)
River Auto Material - create fabalous river in few seconds, (ground textures included)
Lava & Volcano Envrionment 2019- create fabalous lava enviro, volcano, river, cave.
Lava & Volcano Envrionment - create fabalous lava enviro, volcano, river, cave.
World Streamer - optimise your game, stream data and remove memory, cpu, gpu usage, create endless looped world. Reduce loading times.
Terrain Stitcher Tools - connect multiple terrains, remove holes in 1 button click. Options will help you to handle any shape connections. Easy and fast border stitching.
Multiple Terrain Brush - work at multiple terrains as they become one, without any borders and holes

Terrain Shading:
CTS terrain shader 2019- AAA terrain render and textures made with Adam Goodrich, 1 pass (less drawcalls then unity terrain), snow,water auto cover. Totaly easy in use.
CTS terrain shader - AAA terrain render and textures made with Adam Goodrich, 1 pass (less drawcalls then unity terrain), snow,water auto cover. Totaly easy in use.

Environment:
Forest Environment - Dynamic Nature - huge library of trees, rocks, grass, branches, slopes, best artistic content winner at unity awards 2019.
Meadow Environment - Dynamic Nature - huge library of trees, rocks, grass, flowers
Mountain Tree Pack - Dynamic Nature - HQ optimised tree pack. Cheap in render and gives fabalous render result.
Ice World - ice shaders for water and models with huge ice textures library
PBR Graveyard Pack - really huge library of PBR cemetery sculpted and scanned models with foliage. You will find monastery, interiors, graveyards, nature, walls
Advanced Rock Pack - auto-covered rocks which you could easly blend with unity terrain. Big library of HQ ground textures included.
Advanced Foliage Pack - huge library of foliage (grass, roots, trunks) with ground textures. Vegetation studio supported.
Photo Scanned Park Assets - photoscanned and optimised park models like fountains, statues, bench, laterns, stairs and fences. Best LOD's in the planet :smile:
Dynamic Nature Starter - library of rocks, trees ground textures and shaders which could be autcovered by snow at runtime.
Winter Mountains and Stamps - group of background mountains and stamps for gaia and new unity terrain 2018.3+
Realistic Grass Pack - pretty old grass (billboard) texture library
Realistic Tree Pack - pretty old big library of trees, optimised and cheap in render
Mountain Tree Pack - pretty old group of mountain trees, optimised and cheap in render.

Ground Textures:
Winter Ground Pack - library of winter ground textures like rocks, snow, paths , grass etc
Landscape Ground Pack - big library of ground/forest textures
Landscape Ground Pack 2- big library of ground textures

VR & FP Models:
VR Hands FP Arms - pack of hands and arms models with fabalous skin shader. Mobile and standalone versions.

6 Likes

Has it been tested on any mobile platforms?
Do you provide a helper function to moves worlds about 0,0,0.

Looks great!

[quote=“twobob”, post:2, topic: 580497]
Has it been tested on any mobile platforms?
Do you provide a helper function to moves worlds about 0,0,0.

Looks great!
[/quote]
Yeap it works, in few hours we will add additional link. It will contain the same scene, for mobile. World moves to 0,0,0 is in plan.

2 Likes

Looks interesting

Nice. I may end up picking this up. Need a beta tester?


We don't need a beta tester yet but thank you for your interest and good will. We appreciate it

Asset store just accepted it. You are free now to use it.

1 Like

I have an aircraft sim , currently I use worldcomposer to great effect.. will your asset be suitable for large world flying areas on unity desktop build? Can I add trees/details/buildings to any area? eg if I have a large city to add building meshes so not to just have flat terrain? Do you have demo video that I could watch to see how to use your interesting looking asset?
thanks,
Kim

[quote=“khos85”, post:8, topic: 580497]
I have an aircraft sim , currently I use worldcomposer to great effect… will your asset be suitable for large world flying areas on unity desktop build? Can I add trees/details/buildings to any area? eg if I have a large city to add building meshes so not to just have flat terrain? Do you have demo video that I could watch to see how to use your interesting looking asset?
thanks,
Kim
[/quote]
Demo/Test contains big terrain 10x10 tiles (but it could be 100x100 doesn’t matter). At this demo scene you have buildings, heavy road meshes, briges, colliders, speedtree5 trees. Terrain was made using terrain composer and world composer. World streamer will split your world into sectors and stream when exactly you want.

How does this asset compare to SECTR Stream? Thank you

[quote=“eridani”, post:10, topic: 580497]
How does this asset compare to SECTR Stream? Thank you
[/quote]
I think it’s different way of thinking about streaming. We chose way with no portals and this things. World streamer is usable in any kind of games: 3d,2d,fps,space etc… You work at scene and in few clicks it’s in parts which give you possibility to stream them from disc. You put 2 scripts at scene and it’s done. You can update streamed assets manually or automatic. World streamer is also automatically combing LOD for neighbour terrains. That mean it’s perfect solution in big worlds for space, plane or car games too.

Thank you very much. So there is no loading at all between portals, etc? Is performance acceptable on older mobile phones?

[quote=“eridani”, post:12, topic: 580497]
Thank you very much. So there is no loading at all between portals, etc? Is performance acceptable on older mobile phones?
[/quote]

Performance always depends on size of data that you load at one frame. Your world is cut in many parts, and when you load assets they are shared - not duplicated in memory. World streamer gives you tools to choose how much you want to load at once and how fast.
Answer is: it will work on old mobiles but you have to remember to do not kill them by huge assets loaded at once.

1 Like

[quote=“NatureManufacture”, post:9, topic: 580497]
Demo/Test contains big terrain 10x10 tiles (but it could be 100x100 doesn’t matter). At this demo scene you have buildings, heavy road meshes, briges, colliders, speedtree5 trees. Terrain was made using terrain composer and world composer. World streamer will split your world into sectors and stream when exactly you want.
[/quote]
Thanks for your info/reply,can I stream in runtime mode any part of the world, without preloading them in a scene during editing in unity editor? I’m looking for this kind of functionality, where players can enter e.g. world coordinates and it takes them there, and you start flying/walking/playing in that location in game… without me as the dev having to setup anything?

1 Like

[quote=“khos85”, post:14, topic: 580497]
Thanks for your info/reply,can I stream in runtime mode any part of the world, without preloading them in a scene during editing in unity editor? I’m looking for this kind of functionality, where players can enter e.g. world coordinates and it takes them there, and you start flying/walking/playing in that location in game… without me as the dev having to setup anything?
[/quote]

If you mean teleport? If yes my answer is also yes. There is teleport script you can use it, with loading screen or without. The only thing is: you have to change cooridinates of teleport object and click teleport. You can create teleports before build or simply move this object during the game. Player will spawn in object position that contain teleport script. It’s very easy in use.

May I ask what you are streaming exactly? Does the world continue to work outside of view?

Can you show us a video on how to use this asset?

[quote=“jalapen0”, post:16, topic: 580497]
May I ask what you are streaming exactly? Does the world continue to work outside of view?
[/quote]

Everything that could be saved at scene and could be loaded in async proces is streamed by world streamer. I know that it is general answer but everything should work with that, except for Occlusion culling that will be soon added by unity. So if something is not, unity will add it soon as they are preparing for multiscene workspace.
While world streamer is working you have specified area that is being held in memory (you choose size of area in script). While you are moving, objects which are left behind are unloaded and removed from application RAM usage. If you care about object count or memory use in your app it’s usefull. Sometimes it’s better to use loading from memory because you got map with many scripts, particles, light, phisics object that consume CPU. When you unload them performance is better.

[quote=“b4c5p4c3”, post:17, topic: 580497]
Can you show us a video on how to use this asset?
[/quote]

We will make it this week. We had to change few gui functions, we get some cool feedback and world streamer will be easier to use.If there are any problems that are not mentioned in manual please write naturemanufacture@gmail.com We would love to help you in any case.

[quote=“NatureManufacture”, post:15, topic: 580497]
If you mean teleport? If yes my answer is also yes. There is teleport script you can use it, with loading screen or without. The only thing is: you have to change cooridinates of teleport object and click teleport. You can create teleports before build or simply move this object during the game. Player will spawn in object position that contain teleport script. It’s very easy in use.
[/quote]

Thanks for the reply but I think you misunderstood my question, can I without creating anything in the Unity scene then build that scene/game, then in runtime enter coords which will load terrains from the mapping host (bing google etc), that is what understand by streaming.

[quote=“khos85”, post:19, topic: 580497]
Thanks for the reply but I think you misunderstood my question, can I without creating anything in the Unity scene then build that scene/game, then in runtime enter coords which will load terrains from the mapping host (bing google etc), that is what understand by streaming.
[/quote]
No, World Streamer is system to load/unload scene assets which you made in unity.