Reduce Build Size of Large Unity Scenes! (and VRC Worlds!)

Поделиться
HTML-код
  • Опубликовано: 25 ноя 2024

Комментарии •

  • @OracleMusicOfficial
    @OracleMusicOfficial 2 года назад +31

    been tryna reduce my vrc world more without sacrificing looks and this saved me about 12mb which is really nice being that i am trying to keep it under 100mb, thanks a bunch

  • @Callie_Pepper
    @Callie_Pepper 4 месяца назад +2

    No matter what I googled, no answers were coming up on why the debugger was showing 80mb but my actual build size was astronomic. With this video's help I finished my optimisation pass bringing my original 400mb first attempt world to 73mb. Thank you so much for putting this information out there!!!

  • @bloomingtails
    @bloomingtails 8 месяцев назад +2

    Holy smokes! I thought the thumbnail was exagerating, but my scene full of palmtrees bushes and clones of furnitures went from 250mb to 138mb, and then down to 119mb with the help of VRWorldToolkit!! Thank you!! I was scratching my head on why the scene was so big when I compressed everything in my world (textures, skybox, sounds, meshes etc...) you are a a life saver!

    • @iconoclass
      @iconoclass  8 месяцев назад +1

      Ty! The thumbnail is the actual reduction in world size I got for that snowy world by following the tips I describe in the video

  • @EQXaint
    @EQXaint 2 года назад +10

    small features that can do alot in the bigger picture, really neat video great information to have available for everyone out there trying to lower sizes of worlds without tearing them apart completly, love to see it (: .

  • @emberytp
    @emberytp 2 года назад +3

    Never woulda thought to turn off static batching, that helped a lot, thanks! This video actually made me research what static batching does, I didn't realize it reduces multiple smaller static drawcalls into one larger static drawcall, which tends to help underpowered GPUs.

    • @iconoclass
      @iconoclass  2 года назад

      There's another video that explains the same topic: ruclips.net/video/IrYPkSIvpIw/видео.html
      Most of the other videos on static batching and GPU instancing cover its performance gains as it's more applicable to Unity gamedev, however I wanted to cover how using GPU instancing over static batching in certain cases can lead to lower build sizes, especially when there are many duplicate objects. It's something I don't see talked about much and it makes sense considering you can't really see or inspect the combined meshes (the ones that are in the build) as separate files; however, using the web tool linked in the description you can see the separate files of a .vrcw in a list along with their respective filesizes.
      I only found out about this when uploading a large world and having a massive discrepancy in world sizes between VRWorldToolkit and the tool I just linked (about 193MB vs 36MB iirc, hence the thumbnail).

    • @stylie473joker5
      @stylie473joker5 2 года назад

      Basically you use static batching for objects that don't move and use gpu instancing for objects that move

  • @LetsPlaySparky
    @LetsPlaySparky 2 года назад +6

    How do you continue to be a god send? Every time I need to learn or check up on something I'm about to tackle, you release a fuckin GREAT simple tutorial that takes less time than the other tutorials with the same amount of information. Not only that, but it's always up to date! And if something changes you update the people with the next video on what changed and how it implements! God and it doesn't even just apply to vrchat creation knowledge but the environment development too! So good please keep learning and educating. I appreciate your knowledge and time. Thank you.
    P.S. The first link in the description leads to a 404.

    • @iconoclass
      @iconoclass  2 года назад

      I mentioned that the link was broken in another comment reply but forgot to update it in the description, thanks. It's a shame because it was a really useful tool.

    • @LetsPlaySparky
      @LetsPlaySparky 2 года назад

      I think I found it somehow through the broken link but don't remember how. Sad to see useful tools go. Couldn't find it again but either way thanks.

    • @iconoclass
      @iconoclass  2 года назад +1

      I just asked the creator and the link was changed, should be working now :D

    • @LetsPlaySparky
      @LetsPlaySparky 2 года назад

      Awesome opossum! Might as well ask a curious question since you might be more knowledgeable on this topic, but do you know if it's okay to uncheck static batching and enable gpu for material even if there are no duplicates to save space? Or have you run into trouble doing this? Hopefully not bothering you too much on this.
      Edit: Nevermind just tried it and it made the size larger. Woops.

  • @adamiksgaming9935
    @adamiksgaming9935 2 года назад +1

    Thank you. Your time is well appreciated

  • @Elesnouman
    @Elesnouman Год назад

    Thank you so much. I bought an environment for unity and it's beautiful but I got warnings for this exact same issue.

  • @Kajamazvideos
    @Kajamazvideos 2 года назад

    Excellent tutorial. My build was getting into 10 plus gigs haha.

  • @sleepingxawake
    @sleepingxawake Год назад

    Quick and to the point this just saved me so much!

  • @Robhearts_
    @Robhearts_ 2 года назад +1

    Actually this is very helpful. I didn't know you could do this Thank you!

  • @Cerulean_Forest
    @Cerulean_Forest 5 месяцев назад

    Thank you for the video, very helpful and to the point!

  • @Artorikus
    @Artorikus 2 года назад

    Those tips are very useful, thanks! I'll share it in my community as well. 😄

    • @iconoclass
      @iconoclass  2 года назад

      Static batching can still be good for smaller scenes and on non-duplicated objects!

  • @No.0.o.0
    @No.0.o.0 3 месяца назад

    Great tips, great no bullshit video!

  • @anthmurphy1615
    @anthmurphy1615 Год назад

    Solid tutorial, great explanations!

  • @son_of_forehead3256
    @son_of_forehead3256 2 года назад

    You should make a tutorial series on making avatars, definitely think that would be a thing I’d watch

    • @iconoclass
      @iconoclass  2 года назад

      For now you can watch Sippbox and the VRC Learning Channel among others. Once the creator companion comes out of beta I'll think about it (if those two don't beat me to it). I'm honestly kinda unsure how I would make a full series on avatars, it's not as straightforward as making one for worlds. Plus, writing these scripts and making these videos is incredibly time consuming, it's not something I do on a whim (hence why I don't take suggestions).

  • @doctorarielchaos2694
    @doctorarielchaos2694 11 дней назад

    great stuff!

  • @Maebbie
    @Maebbie Год назад

    Here is an ancient secret that my homie Lhun told me a while back. You can set mesh compression within the import settings to low, wish further saves on meshdata stored, as well as static batch variants.
    I never have many duplicates besides chairs and lamposts in the past so not much to be saved unfortunately, but like you can make your own static batch in a sense by combining a large portion that is always visible, like your terrain and removing the batching static checkbox on that. Keep these below 64k verts, as this is the max per object for unity and it would be broken up by unity afterwards anyway.
    And another note, there is also a tool called "Resource Checker", which does the same thing as the World Debugger, some might prefer that script.

  • @mossflwer
    @mossflwer Год назад

    Holy shit this was fantastic!

  • @mahanthkanaparthi6087
    @mahanthkanaparthi6087 5 дней назад

    can we apply same texture compression technique for the baked light maps?

  • @parthacodes5893
    @parthacodes5893 Год назад

    Saved I think my 2gb game as I aspect will become 1 gb or less thanks my game will be launched by June tq

  • @CaptainHookGaming
    @CaptainHookGaming 4 месяца назад

    thank you so much I went from 1.4GB to 214 MB

  • @ikiu9068
    @ikiu9068 7 месяцев назад

    Can I use this VRToolkit to view results for setup projects other than VRChat? like for mobile game

  • @superjare23
    @superjare23 2 года назад +1

    Can you do a tutorial on, "Adding Avatars to your world"?
    Such as if you just wanted to make a basic avatar world with a bunch of random avatars.
    How would you go about downloading them/adding them?
    Do you have to make them yourself to add to a world?
    Thanks a bunch! the ones out now wouldn't be nearly your quality.

    • @iconoclass
      @iconoclass  2 года назад

      omg you're right, I just checked and there aren't any halfway decent tutorials on how to do this that are up-to-date.
      To add an avatar pedestal there are example prefabs that you can drag into your scene from the VRCSDK folder docs.vrchat.com/docs/sdk-prefabs#vrcavatarpedestal
      Then drag an avatar ID onto the pedestal's component.
      I will consider making a video on this.

  • @ELShuwaka
    @ELShuwaka 3 месяца назад

    thanks!!!!!!!!!!!!!

  • @Mr_LeviAckerman
    @Mr_LeviAckerman Год назад

    whenever i switch my thing to quest it always gets rid of crunch compression, ive had this issue for weeks and its inhibiting my ability to even upload anything, could you please help? there is nothing i can find on my issue.

  • @metaversohoy8230
    @metaversohoy8230 Год назад

    I did these things and my design doesnt seem to be any smaller I am frustrated. I am trying to upload to Spatial. I exported all my assets and the file is 1.5 gigs no matter what i do

  • @askhento
    @askhento Месяц назад

    your point on GPU instancing is wrong for 3 reasons
    1) it should be same mesh and material
    2) shader need to support this feature
    3) srp batcher will be prefered by unity and should be disabled if you want GPU instancing.
    Advice is to open frame debugger and see what actually sent to gpu

  • @latestsofdisarraysurvival
    @latestsofdisarraysurvival Год назад

    Hello, that was a great tip I would say. But would you do some video on static batching vs GPU instancing overall performance gains, or maybe just reply here? That would be very kind of you 😊

    • @iconoclass
      @iconoclass  Год назад

      Look it up, there are other videos and guides on the topic

  • @kuromajin7087
    @kuromajin7087 4 месяца назад

    Do I need to bake after setting up the GPU instancing?

  • @yolandaratcliff7308
    @yolandaratcliff7308 2 года назад +1

    can you make world for me on vrchat

  • @yours_indie_game_dev
    @yours_indie_game_dev 11 месяцев назад

    can youleave a link where to find world debugger

  • @anooymous84
    @anooymous84 Год назад

    how to use world debuggers on other non-vrchat projects?

  • @Miggymini
    @Miggymini 2 года назад

    I performed this optimization and now I have ugly artifacts all over my furniture... and I cannot undo it... T_T

    • @ErvahNoir
      @ErvahNoir 2 года назад +1

      sounds like you may have over-compressed your textures in a step. I'd check there first or possibly reload the textures on a previous setting with no artifacting.

    • @Miggymini
      @Miggymini 2 года назад

      @@ErvahNoir it's alright had a power outage during trouble shooting the scene.... Aaaaand you know what that means for noobs like me! 💀

  • @tatoforever
    @tatoforever Месяц назад

    Not totally correct. Unity will batch together meshes before sending them to the GPU for rendering using the same material (for BIRP) or same shader variants (for SRPs) whether GPU instancing is enabled or not. GPU Instancing will just instance the same mesh on the GPU. Worth mention that GPU instancing will disable SRP Batching and GPU instancing is not always good. If you are instancing couple of meshes, the cost of preparing and changing GPU state is higher than the actual instancing itself, bringing little no benefits at all. Use GPU instancing when rendering the same mesh more than 50 times. Otherwise sharing materials or shader variants is the best way to reduce drawcalls.

    • @iconoclass
      @iconoclass  29 дней назад

      Thanks for the corrections. This kind of nuanced info is difficult to find.