Your problem is likely stemming from the use of "static" which can indeed be evil. As a quick description, it kind of forces there to be only one of something. For example, if you have a static variable in a class, and you have multiple instances of that class, there would only be one of that static variable, and in any instance in which you modify that variable it will be modified in all of the instances.
What you are looking for are prefabs. You can have a scene open, create your enemy, bullet, whatever, and then store it in a prefab. You can then take that prefab and duplicate it easily in all of your different scenes via the editor, and you can also call Instantiate() to create duplicates at run-time, useful for shooting bullets from your guns for example as the bullet would likely be a prefab.
Another very good benefit of prefabs is that as long as you don't break the connection(won't happen unless you force it to break), anytime you change the prefab(or an instance when you send the changes back to the prefab) will get sent to all of the copies of the prefab automatically.
↧