Search Unity

What should I know already?

Discussion in 'Getting Started' started by Altissimus, Jul 19, 2019.

  1. Altissimus

    Altissimus

    Joined:
    May 11, 2015
    Posts:
    49
    Hi,

    My first foray into Unity to develop a mobile game has so far been a case of one-step-forward, three-steps-back.

    For example, I spent quite some time developing my world only to find that, when I went to build the AI, I needed to add on layers to everything for the AI to detect. If I'd known this originally I could've incorporated the layers into the prefabs (many of which I subsequently unpacked as I moved them around).

    For example, I spent hours building my project only to discover that much of the materials wouldn't upgrade to LWRP, so when I wanted to add cool shaders I basically needed to re-import everything and start over.

    For example, I spent hours upon hours learning Blender UV unmapping and texture painting to discover that Unity couldn't care less what the UV map looks like, and assigning a material is a simple click (then you can use shader graphs to make cool stuff to apply).

    My concern here is that my end goal is to publish a mobile game, and I don't want to get 70% of the way through this only to discover that (perhaps) my premise is flawed and no mobile game could actually run the game the way I've designed it, or (perhaps) the control system can't be implemented across Win 10 and mobile both...etc.

    So, short of investing in a crystal ball, what "things I wish I'd known" can you please share with me, or any links to things I should really start looking at now?

    Thanks,
    A
     
  2. DaDonik

    DaDonik

    Joined:
    Jun 17, 2013
    Posts:
    258
    I have no mobile game dev experience under my belt, but i would say that the Profiler will be your best friend.
    Also, since mobile CPU's tend to have multiples cores but low frequency, it would be a good idea to use the job system.
    I'm not talking about ECS, just simple jobs that do some calculations (works with 2018.4 LTS). Depends on whether your game has a usecase for that.

    Being a programmer by heart, i will add what i find the most important to make the life of any programmer easier:

    1) Use a decent IDE for programming. Very often ppl ask question here that would not even come up for me, because
    my IDE (Jetbrains Rider) would already notice my errors and possibly even advice me on how to fix it.

    2) Stick to a naming scheme for variables, classes, structs, enums, etc. This will drastically improve your ability to come back to an older piece of code and still understand what it does.

    3) Use the profiler and use it often. It's better to find a flaw in your code/reasoning early on, so there is less to change and the problem is easier to locate.

    Btw, Unity does care about UV mapped objects. Art is not a strength of mine, but i know the pipeline for art, and i can assure you that UV mapping in blender does translates over to Unity just fine. Or atleast it did years ago...
     
    JoeStrout likes this.