Project structure, networking

Godot Version

4.2.1

Question

Hi there, im new to godot and game developing at all, but now new in developing. Want to ask several general questions.

  1. Structure
    If i understand concept of godot, my scenes structure looks like:
  • MainNode
  • → CanvasLayer(aka UIContainer) - where i render all ui
  • → Node3D(aka WorldContainer) - where i render all 3d stuff: map, enemies, etc…
  • → → Camera3D
  • → → Loaded scene with map, mobs
    Is it good structure, or i miss something better?
  1. Networking
    Is it good practice to create plugin(tool in gd case) and use them for client and server, for example for enemies, can i create custom node with my own params, and on server side rule on props of it, and on client side use it for all my enemies

  2. State managing
    How do you manage states of UI and World? for example when game loads i load main menu, when user click on some button and i need to show another menu, i dont like hard-code, so i think better here use some state management, what is better to use here? Or disable camera movement in main menu, based on state

  3. Project building and packing (not actually so nesessary)
    I see that project builds in to one file, for small game its good, but what if i have a lot of assets, levels and other stuff. Is there way to split builded project in to some pck archives, and when i update something in godot, its better to update one of all files, instead of only one (with big size i mean)

I suggest you check out the demo projects. They have UI demos, networking demos, etc

You can have multiple pck files Exporting packs, patches, and mods — Godot Engine (stable) documentation in English

Seems like pck when you export it still holds everything, its bad idea to create new project every time when you need to update something
Or atleast would be good to choose what exactly export, folder or files, in this case, it will be easyer to export pck’s edit them and update