What is the difference between Play Standalone and Quicklaunch to your own PC? I could not find any explanation going over such as topic. Quicklaunch seems to build and cook data like a mini packaged build of the current level. Is it more practical to profile in one over the other? What are the use cases of both?
For example, in this talk, YouTube, Matt uses Quick Launch when profiling.
In this talk, YouTube, Paulo says to use Play Standalone (if you can’t use a cooked build).
Hi,
Play Standalone:
- Use it to quickly check how your level looks and how it plays.
- It doesn’t build/cook the game itself, the game runs in an Editor process, so it boots faster. You have a faster development iteration.
- The game runs within an Editor process with uncooked assets, it will run slower than the real game.
- You usually don’t profile your game with this mode. You can use it to do very high level optimizations to check that the game still works, but the profiling data will be skewed as it runs in the Editor process.
- It runs on your PC.
Quick Launch:
- The engine will build/cook/stage the game. It will be slower to launch. (considerably slower in some cases depending what needs to be cooked/compiled). You get slower development iteration in general.
- You get a more realistic user experience. You are running the game executable with the cooked assets. It should run faster and smoother.
- You can start looking at profiling/optimizing with those builds.
- You can quick launch on other targets (Consoles, Mobiles) because it will make a build for the target platform, deploy it and run it.
Here a some detailed explanation:
When you use ‘Play Standalone’, the Editor launches another Editor process and the game basically run in the Editor in a PIE world with uncooked assets. If you break in FWindowsPlatformProcess::CreateProc you will get the command line and you can see that it launches the Editor process.
D:\UE_5.5\Engine\Binaries\Win64\UnrealEditor.exe "../../../Samples/Games/Lyra/Lyra.uproject" /Game/System/DefaultEditorMap/L_DefaultEditorOverview -game -PIEVIACONSOLE -Multiprocess GameUserSettingsINI="PIEGameUserSettings0" -MultiprocessSaveConfig -forcepassthrough -messaging -SessionName="Play in Standalone Game" -windowed -ResX=1280 -ResY=720
When you use ‘Quick Launch’, the Editor will Build/Cook/Run the project for the specified target (Windows). It will build all dependencies required, the game and cook the assets and packages them (if you use pak/iostore) and stage the build and start it. This process is more costly in general.
`/c ““D:/UE_5.5/Engine/Build/BatchFiles/RunUAT.bat” -ScriptsForProject=“D:/UE_5.5/Samples/Games/Lyra/Lyra.uproject” Turnkey -command=VerifySdk -UpdateIfNeeded -platform=Win64 -noturnkeyvariables -device=PC_22332 -utf8output -WaitForUATMutex -EditorIO -EditorIOPort=49853 -project=“D:/UE_5.5/Samples/Games/Lyra/Lyra.uproject”” -nocompile -nocompileuat
D:/UE_5.5/Engine/Build/BatchFiles/RunUAT.bat -ScriptsForProject=“D:/UE_5.5/Samples/Games/Lyra/Lyra.uproject” BuildCookRun -project=“D:/UE_5.5/Samples/Games/Lyra/Lyra.uproject” -noP4 -clientconfig=Development -serverconfig=Development -nocompileeditor -unrealexe=“D:\UE_5.5\Engine\Binaries\Win64\UnrealEditor-Cmd.exe” -utf8output -platform=Win64 -target=LyraGame -build -cook -map=/Game/System/DefaultEditorMap/L_DefaultEditorOverview+/Game/System/DefaultEditorMap/L_DefaultEditorOverview -CookCultures=en -unversionedcookedcontent -zenstore -skipserver -fileserver -stage -deploy -cmdline=“/Game/System/DefaultEditorMap/L_DefaultEditorOverview -Messaging” -device="Windows[Content removed]
Patrick
This is great. Thank you for the explanation.