title: Edit Unity InputAction interactions during runtime
body: <p>I am facing some issues with working with the &quot;new&quot; Unity input system. I am working on an FPS prototype, where the player can pick up different guns with different windup times. I do not want to keep track of how long the player has held the shoot key, as the Hold interaction can do that by itself.</p>
  <p>Looking around Unity documentation, MS Intellisense suggestions, and Stackoverflow, I have not seen a single instance of something around the lines of &quot;Override interactions of InputAction&quot;. It is simply something not being talked about. Should I take that as a red flag for what I am doing is wrong? Probably.</p>
  <p>I can see the <code>interactions</code> field for an InputAction, but it is marked with the <code>readonly</code> keyword. There is no internal setter for it either. Otherwise, the solution would be trivial, though unusual to the Unity™ way.</p>
  <pre class="lang-cs prettyprint-override"><code>float duration = 0.04f;
  controls.Main.Shoot.interactions = $&quot;Hold(duration={duration})&quot;;
  // Error: &quot;Interactions&quot; is readonly
  </code></pre>
  <p>Is there really not a way to edit the interactions for an <code>InputAction</code> during runtime with code?</p>