Detected the creation of more than one LevelScriptActor
UATHelper: Packaging (Windows): LogInit: Display: LogOutputDevice: Error: Detected the creation of more than one LevelScriptActor (/Game/Maps/GamePlayLevel.GamePlayLevel:PersistentLevel.GamePlayLevel_C_4, /Game/Maps/GamePlayLevel.GamePlayLevel:PersistentLevel.GamePlayLevel_C_1) within the same outer. This can lead to duplicate level blueprint operations during play.
Also, we can’t create dublicates of the GamePlayLevel through editor - we receive this error “Can’t save umap graph is linked to object blueprintgeneratedclass (unknown property in external map”
Launch the back-up project, copy the entire level content, paste it into a text pad
In the backup - open Saved folder, get the old back-up version of the map - it may be named as “XXX_Auto_1”, etc.
Substitute the map in the back-up project, with the map from the saved folder
Launch project, delete the level content. Paste content from the text pad, fix any level blueprint errors
The project should build now, if it doesn’t - try using the oldest map from the Saved folder. Or create a new empty map in the editor, close the editor, rename the map to the name of the corrupted map.
However, there are issues with foliage which doesn’t snap to the landscape and is wrongly located, despite having the same world coordinates as the original. Foliage and it’s location is also core elements of my game’s level design
Edit: foliage issue has been solved
I was copy-pasting 2 landscapes simultaneously, and upon pasting them - Unreal Engine was assigning foliage to the wrong one, resulting in foliage having incorrect origin. I copied landscapes 1 by 1 and it solved the issue.
There is indeed apparently a way to get 2 levelScriptActor in a level, I read some people saying when doing some “undo” or creating some Actor ref in the level blueprint, just theories, but anyway, this happened to me too.
When looking to debug in the blueprint of the level (debug filter in blueprint window), I realized there were 2 instances of this blueprint, doing bad behavior in my logic of course (since it calls any event twice).
I use the source code in debug and I notice the level has a pointer to one LevelScriptActor although when I started the level (putting a breakpoint in the constructor ALevelScriptActor::ALevelScriptActor) there were 2 LevelScriptActors that were created with the level name (LeveNameLC_2 and levelNameC_5), but they are meant to be invisible for the user when searching list of the actors in the level.
By forcing those actors to become editable during the breakpoint, they can both appeared in the list of the actors in the level (in the editor windows).
From there, I just do fake changes in the blueprint to see which one change name in the Debug Filter of the blueprint and I deleted the one that was not used/changed.
I know this will not help people without the source code, but I passed an afternoon to understand what’s going on, so if it can help someone.
Hello, do you mean the objects in the outliner when you said “level content” and could you explain what the text pad is? Unfortunately, I’ve deleted the saved folder recently and I don’t have “XXX_Auto_1”. Tried to create new map and rename the map to the name of the corrupted map but I’ve messed up with the project. Your assistance will be much apperaciated. Thanks.
Solved the issue with duplicating the map with the help of the workaround in this post: “Error on duplicate map” Don’t forget to have a backup before doing this.