Is it possible to have a prefab in my scene but inactive (unchecked in the inspector) then on a trigger event activate it?
what I am trying to do is have a forcefield activate, i’ve tried instantiating on trigger (and parenting to an empty gameobject) but this fails as for some reason keeps appearing in different locations.
Yes you can do that. When you want to activate it - call
forcefieldGameObject.SetActiveRecursively(true) then it and any children will activate. Note that you need a reference to the game object, you cannot find it with GameObject.Find.
Just a note on your problem with instantiating - you should probably make sure that you set the localPosition of the force field to 0,0,0 after you set its parent if you use that approach.