I would love a way to copy and paste entities from one scene to another, and also a way to “duplicate” a scene. Edit: Oh, there is one already, it’s under the little triangle square drop down I had missed the first time looking at it. The object duplicating issues still stand, and the copy and paste between editor instances. I’ve removed the scene copying from the post since it already exists as “duplicate scene”.
I noticed the editor will let you select multiple scene objects in the hierarchy, but will not let you copy them. Having multiple editors open also does not allow copy and paste between editor instances, so I can’t even copy them one object at a time.
I propose a “import object from project scene” option under the “make new object” menu, and if possible, allowing copy and paste between scene editor windows on the same machine.
Example of use:
Say I have a complex player/camera setup, or a complicated enemy entity with many particle effects and editor made settings that need to be “the same”. If I had the “import object from scene” option, I could make the enemy in Scene 1, and then when making another scene, just import the first enemy object to make sure all the settings are the same.
Let’s say I have two scenes, one with a test of a new moving platform in it but with some old object setup elsewhere in it, and a second scene with many new elements that have been tweaked. I want to start a new scene, and combine the “good parts” of both the previous scenes. If I could “import object from scene”, I could simply create a new template scene, import the platform from one old scene, and the other “good parts” of the second scene.
This feature would be very useful if it could be done at runtime as well. For example: A single “enemy” unit setup in a scene being used as a container, and the actual levels all have emptys with a “spawn enemy” script that duplicates the entity from the “container” scene. Then if there are any major changes needed to be done to the enemy, like changing the speed value of an editor enabled field, changing the enemy in the “container” scene would update all of the rest, since they are duplicated out during the level code. This would allow a way to do something like what Unity has with it’s prefab and spawning prefabs during runtime setup. It would also make it easy to “spawn” enemies, or other objects, during runtime without needing to hide/destroy clone-able objects in the level somewhere.
In summary, a way to duplicate entities between scenes in editor would be very time saving for level prototyping. And if that duplication were also open to access during runtime, we could have “prefabs” from Unity, and be able to quickly setup editor adjustable things like particle effects on elements in all our levels at once, without needing to manually copy settings for each one.
What’s really frustrating with that last one is that we already have that kind of control with scripts and textures/materials, or even models. Editing or updating the source for all those automatically updates them over the whole project. But anything made with the editor panels needs to be done over and over per editor object. The editor interface is great but constantly making sure every enemy/player/ect object has the same editable properties when we need to change or tweak say, the physics settings of their rigid bodies, is a nightmare in the current setup. It’s way too easy to miss one or type the wrong numbers, and depending on what is being changed, testing to check may take hours or even days of our time.