I will tell you how you can make players "share upgrades"
have as event "A player begins a research"
actions: loop trought the players and disable the research for everyone, besides the triggering player.
event "A player cancels a research"
actions: loop trought the players and give them back the research.
event "A player finishes a research"
actions: loop trought the players and give them back the research + set their current research level to the level of the research of triggering player. (Actually not sure if you wouldn't need to put a "wait" for 0.01 seconds (or start a 0.00 timer), but you can test that yourself).