Project Solution | Architecture | Scenes and Views

Hello. Im new in Game Dev and new in development with Unity
(Come from Windows and Web development)

Now I want to make my first game. This will simple game (but with retrieve data from API etc.)

So I have some basic questions:

  1. How to decide if I need to make new scene or build just make a lot canvases and switch between them?

In my game I see

  • 1 scene - Loading
  • 2 scene - Main screen with buttons–
  • button - open Store
  • button Open leaderborad 3
  • button - open something like map

etc…

Now I think

I need make 2 scenes - Loading and Game scene

In Game scene make some canvases
(MainState Canvas, Shop Canvas, MapCanvas, Leader board canvas etc…)

And when user clicks on button - show this canvas (its must be display like Popup)

If I want that map will grow up with more and more stop points (like in Candy Crush) - I need to set its to Assets Bundle and load new bundle ?

  1. Best practices for Login/Authorization
    I check many sites and I see that best practices for Game Authorization today - this is Google/Apple Game service and not Facebook. Right?

If I understand not correct - Can you guys give me a links what I need to read/learn ?

Thank you guys so much.

I would recommend new scenes because its less scripting most of my games have 3

  1. Main Menu - Has a play button that when pressed loads the loading scene
  2. Loading - Start loading the game assets here. This can be done before main menu if you want its up to you. Maybe show a tip here or 2
  3. Game - You know what this might have a canvas that can appear with a button to take the player back to the main menu.

For login I would recommend play services. It is annoying to setup the first time I recently self published my first app that uses them and it took me a while to understand

This is the google play services offical unity plugin (yes i know it seems sketchy coming from a github but it works) Import all of this into your project

Here is my code that authenticates the user

void PlayServicesSetup()
    {
        PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder().Build();
        PlayGamesPlatform.InitializeInstance(config);
        PlayGamesPlatform.Activate();

        Social.localUser.Authenticate(success => {});
    }