Search Unity

  1. Click here to see what's on sale for the "Best of Super Sale" on the Asset Store
    Dismiss Notice
  2. We are looking for feedback on the naming of a new user research platform that we are working on.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

MegaCity Feedback & Discussion

Discussion in 'Data Oriented Technology Stack' started by smcclelland, Mar 19, 2019.

  1. sharpwind11

    sharpwind11

    Joined:
    Jun 13, 2019
    Posts:
    9
    Why do you guys not put it on the Github, since the download server is unstable
     
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    7,875
    Probably due to project size.
     
    Last edited: Nov 28, 2020
  3. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    823
    Several reasons:
    1) The import-texture-processor script always compile to BC4 or 7, anyway what you set up in the editor. This took time to import. Rename this script extension to .cs0 or mark it as hidden in Windows. Unity does not recognize files or complete folders are hidden in file OS system. You should take care about to have "visible hidden files" under folder properties in Windows first.

    2) The Textures are not optimized for ppl are interesting in code only. Textures use 16bit and use a lot layers at 8K. Most of them are >500MB. Change the original Textures to 8 bit RGB and flatten all layers and set them to dxt5/1 in unity.

    On my oldest 10 year old cheesy laptop with the first Windows7 64b and Sp1 4GB, I reduced all Textures to max. 512 dxt5. I got 15fps in editor. Absolutely great ECS performance al the way.

    Eg. having below 3 frames indicates Texture Swapping at GPU Memory overflow or HDD Swapping. Also Texture sampling is at the core of all Memory Bandwidth costs. The fewer textures we use, and the smaller we make them, the better. The more we use, the more cache misses we are likely to invoke, and the larger they are, the more Memory Bandwidth is consumed transferring them into the Texture Cache. Such situations should be simplified as much as possible to avoid severe GPU bottlenecks in case of weak hardware devices and insufficient GPU Memory.

    There is a another temporary optimization you can set in Unity Editor. Set LOD Bias in the Project Settings > Quality to < 1. Values below 1 cause to enlarge the virtual distance to the LOD objects.
     
    Last edited: Aug 2, 2019
  4. georgeq

    georgeq

    Joined:
    Mar 5, 2014
    Posts:
    564
    Thanks for the so detailed explanation, however nothing of the above has something to do with the real problem. After banging my head against the wall for hours (metaphorically) I discovered this wasn't neither a CPU nor a GPU problem, but a UI design flaw. As a seasoned PC user I did expect the game to respond to mouse commands, but it didn't, so I assumed the game was performing extremely bad, and that assumption was reinforced when I saw the game eating most of my memory and CPU, but that wasn't the case, because when (after hours) the idea of trying with the keyboard instead of the mouse came to my mind, I was finally able to see some action.So, as you can see, all this fuss was caused just because someone forgot to make sure the UI was able to support mouse input.
     
  5. Quatum1000

    Quatum1000

    Joined:
    Oct 5, 2014
    Posts:
    823
    Never had problem with the default setting and mouse input by default in buidl or editor in MC. Perhaps you USB mosue rate is set to 1000Hz ?
     
    MadeFromPolygons likes this.
  6. georgeq

    georgeq

    Joined:
    Mar 5, 2014
    Posts:
    564
    Hmmmm... I don't understand how that would affect this game and this game only?... I think is most likely that you have a newer version where this issue has already been solved... I don't know the version number, but I think I have the very first. Thanks for your interest, I do appreciate it very much.
     
  7. HiWill

    HiWill

    Joined:
    Jun 2, 2013
    Posts:
    14
    how about occlusion culling ?
     
  8. snaecoperth

    snaecoperth

    Joined:
    Jul 18, 2019
    Posts:
    7
    I have high performance SSD, with i9-9900k and Radeon VII (not that it mattered as the Demo never used my GPU), I was running about 45-70 fps on Average, with CPU maxed out most of the time, but was still responsive to input.

    Tried to make a Build, but it seemed to fail somewhere.

    Loved the MUSIC - was that a RIP from Blade Runner ?
    Sad to say there was no collisions and the AC Sounds seemed like over kill - but I understand they are trying to push systems to the limit.

    I'm sad that it doesn't' work for newer Unity versions, why only a specific version?
    In fact, I can't find the C# Jobs in the Package Downloads any more, lets hope in the next 2 months they have something for us at the Events/ Unite's around the world ..
     
  9. snaecoperth

    snaecoperth

    Joined:
    Jul 18, 2019
    Posts:
    7
    OK there is so many videos I had to shuffle though, but I can answer some Q's here.

    The Cars are Objects, they are spawned in on a Rail system that gives each Car/Vehicle a slightly random speed, they don't use ray-tracing, they split the Rail system into parts and they Run the Entities though a System that detects what is in front of them, if they are about to occupy a space in front of them that has another vehicle, then they will be updated with "Move to the adjacent rail that free" - this could be a vertical or horizontal rail. Why they did it this way, don't ask me.

    I had to search though Youtube very thoroughly just to find some answers.
    Unity hasn't grouped the DOTS very well, and I found some YT on a second channel - https://www.youtube.com/channel/UCLD4SqNu97cJ7u19WMUeZCA
     
    Artaani and AlanMattano like this.
  10. AlanMattano

    AlanMattano

    Joined:
    Aug 22, 2013
    Posts:
    1,299
    snaecoperth likes this.
  11. shredingskin

    shredingskin

    Joined:
    Nov 7, 2012
    Posts:
    223
    Is there any way to make this work in 2019.2 or 2019.3 ?
    After updating all the packages I get this error :
    Library\PackageCache\com.unity.rendering.hybrid@0.1.1-preview\Unity.Rendering.Hybrid\LightComponent.cs(86,16): error CS0246: The type or namespace name 'ShadowUpdateMode' could not be found (are you missing a using directive or an assembly reference?)
    And a bunch of errors directed at the audiosystem scripts.
    I'd love to understand how the hybrid renderer works, but there's so little documentation yet
     
  12. florianhanke

    florianhanke

    Joined:
    Jun 8, 2018
    Posts:
    371
    See my answer here, I hope it helps: https://forum.unity.com/threads/unit-testing-setup-for-ecs.723035/#post-4830824
     
    shredingskin likes this.
  13. r618

    r618

    Joined:
    Jan 19, 2009
    Posts:
    983
    btw it's possible to make this work in 2019 LTS:
    Annotation 2020-06-13 015640.PNG.jpg
    spent better half of the day yesterday with it but seems to be running, at least in the editor )
    that was mainly because I was doing it off of external USB drive, but few manual tweaks were needed here and there
    I'll post upgrade guide later if there's interest
    (nothing would be more welcome that official Unity upgrade for LTS of course)
     
  14. jjrrnn

    jjrrnn

    Joined:
    Aug 8, 2015
    Posts:
    10

    https://prnt.sc/t1hyrf

    I got this error when import with 2019.4 LTS (see screenshot above)

    Code (CSharp):
    1. An error occurred while resolving packages:
    2.   Package com.unity.entities@0.0.12-preview.29 has invalid dependencies:
    3.     com.unity.jobs: Resolved version [0.0.7-preview.8] does not satisfy requested version [0.0.7-preview.9]
    4.  
    5. A re-import of the project may be required to fix the issue or a manual modification of C:/UnitySSD/2019/Megacity_17062020/Packages/manifest.json file.
     
  15. r618

    r618

    Joined:
    Jan 19, 2009
    Posts:
    983
    Thread with upgrade process which worked for me is here: https://forum.unity.com/threads/megacity-demo-2019-lts-community-upgrade-thread.914306/
     
    ScriptsEngineer likes this.
  16. jjrrnn

    jjrrnn

    Joined:
    Aug 8, 2015
    Posts:
    10
  17. jjrrnn

    jjrrnn

    Joined:
    Aug 8, 2015
    Posts:
    10
    Still unavailable to fix all the packages error. Where can I find a Windows build? Just want to play it now. Thanks!
     
  18. Vict0r3znov

    Vict0r3znov

    Joined:
    Oct 14, 2018
    Posts:
    12
    Hello guys, i have 283 errors with this project, i've never used ECS before and guess its a mistake to start with such a project, but i spent a lot of time downloading and importing the project so at least i wanna open the project for once,
    can anybody help me please i have errors like in the picture
     
  19. Vict0r3znov

    Vict0r3znov

    Joined:
    Oct 14, 2018
    Posts:
    12
    guys i'm opening the project here the required unity version why am i getting arround 300 errors then ?
     
  20. charleshendry

    charleshendry

    Joined:
    Jan 7, 2018
    Posts:
    61
    You're missing packages. Looks like you don't have Unity.Mathematics or Burst installed. Probably others as well. Just google the types and you'll find what packages they belong to.
     
  21. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    7,552
    Could Unity make it so missing package errors link to downloading the relevant package, or automate the process in a way that will allow the user to trigger downloading the missing packages?
     
  22. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,865
    Unity already does this through package dependencies. The idea is that you only install few higher level packages that handle the rest automatically. It can go wrong especially if user itself installs mismatched packages and you see tons of errors like in that screenshot.

    For example you should never have to install mathematics package manually if you use DOTS as it's always included as package dependency.

    To sort this out without having to know which packages you need to have a functional system, open your project packages/manifest.json manually and take out all dots packages except the higher level ones, for example these can stay:
    hybrid.rendering, unity.physics, unity.platforms.windows (etc).

    If you don't need hybrid renderer or dots physics, you can also install entities package manually but otherwise it will be automatically installed through hybrid rendering or unity physics package. Sometime you may want to upgrade the entities package itself manually if Unity doesn't release all dots packages at the same time but for the rest, you should just leave them as is unless you have some issue with some specific dependency.
     
    Vict0r3znov likes this.
  23. Vict0r3znov

    Vict0r3znov

    Joined:
    Oct 14, 2018
    Posts:
    12
    hi thanks for the help, yes they were, and i installed them already, now i'm facing new errors like, well they all have the same problem which is the StringBuffer could not be found, its inside the library packagecache, tried to google this error and still nothing, didn't find a solution to my case :( if you can help me i can share another screenshot ?
     
  24. Vict0r3znov

    Vict0r3znov

    Joined:
    Oct 14, 2018
    Posts:
    12

    well no as i said i'm arround couple errors, most of them about something called StringBuffer in the library/packagecache, which i didn't understand yet, is that one of the problems that comes if i install some packages manually? cause i did installed mathematics then DOTS,

    Also, If its possible, is there any specific steps to take to import the project and get rit of the errors :(
     
  25. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,865
    Oh my bad, I didn't realize I replied on Megacity thread :oops: My comment was more for the package dependencies rather than MC.

    Megacity sample does open as is without any changes if you use just use the Unity version mentioned to use for this project (https://unity3d.com/unity/beta/2019.1.0b7). I have no idea about the community upgraded versions for this as I've only tried the original setup.
     
  26. Vict0r3znov

    Vict0r3znov

    Joined:
    Oct 14, 2018
    Posts:
    12
    And you already did helped me in an indirect way :D
    what happened was the following, i imported the project but unity didn't (for some reason) import the packages mentioned in the manifest, and what i did installed them, starting by mathematics and stuffs like that then i installed the ECS, after reading your comment i re-opened the project again, same problem but this time i started by installing those high level stuffs like installing ECS only without mathematics, and it solved the probelm already :D
    Thanks buddy, i appreciate that !
     
    rz_0lento likes this.
  27. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    7,552
unityunity