RTS Game Help - Multiple Questions

Hello, I need help with multiple features in the RTS game I am beginning to make. I have the camera movement control fixed with both mouse and keyboard. The RTS Game is very heavily based on the Lord of the Rings - essentially the game The Lord of the Rings The Battle for Middle Earth. It has some very clever features I am looking to implement. These will be addressed in my questions:

  1. LOTR BFME has a unit dependent area visibility, where if you don’t have units in an area, the area is black or darkened so that only very faint shadows can be seen. This means that you can only see enemy movement where you have a unit in that area adding a sense of realism. Now I’m not sure how I would do that as I also want a daylight cycle and so I cannot use actual Unity lighting for this. How would I go about doing this?
  2. I also want each unit to be in multiple groups - E.G: A pikeman unit would be in his squad, his squadron(20 units) a legion/battalion (500/100 units) and the Army which includes everyone. This way we can select a certain group and everyone in that group is selected. Tags wouldn’t work and so I 'm not sure what to do… Any help?
  3. Should I use NavMesh for this? Probs will anyway but just seeing if there are any major concerns which will cause problems. If not what else could I use?
  4. What’s the best way to create formations for all different groups?
    Thanks for answering - do make sure your answers are well explained as I am doing this project as a beginner in order to learn more(It’s a learning project that if it goes well will become a focused project, please don’t send useless comments telling me that I should go smaller, a bigger project will help me learn more.)

I’ll see if I can give you a starting point for some of these.

  1. The mechanic you’re describing is “Fog of war”. Some fog of war mechanics allow you to see some major map updates in areas that you have previously explored, but cannot currently see. Some treat any area that a unit cannot see as if it were completely unexplored. However you decide to do this, there are plenty of tutorials for creating Fog of War effects using shaders. You’ll need to consider weather or not terrain height differences will effect a unit’s line-of-sight, or if you just want a flat radius around each unit (maybe variable depending on the unit type).

  2. Logical grouping can be accomplished pretty easily using Composition. Create an Army class containing a list of Legion objects. Legion class containing a list of Squadron objects. And Squadron containing a list of Unit objects. Each level of the organizational hierarchy should probably also contain a reference to the larger structure it is part of. This way, given an Army, you can drill all the way down to an individual Unit, and given a Unit, you can find what Legion it is part of (and further, find all Units from the same Legion).

  3. Going along with the above, you can handle how these various organizational units behave by having each inherit from some base, or implement some interface that handles navmesh stuff. It shouldn’t matter if you ask a single unit, or an entire army to move to a new location.

  4. Here, I have no advice for you. This one is going to be so specific to your use case that by the time you have the unit grouping created and working, you’ll likely have much more specific questions on how this should be implemented.