Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

Cross-platform sub-forum

Discussion in 'Meta-forum Discussion' started by Alexees, Sep 24, 2019.

  1. Alexees

    Alexees

    Joined:
    Nov 8, 2017
    Posts:
    202
    Every platform has it's own forum, but there is none to discuss how to manage "single-project-multi-platform" projects.
    For years cross-platform has been THE reason for Unity to choose... but nobody talks about how to create a project for most platforms at once. Prefab management, script splitting...
     
  2. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,594
    This is already covered. Unity assumes everything is multi platform by default (because Unity is) and the individual platform threads are for the differences you describe.

    Some tips (I've done a lot of cross platform):

    1. You just need unity's new input from package manger. It handles all this. Check out the forum for the new input and the docs in package manager. It'll do it all for you.

    2. For the rest you should have a robust LOD/Performance scaling system in your game via quality settings / etc - this is NOT cross platform and you shouldn't design it cross platform. Instead design a game that can scale in performance. This is the same thing but also benefits the same platform too!

    A lot of people go overboard with prefabs and data blobs and all that - don't do all that - most of these people are terribly wrong or over engineered. Unity can't tell their customers this, it's not what Unity can do.

    But I can: Just design a game that scales in performance by default and the rest is - virtually - automatic.

    Footnote: The ram problem for mobile.

    Typically the hits for mobile come from ram consumption and if you are designing a title that will not have it's ram saved by lowering quality for audio and textures, then this is not something solvable with a few prefabs, it's a much bigger problem and should have been designed mobile first, with quality for desktops scaling out via post effects (this is the easiest way - to boost a mobile title up rather than cripple a desktop title down).
     
  3. Alexees

    Alexees

    Joined:
    Nov 8, 2017
    Posts:
    202
    Thanks for the answer to all of this.
    My personal main problem is the fact the we are not creating a game but a VR/AR software for several platforms. For weak devices, we need to provide a completely different set of assets, Menus will be completely different, we'll have a different RenderPipeline etc.
    To keep builds small we do not want to pack everything for every platform, but have each use its own stuff.
    All I could find about this is simply additive loading scenes, that's basically it.
    No Referencing in scripts, because that packs stuff with the build, not Resources, because that's a bad idea... maybe AssetBundles in the long run...

    Any thoughts on asset management that are vastly different?