Screenshot of user's desktop upon launch

I would like to capture the user’s desktop (PC) upon launching the game.
Then do a cool effect on it, like say a whirlpool, and have the user get sucked “down the rabbit hole” so to speak.

Is capturing the desktop even possible? Or is this pre-unity loader so by the time my scripts are executed in a scene I don’t have any way to get it?

I’m looking for any guidance on how this could be achieved as my unity knowledge is limited.

Hi. A search online has found that this is not possible, at least not very easily to my eyes. An alternative workaround, I thought would be to make the game full screen, then transparent, then take a screenshot, but that’s not practical either. There is an option within Unity to take screenshots, but it only seems to work taking screenshots of the game window.

So here’s my suggestion/solution:

  1. Build an new application outside of Unity, directly in C# (you can download the Visual Studio Development Environment for free (

  2. Complete the following tutorial to get the code for the screenshot grabber

  3. Find the location of your new executable, and make a call to it before your main game has started (that is to say run your new application from your game)
    Execute An Exe From Code - Unity Answers

  4. Do whatever you want to with the image. You’ll need to wait a while to make sure the grabber app has made the file, saved it and then left it alone [WaitForSeconds(10) or something like that, would probably be enough]. Or… forget it and have a coffee :wink:

Edit: Now found a much easier way of doing this for the Windows platform… instead of the above, use windows API calls in script to modify the window. Then take your screenshot using the standard in game screenshot command. Instructions to make the window transparent can be found here: Viewing desktop in-scene - Unity Answers