Almost every attribute of weapons and equipment seem to be read-only during runtime. I'm trying to implement weapon attachments that modify variables of the gun, but so far it seems pretty much impossible. The advanced scripts allow me to edit the spread and damage, but is there any way to modify things like magazine size, fire rate, shot count, etc. when the game is running?
yeah, you are right, mostly of the parammeters of the waepons are read only, so cant be modified in runtime. Thats because weapon become like a 'class' before the game starts, so has to be defined.
A common 'trick' to skip this limitation is to create several similar weapons (same skin) and spawn them when necessary , so the player will 'believe' has the same weapon but with different, rate of fire or burst time stop ie...
Hmm... I wonder if there's a good reason why this limitation is in place. All the Abilities also have their most interesting properties Read-Only, which means that any games that have Weapon or Ability modifiers will need to implement that logic themselves.
The trick @covraworks mentioned is useful for a small number of upgrades. However, for a game I'm looking to prototype, I find myself needing to implement all the firing logic myself.