Loading screen with "ENTER" button?

I’m sure this is addressed somewhere but I can’t find it: I’m hoping to make a landing page that loads all my scene assets in the background (with loading bar) but which doesn’t automatically launch the scene. Ultimately, I want the landing page to include other links and info, and to offer high-res and low-res versions of the “Mellow Tiger” environment. The assets would load in the background as the user interacts with other page elements, then, when they click their scene to enter it, it should be loaded and ready to launch.

Are there examples of such a thing already I could dig into?

Hi @gnormanlippert, could you not achieve this by adding HTML to your loading screen? You can check this to see how to add a custom loading screen script, and you can simply add HTML and CSS there that includes your interactive content (eg your links and info etc).

1 Like

Indeed. My biggest ask, methinks, is for the scene to load (with loading bar) but not to launch once load is complete. I’d like for the user to be able to click a button to launch (and perhaps choose between a high-res and a low-res version).

Currently, the scene launches as soon as load is complete.

Can this play button screen be separate from your interactive elements while the scene is loading? In that case, you can simply have an overlay for this in your scene. In fact, initially you can have nothing but a play button at the right place (using HTML) load in as part of your scene. Enable the rest of the entities when it is clicked.

How are the low and high res versions different? Would you need to load separate scenes or even separate projects? Is there some runtime logic you would need to apply?

That’s a good question-- currently, the only difference will be: 1) amount of BASIS compression, 2) inclusion of higher/lower quality sound files, 3) higher/lower resolution shadowmap settings. Maybe this will require me to duplicate the project for a separate build? I am open to ideas!

This would need to be a separate asset as this is done at Editor time, not runtime

You will have to have some logic at runtime to swap the assets being used/referenced which is tricky as you need to do this before the Entities are first enabled :thinking:

Probably the easiest of the 3 as you can set the settings at runtime and then bake the lightmapper.

I’m wondering if having two scenes would be the easiest thing to do and you would just load the scene and assets needed for the device/user choice?

Maintaining changes/updates between the two would be the trickiest thing to do but can be mitigated with Templates.

Then you can create an in game menu choice of loading which scene and load the assets needed for it like this: Loading Scenes | Learn PlayCanvas

1 Like

Two scenes seems like the best option. What solution (I am assuming there is one) is there for having the scene not immediately load once the loading bar is filled, but instead, once loading bar is full, have it create a button, allowing the user to launch when they are ready?

What I would do is:

  • Have a scene that gives the two options of low/high as buttons
  • Only preload what is needed for the that initial scene
  • On pressing the buttons, it would load the assets needed for the low/high scene with loading bar and then loads the scene.

Pretty much like the example project that I linked to before

1 Like