Like everyone else, I suggest looking into other mods. I have my whole mods folder set up as a git repo, so I can track my experiments and revert anything that isn't working. Try to make small changes, run the game locally and see if it works. Check the log for errors, you can bind it with a hotkey (Debug category --> "Toggles the debugging log window"). Use LOG() or WARN() functions if you want to print values/messages to the log window.
In general, I think you are better off just asking a bunch of questions here than trying to find a complete guide. Searching for specific solutions beyond the most basic things is usually futile.
When changing units you can loop through all units and make changes based on the unit blueprint, like this:
yourmodfolder/hook/lua/system/Blueprints.lua
do
local oldModBlueprints = ModBlueprints
function ModBlueprints(all_bps)
-- Run the original code of this function, so we don't override it.
-- Common practice when extending/hooking existing FAF functions
oldModBlueprints(all_bps)
for id, bp in all_bps.Unit do
if bp.Economy.StorageEnergy then
bp.Economy.StorageEnergy = bp.Economy.StorageEnergy * 2
end
if table.find(bp.Categories, "AIR") and not table.find(bp.Categories, "FACTORY") then
if bp.Intel.VisionRadius then
bp.Intel.VisionRadius = bp.Intel.VisionRadius * 1.5
end
end
-- ...ETC
end
end
end
Anything specific you're stuck with at the moment?
What kind of UI mod do you have in mind?