Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by MintKimchi · Dec 02, 2021 at 01:12 AM · scenescene-loadingscene-switchingscene-changescene load

Is there any ideas to load Unity scene asynchronously?

Actually I know how to load scene asynchronously with using SceneManager.LoadSceneAsync(), but it cannot handle stopping situation while loading some scenes which has a lot of resources.

It seems that some loading procedure occurs after asyncLoad.isDone to initialize a lot of resources.

I want to show some specific loading progress view (like "loading..." text with cute animations) until this resource-loading procedure was finally done.

And I found that SceneManager.sceneloaded is called after resource-loading procedure.

Is there any ideas to solve this problem?
Thanks in advance.

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Donald226 · Dec 02, 2021 at 06:06 AM 0
Share

I have also same issue from couple of days anyone have solution for this so please reply. crediblebh

1 Reply

· Add your reply
  • Sort: 
avatar image
2
Best Answer

Answer by rh_galaxy · Dec 02, 2021 at 02:14 AM

I think you will be disappointed, it can't be done fully smooth without losing frames. Both because the async load isn't fully async and because it needs to do more work when "completed", and also all of your own Awake() and Start() functions need to run all at one frames time.


You can try to do your init/loading in Update() and chop it up into say 7ms chunks, and set Time.timeScale = 0 until you are ready, but you may end up like me with uglier code and still not working ok.

I was working on a VR-game where 90 FPS must be achieved, I ended up fading screen to all black, do all loading, then fade in, to hide the choppiness.


You can also see with the frame profiler that it is impossible to do all frames in 11.1ms (in my case for 90Hz), since things outside of your control takes longer at the actual scene switch. But if you accept a certain amount of choppiness/uneven frame rate maybe a loading progress indicator can be made working. But for a VR-game where stuttering is unacceptable it is better to fade to black in Unity.

Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image MintKimchi · Dec 02, 2021 at 05:35 AM 0
Share

Thanks for reply, it helped!

avatar image rh_galaxy MintKimchi · Dec 02, 2021 at 06:24 AM 0
Share

Glad to help even if it didn't solve the problem.

avatar image Bunny83 · Dec 02, 2021 at 01:38 PM 1
Share

Right. People have already asked for a pure grouping mechanic inside a scene that doesn't involve empty gameobjects. If Unity may come up with a solid grouping concept that will be interleaved with the normal hierarchy, we could get some sort of chunk loading support where we could assign a priority or time delay to certain groups so when the scene loads it would "activate" those chunks in that order / with those specified time delays. You as the developer would still be in charge of making sure such a loading delay makes sense from a conceptional point of view. Any automatic process would be doomed to fail as developers could do all sorts of things that are not compatible with splitting a scene up.


Currently if you have large scenes the only viable solution is to manually split them up into smaller additive scenes which would represent your "scene sections". So you are responsible for loading and activating them in a way / order that makes sense for your game.


There are already some solutions that may help with the organisation of those scenes in the editor like those scene groups.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

161 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Most efficient way to transition between scenes? 1 Answer

Unity Scene loading problem (slow loading until it freezes) 0 Answers

Load Scene from .unity File 1 Answer

Re-loading a scene but on the background older scenes are displayed 1 Answer

UnloadSceneAsync() does not seem to work with additive scenes. 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges