I appreciate it can seem a bit complex at first, particularly if you're not familiar with programming techniques.
Essentially, the advantage is that parameters let you "recycle" ActionLists, so that you can use the same Actions for whatever object you wish. So you can have many different items in the scene, and be able to pick them up and drop them without having to create the same series of Actions to do so for each one.
With parameters, you can pick up an item, tell AC what object you've just picked up, and AC will then refer to that when dropping the item / enabling its Hotspot, etc.
There's a few tweaks you need to make to your ActionList first though.
You're overriding the wrong field in your Object: Animate Action. If you ensure that each pick-up-able object has the same Animator attached to it (and they all affect the Rigidbody on that same GameObject), then the name of the parameter you want to affect will never change - and nor will the fact that you want to set it to "False" when dropping it. What will change is which Animator you want to affect. So instead of overriding Set as value field, use a GameObject parameter override the Animator field.
Again, you should try to reduce the number of parameters you need to just one - this'll make things must easier to manage in the long run. Right now, you're using separate parameters for the Object: Set parent Action and the Hotspot: Enable or disable Action. And you'll need a third for the Object: Animate Action, as mentioned above. What really will be best is to use just one GameObject parameter to control all three. For that to be possible, you'll just need to amend your PickUp prefabs (starting with just the Torch for now) so that the Animator, Rigidbody, and Hotspot are all on the prefab's root. That way, all three Actions can refer to the same object, and so only one parameter is necessary.
Do i need to make the same parameters for "torch use" actionlist and apply it with "set parameter action" to the new items that i want to put in the game?
Ideally, yes - it's all part of reducing the number of Actions in the long run.
Rename "Torch: Use" to e.g. "Pick Up object", and have it rely on parameters in the same way as you have with "ActiveInput_Drop". Then have an additional ActionList: Run Action at the end, which refers to "ActiveInput_Drop". Here, you'll want to transfer the parameter values from "Pick Up object" to "ActiveInput_Drop" - so set the Run mode to Set Parameters Only, and use it to transfer your parameter value(s).
Then, go back to your Torch Hotspot. You'll find that the Inspector has "Pick Up object" still assigned. You'll want this ActionList to be run whenever an object is picked up - so you'll need to make sure that its own parameters are set at the time you run it. You should find that the Hotspot Inspector has detected that the ActionList has a GameObject parameter, so gives you the option to set its value to the Hotspot itself. If you do this, then the "Pick Up object" ActionList's parameter will then be set as the Torch Hotspot when you interact with it. Provided that this is the same object as the Animator, the Rigidbody, and the root, it will then also tell the "ActiveInput: Drop" asset the Torch is the object you wish to affect when that runs later.
Comments
I appreciate it can seem a bit complex at first, particularly if you're not familiar with programming techniques.
Essentially, the advantage is that parameters let you "recycle" ActionLists, so that you can use the same Actions for whatever object you wish. So you can have many different items in the scene, and be able to pick them up and drop them without having to create the same series of Actions to do so for each one.
With parameters, you can pick up an item, tell AC what object you've just picked up, and AC will then refer to that when dropping the item / enabling its Hotspot, etc.
There's a few tweaks you need to make to your ActionList first though.
You're overriding the wrong field in your Object: Animate Action. If you ensure that each pick-up-able object has the same Animator attached to it (and they all affect the Rigidbody on that same GameObject), then the name of the parameter you want to affect will never change - and nor will the fact that you want to set it to "False" when dropping it. What will change is which Animator you want to affect. So instead of overriding Set as value field, use a GameObject parameter override the Animator field.
Again, you should try to reduce the number of parameters you need to just one - this'll make things must easier to manage in the long run. Right now, you're using separate parameters for the Object: Set parent Action and the Hotspot: Enable or disable Action. And you'll need a third for the Object: Animate Action, as mentioned above. What really will be best is to use just one GameObject parameter to control all three. For that to be possible, you'll just need to amend your PickUp prefabs (starting with just the Torch for now) so that the Animator, Rigidbody, and Hotspot are all on the prefab's root. That way, all three Actions can refer to the same object, and so only one parameter is necessary.
Ideally, yes - it's all part of reducing the number of Actions in the long run.
Rename "Torch: Use" to e.g. "Pick Up object", and have it rely on parameters in the same way as you have with "ActiveInput_Drop". Then have an additional ActionList: Run Action at the end, which refers to "ActiveInput_Drop". Here, you'll want to transfer the parameter values from "Pick Up object" to "ActiveInput_Drop" - so set the Run mode to Set Parameters Only, and use it to transfer your parameter value(s).
Then, go back to your Torch Hotspot. You'll find that the Inspector has "Pick Up object" still assigned. You'll want this ActionList to be run whenever an object is picked up - so you'll need to make sure that its own parameters are set at the time you run it. You should find that the Hotspot Inspector has detected that the ActionList has a GameObject parameter, so gives you the option to set its value to the Hotspot itself. If you do this, then the "Pick Up object" ActionList's parameter will then be set as the Torch Hotspot when you interact with it. Provided that this is the same object as the Animator, the Rigidbody, and the root, it will then also tell the "ActiveInput: Drop" asset the Torch is the object you wish to affect when that runs later.