Search Unity

[RELEASED] SECTR STREAM: Seamless Scene Streaming

Discussion in 'Assets and Asset Store' started by MakeCodeNow, Feb 21, 2014.

  1. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Questions about general performance of Nav Mesh (and alternate asset store solutions) are best left to the main forums. They don't really relate to SECTR and I'm sure you'll get much more useful feedback by creating a thread dedicated to the topic.

    Completely unloading a Sector will save memory and performance, since that area simply does not exist. VIS will save CPU and GPU performance when you are not looking at that area, but there will still be the CPU costs of whatever gameplay scripts and AI are running in that area, and of course if you are looking at the area, then VIS can't cull much.
     
  2. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    I saw that someone else asked the question but find not a real answer so i ask again.
    Maybe i overseen it.

    What should i do that an enemy can chase my player from one terrain over another until his birthterrain get unload and then he not should disappair suddenly.
    I think i will make it so that the enemys can not get over some bounderys to prevent this but i want to know if it would be possible to think about a feature for a special enemy so you would help to explain on how to do that.
    I know, if it is only one i can make him global but they are some more and then i take all the data in all terrains and have less ram for other things.
    Is there a way to make just the chasing one global and only if he chase me over the next terrain?
     
  3. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    It requires some specific logic but should be easy. Once the enemy starts chasing the player, unparent him from the Sector. That will prevent him from getting unloaded. When he is done chasing, destroy him or parent him under whichever Sector he's now in.
     
  4. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    1.1.4e is out now. Includes API fixes for U5 Beta 13.
     
  5. SuperNewbee

    SuperNewbee

    Joined:
    Jun 2, 2012
    Posts:
    196
    Hello

    I would like to know if anybody has any success using Sectr Stream along with the worldrecenter.cs script that comes with Realistic FPS Prefab. (which resets the player position to zero once in a while, and shifts the terrain and world)

    I have been really stumped by this for a quite a while, so I figure I would see if any one else has overcome the floating point issue while using Sectr stream.

    Am I missing something simple or is it not possible to control the location of where the chunks/portal get loaded into world space? Or maybe snap them next to the previously loaded tile position (even thought the position has changed)

    Any advice would be helpful. Thanks
     
  6. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    1.1.4f is now live on UAS. Includes fixes for U5 b14.
     
  7. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Hello, I have a really weird problem here.

    Everything was fine, we were about to publish an update (2 days ago), exported sectr's (I import/export them whenever I need to, probably import/export 10 times a week). I never had an issue.

    I didn't modify any game scripts or something that would break anything, I've spent about 2 hours modifying environment, moving gameobjects, changing their position, adding colldiers and basic stuff. I imported once, modified environment, imported once.

    Game was always running perfectly with about 25-35fps. Then after that import, I did no modification in sectr names or anything, just scene name changed, didn't modify sectr's range or anything, just modified gameobjects inside. Runned the game and it was 5-8 fps. Tried to profile it on the phone but it was really low fps and I could just see a huge overhead.

    Profiled it on pc (i7-4790k) 3-6ms overhead. Realised unity started runs slower on glitched scene. It takes about 3 times the time to load that glitched scene compared to a non-glitched version, and after hitting play in editor it takes 2-3 times longer to respond. Made some tests from my earlier backups and overhead on pc is 0.15-0.45ms usually. And fps on other scene's are 400-500fps where in this glitched scene it's about 80fps.

    I spent about 6 hours to figure out what went wrong, then gived up and loaded an older backup and did same stuff again. It was performing well with about 0.3ms on pc and about 30fps on mobile phone.

    I did modifications all over, set up the scene, tested before exporting scenes and it runned fine, exported scenes, tested, it runned fine.
    Then I builded it to windows phone. Tried it again and scene got glithed again. Huge overhead. But I backed up a scene this time. Tested again, and definitely glitched scene takes longer time to laod, play in editor, stop playing. I sometimes have to force close unity from task manager.

    I realised it was definitely caused by sectr, did some tests. I have to note that unity sometimes crashes on glitched scene.

    Runned the scene, begin with 6ms overhead, deactivated "sectr regional load gameobject" and activated it again to unload-load scenes; it became 9ms, did it again, overhead became 12.5ms

    Deleted all gameobjects from hierarchy, completely empty scene. sectr stream window shows empty. Played it in editor, 3ms overhead. Then I created a new empty scene to see if that overhead is normal, but there is no overhead in a newly created scene.

    Where in the scene does sectr hold it's data? Which area can it corrupt? I have no idea what causes this, I was importing/exporting scenes earlier too but never had this happen. I need a way to flush sectr's data or something.

    I will add more details soon.
     
  8. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    That's very curious. Do you have Pro? If so, attach the profiler and post a screenshot here. That should show exactly where the time is going. Here are some other things to look at:

    Make sure there are no accidentally doubled up Sectors. If for some reason multiple sectors are on top of eachother, that could cause some unusual overhead.

    Once you delete all of the objects from the corrupted scene, save it and open the .unity file in a text editor. See if you can see any Game Objects, maybe ones that have been marked as HideInEditor. If you find ones like that, look to see what components they have. That might be a good clue.

    I bet the problem is specific to a single Sector. If you can find out which Sector causes the problem, then you can look at the contents of it to see what's going on. Maybe another tool or something created a bunch of invisible nodes that are only in that scene and they multiply or otherwise cause problems when you import and export.

    You mention that the scene name changed. Why did it change? Importing and Exporting shouldn't affect the sub-scene name. If you do change the master scene name, make sure that your Build Settings scene list includes the new scene name.

    Are you using other aspects of SECTR like AUDIO or VIS or just STREAM? If you're using other parts, try disabling them to see if it makes a difference.
     
  9. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Hello;

    Yes I have pro, here is a profiler screenshot after beginning scene;
    https://www.dropbox.com/s/t5c8dsfgzvq0o13/profile.PNG?dl=0
    Then I disabled/enabled sectr region loader 2 times, you can see how overhead rises below;
    https://www.dropbox.com/s/3rsl4kokcfo6lu7/profile2.PNG?dl=0

    I just noticed that daikon forge scripts calls number increases as it imports/exports sectr's, what relation could daikon forge gui and sectr have? Does it somehow suppose sectr gameobjects are sprites? This may be the cause.

    Yes there are some sectr's that are overlapping bounds (their blue boundaries overlap, but no overlap in hierarchy), I didn't modify their boundaries nor names and they were working fine with no overhead since about 3 months. I will send you a screenshot soon to see if it's normal. If it's not supported or it is risky, I will modify them.

    I checked it in text editor, I can't see much, lot's of these: ÿÿÿÿr and some daikon forge sprites.

    I changed master scene name myself, I didn't modify sectr gameobjects names. Importing/exporting doesn't change it's name, it behaves normal.

    I am using just stream.

    Thanks for your support. I will test some other stuff and comment again.
     
  10. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
  11. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Overlapping sectors are totally fine. I was just wondering if somehow there were like 10 identical copies of the same sector on top of each other.

    Right now I think DF is the issue or an interaction with it. Not sure since I don't use it myself. Can you try disabling it and seeing if things still break?

    Also, what components are on those yyyyr nodes? Lots of junk nodes definitely sounds bad.

    Lastly that profile is sadly unhelpful. Overhead is a completely opaque bucket. It does suggest that it's not coming directly from any SECTR code calls.
     
  12. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    I believe I solved it (kind of worked around it), thanks.
     
  13. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Ok. If you find a SECTR specific issues, please post the details.
     
    hopeful likes this.
  14. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    I just want to ask how others do the terrain streaming with sectr?

    Do you use only one terrain and stream the next if you are near the end of the terrain on one side?
    If so what do you do when you are next to a corner? Do you have then 3 terrains loaded or..?

    Or do you load the next terrain to every side of the terrain you are on so having loaded 9 terrains always and when you pass to another terrain you then stream the new terrains in and unload the old ones?

    Are there more solutions you use and what do you do for example with terrain that is to far away to be loaded but normaly have to be seen like hills in the far view? You can render the hills into a skybox and change them out if it is needed?
    Do you have other solutions for this problems?

    I know i can make fog for example for everything that is more far away then 500m but when i want to see realy far like in skyrim or other games today, what can i make to let it work or face it?

    Do you have some informations for this topic or links to more informations on this?

    How can SECTR stream help me here?
    I know it slice the terrain from terrain designer and make the zones but is there more that SECRT stream or other parts can do here?

    I want to make it work for mobile too so i have to watch for performance and use the best solution so i get the best out of it.
     
    eridani likes this.
  15. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Most games use the included Region Loader to stream in all of the terrain within a certain distance from the camera. You can also have all terrain loaded all the time and use the same technique to stream in the detail on the terrain.

    For very distant Geo SECTR supports a proxy which is a simple mesh that is rendered when the actual sector is unloaded.
     
  16. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Thank you for that information.
    I thought that the proxy only work in the editor before but it is good to know to have it.
    With the region loader, how would be the best way to do it because i somewhere read that unity for example get some problems in performance and with the shaders if you use more then 9 terrains and you should try to load less.
    Is there some kind of matrix i can/should use?
    I do not find a good way with less then 9 terrains and that will kill mobiles i think ;)

    Loading all the terrain would be not a good idear for the mobiles ram i think but on a modern pc this can be the solution :)

    Nevertheless i am still interested in the workflow from others and maybe we/i can learn from one another.
     
  17. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Doing a Skyrim on mobile will be challenging in general. If it were me I'd try to have the terrain always loaded but with a high pixel error. Use SECTR to stream in the cites and towns and such. If that huge terrain is too much, try splitting it up 2x2 or 4x4. Will require a lot of testing in any case.
     
  18. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Yes, testing is important.
    Can you tell me if and how i can delete a proxy from the scene and can i reload it again then?
    I that way can save some ram for other things.

    By the way, i only used Skyrim for an example for a far view but i do not want nor i can make such thing "alone" ;)

    Edit:
    I ask because you wrote that it will stay in the scene eating ram.
     
  19. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    The proxy is a mesh resource. If it's not referenced by anything it won't be loaded. If it is referenced it'll always be loaded while the main scene is loaded, which it needs to be to avoid visual pops. Rather than trying to unload it, they should be kept simple and use textures that are common to the scene.
     
  20. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Yes i understand but for a large world (not the quality like skyrim) the proxy´s can also take some space and when i am on one side of the terrain i maybe do not need the proxy that far away to the other side even i need it when i started and maybe come back in the game later to fullfill a quest using the terrain not only once.

    So it should be referenced as a proxy to be loaded if i am to far away for the full terrain but if i get to far away i would like to have the option to unload it and then can load it again later when i am back again to use it as a proxy for a terrain that is to far away.

    Maybe i can not articulate what i want to archive because english is not my main language so i hope you understand what i want.

    It should be some kind of a mixture of a proxy that acts like a VIS culling.
    Maybe this is a new feature for your assets ?
     
  21. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    I get what you're asking for but implementing it will substantially complicate the proxy and streaming systems. I don't think the bang for the buck is good for most clients, but if it's important to you then SECTR includes all of the pieces that you need to build what your game needs.
     
  22. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Ok, i do not know that this will overcomplicate it to much.
    I also think your assets are great and i will get what i want to archieve with it :)
     
  23. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Hello, after importing/exporting, some sectr's are moving slightly (about 0.1 meter) away from it's original position. (In all axes). It creates seams on some areas, and it's causing some objects to dive in terrain and causes them to begin vertex fighting. Also it breaks seams or all other problems. Is there anyway to avoid this? I want them to be imported/exported with less than 0.01 deviation.
     
  24. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Hmmm. That's very strange, and the first time I've heard of someone having this issue. They shouldn't move at all, as everything is done in place and there's no modification of the position at any step. Are you sure that they weren't accidentally nudged after import? If you can make a package that repros the bug, that would be super helpful.
     
  25. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    I am sure that they aren't accidentally moved. When I have some time I will test that scene with deleting everything in the sectr's and checking their positions after import/export.
     
  26. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Has anyone used EasyRoads with SECTR STREAM? I am building a road network that would extend across several sectors, and am not sure if I need to set up a different road network for each sector, or if they'll get split apart automatically by SECTR.
     
  27. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    For some other road software, I didn't move nodes or road scripts to sectr, instead I only moved mesh objects in sectr.
     
    Last edited: Jan 7, 2015
  28. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    SECTR includes tools to split terrain but anything else needs to be split/grouped by hand.
     
  29. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Thanks for the quick reply. I asked the same question on the EasyRoads forum, and that developer replied:

    One thing to double check is if SECTR STREAM expects the assets to be physically part of the project folder? Because the mesh data is stored in the scene. Just let me know if that is the case, it is fairly easy to fix that. It will probably be a buiild-in option anyway because the same thing applies to unity prefabs which also expect the actual mesh assets to be physically in the assets folder. I do receive questions about that now and then, scripts for that are available.
    I suspect this isn't a problem, but can you let me know?

    thanks
    Dave
     
  30. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    SECTR doesn't expect that the mesh data to be in independent asset files. It *should* work just fine with meshes in the scene. That said, I've run into some bugs with meshes saved in the scene in past versions of Unity, and still don't trust it as a result. That's actually why when you create Portals in SECTR, they are saved as individual asset files rather than being meshes in the scene. Also, meshes saved out as individual files can be shared between scenes (i.e. exported Sectors) while scene meshes cannot.
     
  31. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    Is there a way to find out if everything is completely loaded?

    I was looking at: public override bool Loaded in the region loader.

    While loading my scene, pausing and advancing the pause, Debug.Log(Loaded) seems to return true before the objects appear in scene.

    Is there another section I need to look at?
     
  32. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Which loader are you using? That function should be correct but maybe there is a bug. You can also query the chunks directly.
     
  33. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Hello, i want to use same thing as voncarp.

    I am working on a vehicle driving game, and on some levels, road gets loaded as a sectr chunk in the beginning of level. Right now car goes down in beginning, then as chunk is loaded, road appears and makes car jump slightly. Right now I set IsKinematic to true on vehicles in beginning, and Invoking them to false after some time. It could be better to invoke them to false when sectr has loaded some chunk. (It is loading async) . How can I do that?

    Thanks.
     
  34. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Checking Loaded on the Loader should tell you when all of it's chunks are loaded. Checking Loaded on the Chunk tells you when that chunk is loaded.
     
  35. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    I'm using SECTR_RegionLoader.cs. There is a delay before it returns true, but the objects appear after I advance the pause button once or twice after it returns true.

    I just check it in the update function like this:

    Code (CSharp):
    1.  
    2.  if (Loaded) {
    3.       Debug.Log ("finished loading");
    4.  }
    I was looking for exact precision. Maybe, I did something else somewhere, or I'm loading too much stuff, or my editor is not completely matching up.

    Thanks for the response.
     
  36. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    That should do exactly what you expect. It's probably a bug. I'm traveling now but will investigate more when I'm back this weekend.
     
  37. cosmogonies.net

    cosmogonies.net

    Joined:
    May 8, 2013
    Posts:
    7
    Hello, I'm a little lost about pursuing-NPCs with STREAM.

    If I understand well the documentation:
    • If an ennemy is exported inside a chunk, it will be considered static and unloaded when the chunk is unloaded by STREAM.
    • If an ennemy has an hibernator, when its containing chunk will be unloaded, it will be freezed, and then resume when the chunk is loaded again.
    So what setup I need for ennemies that can pursue the player from the last chunk of the game into the very beginning ?
    I fear that I must keep all ennemies into the "meta" scene file (the one containing all the chunks graph), which could be a several issue in RAM.

    Also, do you have some new support/workaround for the navmeshes or they still need to be all loaded in the "meta" scene ? (and again could troubles us with RAM issue).

    Thanks
     
  38. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Your understanding is correct.

    If you want enemies that can chase the player then you need to plan for your worst case. If only one kind can chase, then put them into the master scene. If all enemies can chase the player, then it's possible that one of each kind is chasing the player at once, which is the same memory cost as if you have them all the master scene. There's nothing SECTR can do to get around that.

    You can unparent NPCs from their sector and they won't get destroyed when the Sector unloads. They'll be your responsibility to destroy later manually.

    Nav mesh must be global; it's a Unity limitation, at least for now.
     
  39. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    I have some pretty heavy loading that needs optimization. Would you happen to know what are some of the main causes of the slow loading? Is there are certain type of object that takes longer to load?

    I am guessing that the slow down is the time that it takes for all the rendering and physics calculations to catch up?

    I am trying to plan a strategy for organizing my chunks. Would the load time be the same for 25 small objects or one large object of the 25 items combined? Would you suggest a certain strategy while setting up chunks?
     
  40. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Sadly there's no silver bullet. In 4.x there is a lot of work that has to happen on the main thread for most systems.

    In general, I recommend that you make chunks at a granularity that makes sense for your game world. Then make sure that your scripts do as little in start/awake/enable as possible.

    Fewer objects will be faster than more objects, but don't go to ridiculous extents to combine things. If you combine so much that it becomes hard to iterate on your game, then you've gone too far.
     
  41. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Do you have the most up to date version? I just checked and everything seems ok. Does your SECTR_Chunk.IsLoaded look like the code below? If not it means you're on an older version and should get the latest.

    Also, note that this code runs in FixedUpdate. If your logic is running in an earlier update, then that could account for a delay. If you want really exact precision, use the Changed event in SECTR_Chunk, which will give you a callback at exactly the right time.

    Code (csharp):
    1.  
    2. public bool IsLoaded()
    3. {
    4.     return loadState == LoadState.Active;
    5. }
    6.  
     
  42. voncarp

    voncarp

    Joined:
    Jan 3, 2012
    Posts:
    187
    I'm very certain I'm running a prior version. I modified much of your code early on which I probably shouldn't have, and am a bit worried about updating. I'm going to have to go in and see what I modified because I'm probably due for an update. In the version I'm using that is in a fixed update.

    Code (CSharp):
    1.     /// Determines whether the Chunk data is currently loaded.
    2.     /// <returns>True if this instance is loaded; otherwise false.</returns>
    3.     public bool IsLoaded()
    4.     {
    5.         return loadState == LoadState.Active;
    6.     }
    Thanks!
     
  43. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    Hard to say for sure if your version is a ways out of date. Do you have a version listed in SECTR_Modules.cs? If so, what is it?

    You can try using the event callback, but I suspect you'll need up update.
     
  44. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    I've accidentally hit scene export button in play mode. It displayed some errors, and automatically exitted play mode. All values, objects, positions were just like I paused the play mode. (Sectr's was loaded, Instantiated objects was there, their position, state, components, objects moved, gameobjects appeared, game mechanic booleans and many floats-ints changed to their values on the instance while I accidentally clicked export. GUI was stuck like I paused the game, etc.) I panicked and loaded the last scene save. ... But then I noticed that sectr autosaved the scene itself right after messing it up. And after 2 hours of trying to fix values, I gave up on fixing that scene.

    I am now stuck with a 3 days old backup and there was lot's of progress. Is there anything I can do?

    You could have disabled those import/export buttons on play mode. Please disable them in next update.
     
  45. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    That sucks. I've never thought about people doing that. I'll disable those buttons while editor is in play mode. Next update should be later this week.
     
  46. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    I've just finished disabling those buttons while the editor is in play mode. It'll be part of the next release, but if you need a code patch sooner, just email support@makecodenow.com.
     
  47. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    SECTR 1.1.5 is now live on the asset store. Includes various bug fixes including to terrain splitting and TriggerLoader.
     
  48. bryantdrewjones

    bryantdrewjones

    Joined:
    Aug 29, 2011
    Posts:
    147
    Hey MakeCode,

    I'm super interested in SECTR! It seems really robust and useful :) I just have a few questions for you, if you don't mind.

    First, can you think of any issues I might run into adding STREAM support into a large, sprite-heavy 2D game? It seems designed for 3D worlds, and I'm curious if there are any reasons why it wouldn't work for 2D.

    Second, I'm a little fearful of garbage collection hitches with all of the scene loading and unloading, especially on mobile. I'm using Unity 5 Pro, but even with the async APIs, I imagine the GC could still cause a lot of hitching if the sectors are large? Do you have any tips on how to optimize for that?

    Cheers! :)
     
  49. MakeCodeNow

    MakeCodeNow

    Joined:
    Feb 14, 2014
    Posts:
    1,246
    1) It should work fine in 2D. The only trick is that some kinds of Loader logic are based on "what sector am I in". If everything is a perfectly flat plane, the default "thing in sector" logic may not work. There are lots of workarounds, the easiest of which is to inflate the bounds of your Sectors or the main player Member, either of which you can do easily in the inspector. If you have issues, please don't hesitate to post here or email support@makecodenow.com.

    2) The main hitches from async loading usually come from the work that needs to happen in the main thread after the async work is done. Unity 5 has much less of this than Unity 4, but you still have to be careful about how much code runs in yours scripts in Awake/Start/Enable. SECTR works very hard to internally do as little at that point as possible, and to also generate close to zero garbage. Beyond that, the tricks for avoiding GC in streaming scenes are the same as those in non-streaming scenes (i.e. use pooling, don't alloc unnecessarily, etc etc).
     
  50. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    The Proxy Mesh Tool is a great thing in SECTR Streaming, but now that I've created a proxy, I want to examine it. I tried assigning that mesh to a GO but it doesn't seem to render -- I can see the geometry in the inspector preview, but in the scene view, it's just a pink square, very small too.

    I'd like to examine it so I can use Cruncher to reduce the polycount on it, and possibly use a draw call minimizer tool to create a texture atlas (though I'm unclear if the proxy is using all the individual materials of the original models or what.) Is it possible to view the mesh and do these things to it?