Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

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

Discussion in 'Assets and Asset Store' started by NatureManufacture, May 13, 2015.

  1. fred_gds

    fred_gds

    Joined:
    Sep 20, 2012
    Posts:
    184
    Does this asset require Unity Pro?
     
  2. hollegar

    hollegar

    Joined:
    Nov 15, 2011
    Posts:
    34
    The scene hangs because its loading lots of assets we added to the scene to be very heavy for testing. If You wait a while it will run and stream tiles as You move. As in the demo description "Every object at this scene use 1-20k tri meshes and textures 2k x 2k. Basically its very heavy . Terrain is using triplanar shading as custom material which a heavier than normal. Car is moving 250 mph. Scene has 10000×10000 units."

    World streamer works on iOS, Android and Windows Phone.
     
  3. hollegar

    hollegar

    Joined:
    Nov 15, 2011
    Posts:
    34
    No it doesn't need Unity Pro. You can see in tutorial that we use free version
     
  4. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    842
    How come people are not doing reviews yet?? I plan to here once I use it more.. But surprised to see no reviews..
     
  5. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Developers just starting to using it, We haven't get info about any errors yet so we think asset is ok. We waiting for reviews:)
     
  6. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    World streamer work fine with RTP 3.
     
    Last edited: Aug 27, 2015
    John-G likes this.
  7. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    I tested it on my Android, with specs as follow:
    Octa Core Cortex-A7 1.4GHz; GPU Mali 450MP.
    ROM 16GB + RAM 1GB.
    Android 4.4.2 (Android KitKat).

    When I first launched the game, the loading Scene ( Black scene with words: World Streamer) took quite a long time, like it got stuck. I had to turn off the screen and run the game again.

    The game FPS is nice. I noticed that when loading a new scene, it is quite fast ( a Loading GUI appears quickly). I prefer you make the Car auto-drive the whole race. It is easier to test that way ( I'm really bad at driving game). Overall, super awesome, purchased during Sale day, can't wait to discover more about this gem.

    I did the test again. It would be awesome if you make a Quit button to quit the game. The initial Loading process took me around 2 minutes, which is not very ideal. But, it is still good though.
     
    Last edited: Aug 28, 2015
  8. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    We happy that you like it. Soon we will upgrade demo. It will have more details and better performance. We would love to show you, how powerfull is World Streamer tool. We also made tools help developers with big terrain worlds. Few peoples ask us about them so we made this:

    - Terrain Stitcher



    - Multiple Terrain Brush

     
    Last edited: Aug 28, 2015
    HeadClot88 and ikemen_blueD like this.
  9. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey @NatureManufacture and @hollegar - Got a question or two for you guys.

    What other methods for the "Float point Fix" are you looking into?

    How far off do you expect to have a solution to the float point fix?

    Just curious,

    HeadClot
     
  10. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    hey @NatureManufacture , let me explain you my steps before stating my issues:
    - I start as a new Unity Project, import your plugin.
    - Open "Tutorial World Streamer - Game". Add "Tutorial World Streamer - Game" to the Build settings, as the first scene to be loaded.
    - Move "SC_Test Terrain prefab" to Scene Collection window, click "Add scene to build settings".

    The problem:
    - Loading GUI stuck for quite a while, even my PC is quite powerful in specs.
    - The terrain chunks, cubes being streamed fine in the Editor as Character moving around. But, when I made a quick PC build, only one terrain chunk being loaded, no cubes, no terrain chunks being streamed.



    EDIT
    Fixed. Edit, Project Settings, Tags and Layers. Adding "SceneStreamer tag" to the Tags list.
     
    Last edited: Aug 30, 2015
    John-G likes this.
  11. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    I hope today we will have first version. Anyway we had to fix few things before.
    You know they moving world from time to time. My own other vision is to move player. Scenes during saving will get xyz position that have changes because of float fix system. We will see which is faster or maybe we will add both versions.
    We are glad that we could help you. Thanks for good words at revision!

    If someone will have problem with multiple streamers at one scene or memory consumption during auto creating scene proces, e-mail me and I will give better and faster version. Please attach invoice.
     
  12. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    We have first version of float fix solution, now we have to test performance and phisics.

    Edit: It work perfect. I will upload this after we will sync this solution with many streamers
    We updated info about World Streamer, you can find upcoming features in our first post
     
    Last edited: Aug 31, 2015
    John-G, ikemen_blueD and HeadClot88 like this.
  13. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    That's great news, cant wait to get my hands on it.
     
  14. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Today I will upload 1.1 with float fix system many other fixes. Unity need to accept it and it's yours:)
    Version 1.2 (uploading):
    - float point fix (done)
    - multiple streamers support (done)
    - reduced memory usage during scenes creating proces (done)
    - improve scenes creating speed (done)
    - improve scenes creating speed (done)


    In next update "1.3" we would like to put:
    - multiple sorting proces for few layers at one (work in progress)
    - multiple steamers - automatic scene creating for multiple layers and streamers (work in progress)
    - looped world system (work in progress)
    - diffrent steam range in selected axis (work in progress)
     
    Last edited: Sep 2, 2015
  15. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    Hi there! I just bought this asset and really liked so far, it's very simple to use. Just one question:
    In my work scene i have 3 empty objects (each one a city), and inside them, more empty game objects to organize buildings, roads, props, etc. When i first run the split scenes, i only got the 3 chunks, the ones with the objects in the root. Do i need to put all the meshes and objects in the hierarchy root to correctly create a large amount of chunks?
     
  16. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Hi!
    Yeap, but if you want to other way to segregate models, just say, we will add this to "to do". For example tags,layers. The reson why we use mothers as source of position is - we don't want to destroy your model structures (LODS, Prefabs)
     
  17. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    No, i really think its okay the way it is. I just made a simple script to unparent all objects that aren't inside a lod group, and already works, Thanks.
    Just another question, about the update:
    - improve scenes creating speed (done)
    Any rough estimation about how faster it is? Like 50% something like this?
     
  18. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    We think it will be few times faster. Today we found concept to make it even faster, than this what you will get in upcoming patch. Patch is in pending review now.
     
    Last edited: Sep 4, 2015
    ikemen_blueD likes this.
  19. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    Hi, with the Unity 5.2 release and it's new features like UnloadLevel, MultipleLightmap, etc, should we expect a change or some benefits in a next World Streamer release?
    Thanks
     
  20. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    It should work fine with World Streamer. When you are creating scenes from your work scane it will bake lightmaps with settings that you got on work scene. You looking for tool to manage lightmaps in multiple scenes? At the moment we wait for AssetStore update with our pack - version 1.2. Today we will take a look on new unity 5.2 features.
     
  21. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    1.2 version is on asset store, you can find floatpoint fix there and few new things.
     
    ikemen_blueD and John-G like this.
  22. SuperNewbee

    SuperNewbee

    Joined:
    Jun 2, 2012
    Posts:
    195
    This is awesome. Just saw the update - looking forward to testing the new version with floating point fix. Will report back later.
     
  23. Seiraniel

    Seiraniel

    Joined:
    Dec 23, 2014
    Posts:
    13
    I'm working on a 2.5D game and I'm planning to use ProBuilder 2 to build the levels (and possibly other assets from ProCore such as ProGrids) and was wondering if it works with World Streamer?
     
  24. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Should be ok. Could you send me a screen, how this objects looks in hierachy?
     
  25. MMOInteractiveRep

    MMOInteractiveRep

    Joined:
    Apr 7, 2015
    Posts:
    88
    Looks similar to a Plugin I've created called UniStream. Does the same sort of thing except I use Asset Bundles instead of Async Scene Loading. The benefit of Asset Bundles is that you can edit the world and add on to the world and have it go straight to your released Game/Product with out the need to release a full update to your game that people have to download. I would really think about adding in support for Asset Bundles. Great job though!
     
  26. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Hi. If we talk about updating client for customers I will disagree with your opinion. You simply should check binary files, using something like this. https://www.assetstore.unity3d.com/en/#!/content/11068 and they only download small changes. I tested this and it works very well. I hate bundles by my whole heart, in the future I will add this option but I don't think it's a good way. I haven't used bundles so much, ofc maybe in some cases they work fine but... not for big open world games. In my opinion async scenes are better way to stream from the disc. Thanks for your good words!
     
    John-G likes this.
  27. BigB

    BigB

    Joined:
    Oct 16, 2008
    Posts:
    672
    Hi there NatureManufacture ,

    World Streamer looks interesting, however, I have one question.
    How does this work with the navmesh system ?
    The navmesh has to be generated for the entire world before the splitting is done, correct ?
    I don't think we are allowed to have several navmeshes in one single scene.

    Thanks,
    Bruno
     
  28. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Hi
    System could load navmesh from parts, but they are not connected (you could connect them by offmesh link) and unity navmesh don't work with float point fix system- unity will add this option in few months or a bit later. As I talk with them they had prototype with that. Until that I advice you to use custom dynamic navmesh. Ofc you could bake navmesh for whole world first and put it on main scene with player or server but you couldn't use float point fix system.
     
    Last edited: Sep 14, 2015
  29. BigB

    BigB

    Joined:
    Oct 16, 2008
    Posts:
    672
    Hi,

    Thanks for the answer.
    What's the float point fix system ?
    It's something to "fix" float point precision in large worlds ?
     
  30. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Yes, exactly it fixes float point precission. There is very small access to unity navmesh even I would say none and I can't move it with whole world or maybe I just didn't spend enought time on this matter...
     
  31. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    So, what AI path finding package do you recommend, that work best with your Streamer?
     
  32. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    I don't know how AI works on space game (no navmesh in 3d space games) but as I talked with my old friend Aron, the best solution is to use this: https://www.assetstore.unity3d.com/en/#!/content/1876 . You could bake few overlapped navmeshes and replace them during float point fix process. AI will not have any problem with that. You have to synhronize navmesh replacement moment with float point fix process. It's easy just modify World Mover script.
     
    ikemen_blueD likes this.
  33. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    Hi, can someone here give me a little help with something (not necessarilly related to World Streamer), but anyway:
    When i use the world streamer i end with many unity scenes to load (about 400), in the builded version each scene occupies about 19 mb, so in the end i have a very very large project size. Any common tip to help to reduce the scene files size?
    Thanks
     
  34. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Hi.
    Have you got lightmaps or navmesh on work scene? System could coppy them to each scene with scene data.
     
  35. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    Hi, I'm having two small questions about Terrain Composer compatibility....

    a) Do I have to cut the big TC terrain manually for World Streamer or does it work somehow out of the box?

    b) TC can handle runtime generation, but World Streamer needs the terrain set-up to be done before runtime; thus a runtime approach is not working easily?
     
  36. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    a) Yes, terrain must be in parts. TC should give you possibility to cut it into parts.
    b) Terrains must be saved on scene before build to load/unload them.
    How this runtime generation works?
     
  37. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    a) I just saw that you can generate several terrain tiles at once in Terrain Composer, thus it might work.

    b) That is what I thought. I don't own the asset (yet), so I don't know the details. I guess World Streamer cannot work with procedurally created content ?
     
  38. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    It could, if you generate them in unity editor and save in parts with scenes. That I saw in Nathaniel video about procedural terrains. So it should work - if you talking about this:
     
  39. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    Also saw this :) However, I thought you can also generate this terrain via script on runtime, but then it is probably not working with WC.

    How about random placement of gameobjects in a scene, e.g. changing the position of a house from one terrain tile to another... would this work?
     
  40. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    In playmode? How you would like to do this? Instantiate? Pool? Move?

    If move: objects still belong to the scene. So when scene will be unloaded, it will also unload building.
    If you create it runtime, it will be in memory until you don't unload main game scene or you can use destroy. It could fallow player with float point fix process if you attach World_Mover script to this object.
     
  41. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    Yes, I thought about the "move" idea and came to the same conclusion.

    Another question: How do you handle enemies like opponent cars in your racing example? They probably belong to the main game scene, but what happens when they are much faster than you and exit the sub-scene?
     
  42. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    In my opinion if they are so so far you should use car markers.You shouldn't use phisical objects if you don't need it. If your cars use navmesh there is no problem. Could you tell me more about your AI? Does your game have multiplayer?
     
    Last edited: Sep 21, 2015
  43. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    After some days trying to figure the things out:
    Yep, Navmesh data and lightmap data were taking a good size on the scene files (even tough they would not be loaded dynamically). Also, the lack of prefabs objects in my scenes are also problematic.
    In the end, i will only try to have larger chunks.
    Thanks for the help!
     
  44. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    We are always open for your suggestions and all of your problems. If you need anything just write here. Streaming conception is always hard thing, sometimes you have to change project structure, way of thinking. Sometimes it could be very easy. We made World Streamer as universal as much as it can be - in our way of thinking ofc. We could make feature with baking lightmaps for each scene.
     
  45. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    Would it be possible to plug in what to load manual, meaning via code, rather than building the whole scene and saving it? For example a tile system where the next tile to be loaded can be either A B or C, the game randomly decides B, then World Streamer loads C as the next tile? Or must they all be predetermined?
     
  46. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Hi. You want to load random world - for example random dungeons? It's not supported now. It's a nice feature, we could talk and think about that.
     
  47. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    Hi @NatureManufacture, i'm having a problem with the plugin, see if you can help:
    When i build the game, the streamer sometimes simply doesn't work. At all. In the editor, things always load perfectly, but no when i build the game. I called some debug.logs, and everything goes perfect, until the "Application.LoadLevelAdditiveAsync (split.sceneName);" any idea if there is any limitation in build with the load additive async? Because that's the only reason i can see to not work.
    Thanks
     
  48. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Hi.
    -Every build is broken?
    -Have you got all scenes in build settings? You could remove them and add again by streamer at your game scene.
    -How many scenes you got? I tested it even with 1500 and it work fine.
    -Have you try to build dev build with console? You could sent me a log? This log could contain error or something that could help you to resolve that.
    - If any of this question didn't help you, just contact me at skype : dahrrrr and we will take a look on that, using your shared screen conference.
     
  49. Uli_Okm

    Uli_Okm

    Joined:
    Jul 10, 2012
    Posts:
    95
    - Yep, every build is broken
    - All the scenes are there.
    - I tried wih 1100 scenes, and splitted again in larger chunks resulting in 100 scenes, and both didn't worked
    - I added some output logs in various parts of the streamer script, and everything seems fine. The number of found scenes is ok, all the logic is running, it only stops in the "Application.LoadLevelAdditiveAsync (split.sceneName);" and no error pops-up
    - Thank you for your support! I will try some things again, but really looks like a unity bug
     
  50. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Try to rebuild your library, at u5 it could be just broken.
    We get some cool feedback here: https://www.assetstore.unity3d.com/en/#!/content/36486 Maybe it will help. Anyway we are open to help you and save your time.