This is a bit of an inconcise ramble, but I'm hoping some suggestions will be made about how best to deal with the following issues:
I was thinking about setting up a proper detection system, but realized that almost everything in the game universe has a zero detection meter right now. This is difficult to fix with the current way things are set up. There could be a tech that grants +5 to detection, but they every player would have to reserach it, and would have no detection before doing so. Ships could be given default detection levels, perhaps in their hull descriptions, but then planets would have no dection. A building, like the the imperial palace, might grant such bonuses, but would need to be built in game, or automatically created at the start of the game, which would itself need to be hard-coded.
In a somewhat related matter, it is necessary, or at least very useful, to have a few building types, ship parts and hulls unlocked by default at the start of the game. Currently the only way to this is to hard code their names into the C++ empire creation functions, which is rather limiting and inflexible.
Having a way to make techs not researchable could be useful for doing some of the above. Techs can unlock buildings, parts and hulls, and granting every empire an initial starter tech that's not researchable or otherwise treated like a normal tech could do a lot. Unresearchable techs could also be granted to players for things like finding ancient knowledge in ruins, which shouldn't be available without finding something to unlock it in-game. Currently there is no way to have an unresearchable tech.
Some of those uses for unresearchable techs could be done with pre-researched techs granted at the start of a game. However, it should be possible to give different empires different such techs, without a way for them to research other empires' such techs. A flag for tradeability in tech definitions would also be useful or necessary in this context, if researchability doesn't imply tradeability.
There could also be a tech-like but not technically a tech way to do this. An "empire-wide effects dump" object that's just like a tech, but isn't one officially, so can't be a prereq for other techs, and doesn't appear on the tech screen. Modifying the tech system might be easier than making a new object of this sort, though.
Alternativley, this role could be filled by "governments" in-game, where a governement would be like a tech, but applied or not applied to an empire depending on player settings. Or, governments could be just a label, like a focus setting, with various bonuses applied like is done for focus settings. This would be useful for setting base detection meter levels, but not immediately appliable for unlocking things, and we won't be really designing "governements" for a few versions.
Presently, techs can already unlock buildings, ship parts and hulls, and techs can require other techs to be known as prereqs. There's no way to lock or unlock anything by other means, such as owning a building. Techs can never be "locked" at present.
There could be flags in tech, hull, part or building definitions that specify that the content is or isn't unlocked at the start of the game. Techs would probably default to unlocked, and buildings, ship parts and hull would default to locked, which is all how it works now. This wouldn't grant techs or tech-like objects to empires at the start of the game, but would be useful for avoiding hard-coding unlocking things. It's probably preferable to unlock or lock things outside of their definitions, though. Different races or empires or game settings would be better at determining what is unlocked at the start of the game than the definitions themsleves.
Unlocking could work for techs much like it does for building types, part types and hull types... Techs would have to have all prereqs researched and be unlocked to be researchable. (Whereas buildings, parts and hulls need to be unlocked and have a build location that meets its location condition). In this scenario, techs that never should be researchable in a game would never get unlocked by anything in the available content. Never-unlocked techs could still be be granted or revoked by effects GiveTechToOwner and RevokeTechFromOwner like is done now.