How to use Addressables FASTER Loading FREE Memory SMALL Download

  Рет қаралды 99,831

Code Monkey

Code Monkey

Күн бұрын

Пікірлер: 245
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
✅ Get the FULL course here at 80% OFF!! 🌍 unitycodemonkey.com/courseultimateoverview.php 👍 Learn how to make BETTER games FASTER by using all the Unity Tools and Features at your disposal!
@vicktoriashepard
@vicktoriashepard 2 жыл бұрын
hi, i have a 3d game, how can i load only those resources that the player sees through the camera? I could check their position, but they are not on stage. I could ray cast, but they are not on stage. And if they are loaded into memory, the meaning of dynamic loading is lost. There is an idea to record their bounding box, and check the visibility on them, but I don't really understand how. Thank you for the lesson!
@Nova04550
@Nova04550 2 жыл бұрын
Hi CodeMonkey, are you going to do a video on the Unity UI toolkit?
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
@@Nova04550 It's on my list, I've already done a bunch of research but haven't written a video yet
@Nova04550
@Nova04550 2 жыл бұрын
@@CodeMonkeyUnity Sweet! Really looking forward to that.
@path1024
@path1024 Жыл бұрын
@@vicktoriashepard You don't want to unload and reload objects that should be in the scene. Frustum culling will prevent them from rendering when they're not being looked at, but completely unloading and reloading the objects while looking around would destroy the performance of your game. If you are talking about objects that are not nearby and wouldn't be visible even when looking around then you're talking more about world streaming. In that case you have to divide the world into sections and load or unload entire sections based on proximity.
@pedrobelluzzo
@pedrobelluzzo 2 жыл бұрын
This video was launched 20 minutes after a daily meeting i've had with my team, where we discussed that the next step in our game was to study and implement adressables. I knew Facebook was spying us, but you?!!?! LOL
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
It's a great package! Best of luck with your game!
@pedrobelluzzo
@pedrobelluzzo 2 жыл бұрын
@@CodeMonkeyUnity Thank you very much!
@aaronperron
@aaronperron 2 жыл бұрын
can't wait for the sequel to this tutorial! Remote hosting addressables will be a life saver.
@Acid_Brad
@Acid_Brad 2 жыл бұрын
Been using this for awhile now, just have to mention while in the editor after making a build you might want to set the Play Mode Script to Use Existing Build this will show you in the editor what loading will be like in a Player. Addressables is great it has fixed a lot of the memory issues my project was suffering from.
@lee1davis1
@lee1davis1 2 жыл бұрын
I'd love to hear more about how it helped. I currently on see addressable as useful if you are making a large scale game or mobile app.
@Noixelfer
@Noixelfer 2 жыл бұрын
@@lee1davis1 Does not need to be big, I use addressables in smaller projects too. Having small resource folder and using addressables instead can be very good, imagine if you have a cutscene or any type of object that has a small lifetime during your game, instead of having his resources loaded and occupy memory at runtime you can only load it when you need it and remove it after that, it's a very good practice to use only the resources that you need. Lower RAM means that you can add more details or target lower end devices, also coupled with other optimization techniques and the device won't heat up during the gameplay. So lower build time (no resources folders, addressables content is build independent of project build), lower load time (no unused dependencies in scenes) and lower memory footprint. Addressables should be the way to go for any object that has a limited lifespan during the gameplay (at least imo)
@phodaOG
@phodaOG 2 жыл бұрын
YOURE SAVIOUR MAN, last few videos were EXACTLY what I needed at that point.
@isawadelapradera6490
@isawadelapradera6490 2 жыл бұрын
18:36 You don't even need to define new classes to forgo the generic type parameters when writing your AssetReference! Instead of defining a new class, just import the generic type AssetReferenceT as an alias with the desired type, like so: using AssetReferenceAudioClip = UnityEngine.AddressableAssets.AssetReferenceT; //note that it's necessary to use fully qualified namespace names - don't omit the UnityEngine part even if it's among your imports Way less cluttery, and now you don't have an extra class to keep track of. Additionally any alias for AssetReferenceT is fully interchangeable with any other object defined through such alias. Sub-classes are NOT interchangeable and if you define two different classes AssetReferenceAudioClip they can never replace each other.
@zpinacz
@zpinacz Жыл бұрын
Great comprehensive tutorial on addressables! I can't thank you enough for the time and effort you put into creating this video. It has helped me tremendously in understanding and implementing addressables in my own projects. Your clear explanations, step-by-step guidance, and real-world examples made it so much easier to grasp the concepts. Keep up the fantastic work, and I look forward to watching more of your tutorials in the future!
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
That's awesome, I'm glad the video helped you! Thanks!
@NachitenRemix
@NachitenRemix 2 жыл бұрын
I just bought you turn based strategy course some days ago and loved it!! Im gonna be probably buying this ultimate unity overview couse soon. You explain very well and in lots of detail, I consider myself an intermediate experienced dev, but most of the things you tech I didnt know :) Thats awesome
@martin-schoen
@martin-schoen 2 жыл бұрын
go for it, it's also a nice course ;)
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
That's awesome, I'm glad you're enjoying the course! Thanks!
@Visigoth_
@Visigoth_ 2 жыл бұрын
Very cool... these free videos are a really great resource! They're helping me wrap my head around Gamedev and coding (so I'm starting to feel like I'm slowly getting a grasp on them). It's a really important part of the journey that happens before you can make the decision that buying a course will be worth it for you/your goals (I'm getting there).
@sjoer
@sjoer 2 жыл бұрын
You can also use LoadAssetsAsync to retrieve a list of objects of the specified Type T to process!
@DavidZobristGames
@DavidZobristGames 2 жыл бұрын
Host I use all the time for testing the VR headset ( remote device) before moving the content to the unity buckets. Addressables can make you build bigger because of duplicates between groups, something to be aware of. That said our build is 1gb and +2gb come frome the remote buckets, when required, so its a huge benefit.
@PitiITNet
@PitiITNet 2 жыл бұрын
Amazing video! I am so happy you made it - it took me ages to get to know about them so it's great to have one place to get to know all about them! There's only one sad thing about the video. I was learning it all to make the video myself! :D
@pekpro
@pekpro 6 ай бұрын
Thank you so much! 🙂Perfectly explained. You're one of my all time personal heroes! 🍻
@CodeMonkeyUnity
@CodeMonkeyUnity 6 ай бұрын
Thanks! I'm glad the video helped you!
@cydonia2987
@cydonia2987 2 жыл бұрын
That was a great video! I was just about to look into addressables when your video popped up in my feed! Great timing - and thanks for the video!
@RecOgMission
@RecOgMission 2 жыл бұрын
You’re a great coder and a great teacher. I always know how, and importantly, why, when watching your videos!
@priyapianosongs7390
@priyapianosongs7390 2 жыл бұрын
Awesome tutorial, I was wanting to learn about Addressables for some time, you explained it really nicely, thank you.
@reggieisnotadog4841
@reggieisnotadog4841 2 ай бұрын
I'm planning to make a slightly larger scoped game next, and learning about this stuff has mostly been a nightmare. Thanks so much for explaining it in a clear way.
@Robertganca
@Robertganca 2 жыл бұрын
Really good tutorial! I didn’t even know this was a thing that can be done.
@ВасилийПотапов-ч3ч
@ВасилийПотапов-ч3ч 2 жыл бұрын
I've been working with Addressables, but you've covered some info I just didn't take attention on. Can't wait for a new vid about addressables
@notlaw1567
@notlaw1567 2 жыл бұрын
Thanks for the tutorial! I didn't know there were so many approaches with this package!
@hellfim
@hellfim 2 жыл бұрын
Great tutorial with good and logical structure!
@PRodi_
@PRodi_ 2 жыл бұрын
Great Tutorial Big THX!
@honokiii
@honokiii 2 жыл бұрын
I just bought your Ultimate Unity Overview and Unity Turn-Based Strategy Game Courses! So excited to start them! I'll start after finishing my ongoing projects, can't wait to learn new things! Do you have a discord or something where we can ask questions to? I just think that it would be fun to interact with you and your other students while learning your courses.
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
I hope you like them! I tried Discord but it was impossible to be responsive since Discord is based on real-time I'm always available on the Q&A section of the courses, I answer all questions every day so if you need any help with anything just ask there and I'll do my best to help Thanks!
@honokiii
@honokiii 2 жыл бұрын
@@CodeMonkeyUnity i seeee~ well, I'll just send messages when I have questions. Thank you for the great courses!
@hypercharge26
@hypercharge26 2 жыл бұрын
Another nicely explained tutorial! Also, do you plan to expand on the NPC system (like movement, more behavior, etc)
@darkfafi
@darkfafi Жыл бұрын
I bought the Full Course. Thank you for this incredible resource!
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
Thanks! Make sure to check all the lectures, there's tons of obscure tools that Unity has, I hope you like it!
@bil8429
@bil8429 2 жыл бұрын
AMAZING TUTORIAL! I really need those cloud tutorials aswell I hope they're coming out soon :')
@ChrisHolden
@ChrisHolden 2 жыл бұрын
Another superb lesson. Can thoroughly recommend the full course!
@alec_almartson
@alec_almartson 2 жыл бұрын
Excellent video. 😄👍🏻 This topic seems very important specially for mobile multiplayer games these days 🎮
@barbarusonline
@barbarusonline Жыл бұрын
Thanks again. Amazing video. Helps us a lot currently
@Maskedmous
@Maskedmous 2 жыл бұрын
Entirely Asynchronous is what you meant saying at 1:24. If it were entirely synchronous everything would be frozen. They do have a method call for synchronous loading, but calling this method will cause ALL other addressables that are asynchronously loading, to be loaded synchronously as well. It ain't advised to use that synchronous method, but some ppl in the community were complaining that everything was asynchronous. Addressables are awesome. But they do come with their own problems though. Especially when using scriptable object events. If you have a reference in the built-in scene and addressable load something that references that same scriptable object. Then it will be another instance of the scriptable object. So the scriptable object referenced in the scene is not the same as the one from the addressable loaded asset. Unless you load the scene itself as addressable it'll be the same again. Having addressables hosted on a content server makes it easy to do hot fixes. Forgot a reference? change the prefab or scene and just build the new addressables and put it on the server again. Fixed. No need for a new app build. You can make an in-game message stating that assets have been updated, get the new catalog, update the assets and reload the main scene.
@lee1davis1
@lee1davis1 2 жыл бұрын
See. Your example is the best use case for Add,s that I've seen. True. No need to re-download the entire build if the game only has a small bug fix.
@Maskedmous
@Maskedmous 2 жыл бұрын
@@lee1davis1 Yeah though, this hot fixing is only for bugs within assets. If there are bugs in your programming you'd still need a new build. Addressables doesn't allow code to be shipped. That's something that should be mentioned. So you can't update code with addressables, but you can update assets.
@f11bot
@f11bot 4 ай бұрын
Amazing tutorial, detailed and easy to understand, thanks!!
@CodeMonkeyUnity
@CodeMonkeyUnity 4 ай бұрын
I'm glad you liked it!
@joysonst
@joysonst 2 жыл бұрын
Excellent tutorial. Waiting for part 2.
@MathsPlusGames
@MathsPlusGames 2 жыл бұрын
Amazing, only problem is, if I end up bookmarking all your videos, bookmarks become meaningless, I think the thumbnail should be changed to Addressable. I might strugle to find this in the future because of the thumbnail I dont know how you add so much detail in such short period of time, considering the rate at which you make content! Keep it up I just realized this is part of the course which I have purchased but I have not started yet
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
This was a tough video to make a thumbnail for, I'm not sure most people know what is Addressables so I chose to use that in the title and focus on one of the main benefits for the thumbnail. So by the title it should be searchable.
@crazyfox55
@crazyfox55 2 жыл бұрын
I don't like that registering to the completed even occurs after the call to load the asset. In my eyes that is just bad flow, the completed event might fire before you get a chance to register for it. There might be some behind the scenes logic that the AsyncOperationHandle could check if its already completed when new subscriptions are assigned. However I still don't like how it looks in my code.
@lee1davis1
@lee1davis1 2 жыл бұрын
Good point
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Since the whole system is asynchronous I don't think it's possible for the event to fire before you register it, I think even when loading a 1KB file it will take at least one Update to complete so I don't believe that's a problem.
@BoundfoxStudios
@BoundfoxStudios 2 жыл бұрын
Add UniTask to your project and it’s super clean again, no ugly callback/event stuff: private async UniTask LoadAsync() { var go = await Addressables.LoadAssetAsync(…); Instantiate(go); } Ugly stuff is behind the scenes and we got a nice API. Also, UniTask is pretty much a standard Asset to use because all async/coroutine stuff is much better writeable and handleable :)
@Patricebrouh
@Patricebrouh Жыл бұрын
I understand Adressables thanks to this video. Thanks
@tufanaydin6340
@tufanaydin6340 10 ай бұрын
Thanks for this amazing tutorial
@lime_68
@lime_68 Жыл бұрын
Have to learn it, it gives massive optimization power 💯
@michaelsong741
@michaelsong741 Жыл бұрын
Thanks very good guide on addressables.
@bluzenkk
@bluzenkk 2 жыл бұрын
at 9:35, I notice that you magically pressed a short cut key to auto generate the AsyncOperationHandle_Completed event and its function. How did you do that?
@TheAncientArrow
@TheAncientArrow 2 жыл бұрын
It's just the Tab key
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
It's Visual Studio's default auto-completion, after you type += on an event if you press Tab it auto completes the event function. I don't think VS Code has it, at least not by default, I'm using VS Community
@bluzenkk
@bluzenkk 2 жыл бұрын
@@CodeMonkeyUnity ah... ok thx
@maxg5196
@maxg5196 2 жыл бұрын
Great video. Super helpful!
@hakanviajando
@hakanviajando 2 жыл бұрын
Thank you, amazing explanation.
@cgh353
@cgh353 2 жыл бұрын
Super Tutorial Thank you for this and the ones following up on this with the cloud tutorial. Also just a request for maybe a async cloud based game in the future.
@GreazyController
@GreazyController 2 жыл бұрын
Nice video 👍 thanks a lot for your help!
@jacobester3846
@jacobester3846 2 жыл бұрын
Thank you, very helpful. I can see how this would be useful for managing things like weapons/armor/clothing that might change frequently on characters/NPCs.
@RenegadeVile
@RenegadeVile Жыл бұрын
One thing that's currently confusing me about Addressables is that using them seems to remove the usefulness of the editor? If all the assets need to be asynchronously loaded, what do you do during design time? For example, while creating your scene, and putting all the environment assets where you want them to be? If you make them addressables, you can't view them in the scene anymore, can you?
@johnsartain4160
@johnsartain4160 Жыл бұрын
I’m thinking that too
@dong8912
@dong8912 9 ай бұрын
I think it’s more for optimising and should be used after your scenes are complete. The whole point of addressables is to minimise ram usage by dynamically loading assets from the disk while the game is running. It has nothing to do with the editor.
@PraveenKumar-gt9nv
@PraveenKumar-gt9nv 2 жыл бұрын
yes, more interesting. I am looking forward.
@Greviouss
@Greviouss 2 жыл бұрын
Almost jelly how much faster you seem to learn newer unity concepts and absorb how they work. Oh and make a hey gang here's the whole thing dissected and explained.. Meanwhile I gotta watch your video 3 times along with a slew of support alternatives to have any level of a working grasp on some of these things at all Sigh
@isawadelapradera6490
@isawadelapradera6490 2 жыл бұрын
if by "support alternatives" you mean checking out additional documentation, that's how you're supposed to be doing it to learn faster
@nitinchipkar2928
@nitinchipkar2928 2 жыл бұрын
Hey I am from India 🇮🇳. You are doing well job 👏👍. I am watching your videos . Make more and more videos for us. Thanks a lot.
@JamesWrank
@JamesWrank 2 жыл бұрын
I would love it so much if you could make more tutorials about Netcode and multiplayer with unity game service! The first tutorial about Netcode was great, a full overview of Boss Room soon would be such an amazing gift for us ♥️♥️♥️
@vlakitus
@vlakitus 2 жыл бұрын
Really helpfull and professional content, I already learned a lot from yout channel! Thanks a lot! Would be great to see how to make a melee combat system with finalization and slow motion in the last hit on the enemies.
@immutablecantrip
@immutablecantrip 2 жыл бұрын
At 13:40 watching you create an event subscription without any way of unsubscribing makes me ill lol
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
You can store the AsyncOperation and unsubscribe but its unnecessary, the Complete callback will never be called twice
@immutablecantrip
@immutablecantrip 2 жыл бұрын
@@CodeMonkeyUnity An event subscription will keep an object from being garbage collected. Most memory leaks in C# come from creating an event subscription without unsubscribing later
@PawanRamnani-r9b
@PawanRamnani-r9b Жыл бұрын
Amazing video 👏. Really helped me reduce my game size. I also watched your video on unity gaming services so i wanted to ask : Are you planning to make a video on how Cloud Content Delivery can be linked with addressables?
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
Yup I did cover cloud content delivery in another lecture on the full course
@PawanRamnani-r9b
@PawanRamnani-r9b Жыл бұрын
@@CodeMonkeyUnity i did see that now on your paid course, can you maybe post it on youtube too (as no one has properly covered it yet) or maybe just add a feature to just buy the particular video because i cannot really buy the entire course for one video. Thanks for the reply.
@osamansr5281
@osamansr5281 Жыл бұрын
That was wholesome ❤
@Cameo221
@Cameo221 2 жыл бұрын
I've been using addressables for a while now. I wasn't aware that the addressables are built upon a unity build like in the video? I always remember manually having to build addressables individually. What do I have to do to have this behaviour by default? Very nice video by the way. Even if I already know how this all works, it's great to solidify my knowledge. I like how the video only used minimal code, as it's way too easy to overengineer with addressables while self-learning this like I did :)
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
There are both methods, I believe this behaviour is the default, I don't remember changing anything to make it build alongside the game build. After making the build then there's another menu to update a previously created asset bundle, it's what I used in the Cloud Content Delivery lecture to update some assets on the server.
@navi1615
@navi1615 2 жыл бұрын
Quick question.. Is it really a good practice having the whole scene as a prefab? Or was just an example? I don't know if addreassables support scenes directly or not, but for baking light and that stuff it would be important. Or is it more oriented to "simple" assets instead of something like a scene?. Also, does it allow you to include new scripts with those packages? Or do you need a new build? Thank you!
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
It was mainly just an example, depending on the size of your level you might be ok with making it a single prefab if it's relatively small but definitely don't make it a single prefab if you have something on the scale of Skyrim. On a large world you would split it into chunks then use Addressables to dynamically load/unload them as the player moves to have no loading even in a huge world. Addressables is only meant for assets, not code. You can reference scripts that were included in the build, but you cannot include extra code in the addressables that wasn't present in the original build.
@navi1615
@navi1615 2 жыл бұрын
@@CodeMonkeyUnity Got it! Thanks!
@golamashraf1464
@golamashraf1464 2 жыл бұрын
Great intro to Addressables! Can you kindly post the link to the next part which covers Remote Addressables? TIA!
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
This video is a sample from my Ultimate Unity Overview course, the other 2 lectures on Remote Addressables and Cloud Content Delivery are available on the course unitycodemonkey.com/courses.php?c=ultimateoverview
@bhanukadasanayaka3457
@bhanukadasanayaka3457 2 жыл бұрын
Can you make tutorials for UI Toolkit
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Yup it's on my list but not sure when I'll be able to get to it
@EnderElohim
@EnderElohim Жыл бұрын
16:00 how you use label with string? is it same with AsyncOperationHandle asyncOperation = Addressables.LoadAssetAsync("Assets/_MS/Model/test.fbx"); but just label like ("environment")
@BanditBloodwyn
@BanditBloodwyn 2 жыл бұрын
What video editing tool do you use? Maybe I want to create my own devlogs :)
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
I use Premiere for editing and OBS for recording, best of luck with your devlogs!
@trantuananh421
@trantuananh421 2 жыл бұрын
Nice tutorial. Can you make more tutorial about download Addressables player content from cloud from initialization then load from local at runtime ? Thank you
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
If you use Addressables remote then you have that behaviour by default, the system is smart enough to first check for the hash on the remote server and only downloads all the data if the hash changed, if not then it uses the cached data
@Ziplock9000
@Ziplock9000 Жыл бұрын
Just to mention, the half-way solution is to use resources, which can be loaded from disk when needed.
@UC9o5XrlWjXFOZayVA5JCXcg
@UC9o5XrlWjXFOZayVA5JCXcg Ай бұрын
Is there any benefits compared to LoadFromFile besides not using a string?
@wakajak8634
@wakajak8634 2 жыл бұрын
Wow, fantastic tutorial. Super useful. I'm wondering how useful it'll be for me, as someone who makes relatively small 2d games.
@captainnoyaux
@captainnoyaux 2 жыл бұрын
same as you, I don't think it matters for small games even in 3d. If you build open world or big scenes maybe !
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Depends on the scale of the game, Hollow Knight is a 2D game with a huge world that would definitely require memory management.
@antonorlov8838
@antonorlov8838 2 жыл бұрын
Thank you again for tutorial :) I don't understand, Is Adressables is completely replaces the Asset bundles common flow in Unity? Or I still have to choose what approach to use - Asset Bundles or Adressables?
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Addressables is a tool built on top of Asset Bundles. When you make a build the system will go through all the Addressables you set up and automatically create all the asset bundles
@bluzenkk
@bluzenkk 2 жыл бұрын
love this video~
@MafiaSniper
@MafiaSniper 2 жыл бұрын
Hi CodeMonkey, please make more videos on multiplayer topics.
@paulthompson52
@paulthompson52 2 жыл бұрын
Would love to see if/how this could be used for streaming large environments!!
@GaLzZy.
@GaLzZy. Ай бұрын
I'm asking this before watching, can addressables be good for let's say a battle pass in a game? Like load each tier as a scriptable object that you load in your game maybe? Thanks
@ahsanbloombig3213
@ahsanbloombig3213 2 жыл бұрын
That was Great Video and i have a question that can we load multiple Addressable Scenes at same time? and if we are loading whole scene from cloud how can we reload it in our game as it is'nt in our build settings so SceneManager.loadScene(0) will not work! waiting for Answer
@camushushuaia
@camushushuaia 7 ай бұрын
Why when you spawn the prefab for the scenario with the "T" key you do it as a transform instead of a gameobject?
@CodeMonkeyUnity
@CodeMonkeyUnity 7 ай бұрын
Just personal preference, normally I like to work more with Transform than Game Object unitycodemonkey.com/video.php?v=B-dVf9wUEbg
@jamesderaja
@jamesderaja 2 жыл бұрын
Great video. Will this be useful for mobile games? What is the best way to do this when we are reloading the same scene again after a failure or something?
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Yes mobile has much less memory than PC/Console so it's especially useful there, only load the objects that you need to and nothing else.
@jamesderaja
@jamesderaja 2 жыл бұрын
@@CodeMonkeyUnity what about reloading the same scene again? Is there a better way to do that? Or a different way to load and unload objects? Or is marking them inactive good enough?
@jamesderaja
@jamesderaja 2 жыл бұрын
@@CodeMonkeyUnity thanks for the tip BTW. Loved your video.
@UnityMMODevelopers
@UnityMMODevelopers 2 жыл бұрын
Just wondering with Asset Bundles you are able to create an asset Bundle in one project and then load them in a game built from a totally different project. Is that possible with Addressables or would you have to set up the addressables from the project that you are building your game with? Basically I'd love to have one project just for world building where the addressables would be created from, then other projects for Server, Client, Maybe a Game Editor, and maybe a Offline World Viewer or something like that and share the addressables between all the projects.
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Hmm I haven't tried out that scenario but Addressables is built on top of Asset Bundles so if you can do that with Asset Bundles then it sounds like you would be able to build the same thing with Addressables
@DigitalSummit
@DigitalSummit Жыл бұрын
I'm having an on my Quest app with addressable . My scene slows down when it is set as an addressable, and runs smoothly when loaded locally. I used Occlusion culling to get this fat scene to work smoothly at 90 FPS. Occlusion culling seems not working on Android addressable scenes could explain my problem.
@Henry3dev
@Henry3dev 2 жыл бұрын
how can we add a loading bar 🙏🙏 to show that it is loading in background
@stylie473joker5
@stylie473joker5 Жыл бұрын
Thank you for the amazing explanation. btw Why did it take 2 seconds to load the level in Unity but 9 seconds in Build
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
It has to do with how Unity manages memory, it's not necessarily exactly the same everywhere
@stylie473joker5
@stylie473joker5 Жыл бұрын
Thanks for the clarification much appreciated@@CodeMonkeyUnity
@pianosouls_yt
@pianosouls_yt Жыл бұрын
could you made a tutorial how to update addressable content without download new version from app store thanks
@tufanaydin6340
@tufanaydin6340 5 ай бұрын
Hello CodeMonkey. I think the best idea for this thing position based addressables. Like if player close to assets load that if far unload. Can we make like this demo?
@GamingTherapy8890
@GamingTherapy8890 9 ай бұрын
can you please make video on Google Play asset delivery. Thanks in advance
@krtkonos8771
@krtkonos8771 Жыл бұрын
Thx very much. Can I ask? I have sets of scenes with large maps, the unity project would have like 100GB if I have them all in one project. I used asset bundles and add the chosen maps to the project or to the build to keep it small. Can I use addressables to achieve similar result? It took quite long to load large map from asset bundle
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
Addressables is built on top of asset bundles so if you're already using that then this system won't make it any faster
@jimmyfitzsimmons7170
@jimmyfitzsimmons7170 2 жыл бұрын
Hello, I just bought your couse on udemy but now I wonder whats the difference between the course on udemy and the content of your Yt channel ?
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
The course has all 50+ lectures, here on KZbin I only uploaded about 4 free samples. For example this lecture on Addressables is a free sample exactly like the course lecture, but the following 2 lectures on addressables remote aren't available here on KZbin
@jimmyfitzsimmons7170
@jimmyfitzsimmons7170 2 жыл бұрын
@@CodeMonkeyUnity Alright, thanks for the answer and your amazing content =)
@Brandincanterbury
@Brandincanterbury Жыл бұрын
Just curious. I love your videos, but how come you don't use the practice of using var myvar instead of AsyncOperationHandle myvar? I know this is a huge debate in the c# world. I prefer it over having to redefine the type in the event the assignment needs to change later due to requirements changing, and Ide's convert it at compile time anyway, so there really is no performance gain over one or the other.
@blockify
@blockify Жыл бұрын
I guess it’s up to personal preference. When I’m learning I use the full explicit version so I can remember all the names etc
@Brandincanterbury
@Brandincanterbury Жыл бұрын
@@blockify If you're coding on your own, it absolutely is up to personal preference. In a professional environment, you have to follow the code standards the company sets. companies are more often than not going with the "var" standard (It's even a highlighted nit in Rider), which is why I asked. Anyway, was just curious, not attempting to come down on anyone. :)
@iknowcturne7362
@iknowcturne7362 2 жыл бұрын
Hi ! Do you plan on making somes tutorial about FPS ? In mean by that, some kind of controller, shooting behaviours, recoil, reloading or any of theses subjects ? Theses are just example but i think it would be great to have some kind of tutorial from.you on this very popular type of gameplay ! Thanks for Reading 😇
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
FPS is indeed a genre I'd like to cover, I haven't really made many videos on it, only made my FPS Microgame unitycodemonkey.com/video.php?v=twMkGTqyZvI Although I did cover a bit of shooting logic in my Third Person Shooter, it's pretty much the same in first person, just different animations unitycodemonkey.com/video.php?v=FbM4CkqtOuA
@jud.su.5developer895
@jud.su.5developer895 2 жыл бұрын
Nice ❤ i play some games they’re disabled objects when player far from it and it enable it when it’s near like house when you far you can’t see but when you be close you see it is this system good? I am sorry my English not good 😅
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Hmm sure you could load a simple Billboard when the player is far away and use Addressables to load the full object as the player moves closer, that would be a good use case.
@REDACT3D
@REDACT3D 2 жыл бұрын
Hey bud, have you done a Net Code Tutorial using Visual Scripting? if so, that would be grand keep up the good work bud!
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Visual Scripting has the same nodes as C# so all the functions you see in this video can be called from VS, just make sure you add the multiplayer assemblies and all the nodes will show up
@REDACT3D
@REDACT3D 2 жыл бұрын
@@CodeMonkeyUnity beauty, thanks bud. Yeah I got the nodes going and just playing around with setting up subgraphs and such to make it easy. takes a while to translate from typed script to nodes, but totally doable. I guess what I need is to start with a login screen, most folks show how to setup the player object not so much how to setup the login screen. hard to get good feedback to see what's going on you know? like how you use your console thing
@iaderesel
@iaderesel Жыл бұрын
Where is the second video (about loading Addressables from a server)?
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
It's a lecture in the course, there's one on Addressables Remote and one on Cloud Content Delivery
@iaderesel
@iaderesel Жыл бұрын
@@CodeMonkeyUnity I see thanks, and the course is not on youtube but is paid, right?
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
Yup correct, there are some free sample videos like this one here on KZbin but the full course has all 60+ lectures.
@iaderesel
@iaderesel Жыл бұрын
@@CodeMonkeyUnity ok understandable, though I found it confusing that you mentioned in the video that you will later describe remote uses of addressables without mentioning that this will happen in another, paid video Besides that, this is clearly quality content
@lemetamax
@lemetamax 2 жыл бұрын
Apart from addressables' CDN feature, what's the difference between loading scenes (containing some parts of the game environment) additively and using addressables to load a group of the same game environment parts(labels)?
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Functionally they would be similar, if you load a scene additively it has pretty much the same result as loading a giant prefab with addressables. The main benefit is with addressables you have more control, you can make a single texture or mesh addressable, whereas with the scene method you'd need to place that object on a separate scene
@SonaliS-i8i
@SonaliS-i8i 11 ай бұрын
I'm currently working on a project and I want to load the scenes remotely through addressables. I have a doubt ,after downloading the scene 1 from cloud in play mode, will that downloaded scene remains in the project or it has to be downloaded again after exiting from the playmode
@vincentl7022
@vincentl7022 2 жыл бұрын
Can we have the same benefit with async loading of a scene, what is the tradeoff , bigger exe size ?
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Yup async loading a scene would work the same, the benefit of this system is you don't need to create an entire scene, you can individually load just a single prefab or texture or anything.
@speedeespeedboi9527
@speedeespeedboi9527 Жыл бұрын
I still get invalid key with the labels way. How to fix this?
@WelshGuitarDude
@WelshGuitarDude 7 ай бұрын
What's the purpose of groups though?
@enamulislamjisan
@enamulislamjisan 6 ай бұрын
Sprite load is not working on builds :/ even tough implementation is perfect & works in PlayModeScript set to UserAssetDatabase but does not work in other play mode script or in real build
@19_nguyenvanduong25
@19_nguyenvanduong25 Жыл бұрын
very helpful video, but can i ask you this question, i'm referencing a prefab containing 200 sprites in my script, but why using Addressable still takes 5 seconds to finish loading that prefab, seems how Doing this still doesn't load faster than the normal reference way
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
Not sure what you mean, Addressables doesn't make loading faster, it simply gives you control over when you load the asset
@mahna_mahna
@mahna_mahna Жыл бұрын
@@CodeMonkeyUnity The issue is you titled your video "How to use Addressables FASTER Loading" etc. I came here looking to find a way around some of the slow addressable loading. What you meant is "load the initial scene faster", I suppose. Even though that's still a bit (unintentionally) misleading, since the scene isn't usable without the other stuff then getting loaded.
@lachee3055
@lachee3055 Жыл бұрын
Where is the next video about cloud builds?
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
This video is a sample from my ultimate unity overview course, the other 2 lectures are in the course
@abdulwahab-wg2ok
@abdulwahab-wg2ok 2 жыл бұрын
Can you add links after every video from where you learn all the stuff, it would help us in searching our bugs, buz searching from google is skill too isn't it?.
@sneffetsd
@sneffetsd 2 жыл бұрын
Should the all the assets in a game be adressables?
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
It's a tool so that's really up to you. Maybe it makes sense to make them all addressables, maybe not. You get more control but also adds complexity.
@junnoonrafid113
@junnoonrafid113 9 ай бұрын
How can i implement it in a open world game (should i?). like should i use box triggers at different place and load the near by terrains when player triggers it, or can i make some sort of world streaming system which would load and unload terrains when the player is colse ( im not really sure of the second method definitely need some insites on this.)
@CodeMonkeyUnity
@CodeMonkeyUnity 9 ай бұрын
Yup if you have an open world game you should definitely implement some kind of world streaming system to keep your game performant. And yes you would basically split your world into multiple chunks, and load/unload chunks as the player moves through the world.
@Rook1e0ne
@Rook1e0ne 2 жыл бұрын
i got a question. why would someone choose this method instead of having multiple scenes and loading and unloading them respectively ? (watching the video , at least to my experience with mutiple scenes its the exact same functionality)
@KeyboardKrieger
@KeyboardKrieger 2 жыл бұрын
I personally would use it to store data in the cloud. You could add for example additional levels to your game without your users having to update it.
@Bothandle70
@Bothandle70 2 жыл бұрын
With this, you can micromanage assets of individual scenes too. That can give you extra performance boost. Also, main advantage of it is to store data in cloud and download new assets or update old assets without releasing new builds and also reducing the build size.
@CodeMonkeyUnity
@CodeMonkeyUnity 2 жыл бұрын
Sure, in terms of memory control both techniques can be used to similar results. I would say addressables is much easier to use if you have smaller use cases, like for example you want to load just one special enemy or a special sprite, with scene additive loading you would need to make a scene just for that enemy or sprite whereas here you just tick the box and mark it addressable. And beyond memory management the other main purpose of addressables is downloading new content from the cloud, like updated assets for a special event, can't do that with just scene additive loading.
@Rook1e0ne
@Rook1e0ne 2 жыл бұрын
Ok thank you for the replies all. I believe I understand now.
@lcd11001
@lcd11001 6 ай бұрын
Hello @CodeMonkeyUnity, How can I customize remote download URL async at runtime via script? For example, if my host require private authen token included in download URL. Thank you
@amirhossein_alimirzaei
@amirhossein_alimirzaei 9 ай бұрын
@CodeMonkeyUnity Why doesn't my memory release after instantiating an object in Addressables prefab? It starts at 65MB, goes up to 150MB, but when released it only goes down to ~120MB instead of the original 65MB. Why?
@CodeMonkeyUnity
@CodeMonkeyUnity 9 ай бұрын
It has to do with how Unity optimizes things in the background, not sure on the specifics but that's why the numbers never perfectly match.
@EnderElohim
@EnderElohim Жыл бұрын
27:13 where is next lecture?
@CodeMonkeyUnity
@CodeMonkeyUnity Жыл бұрын
This lecture is taken from my Ultimate Unity Overview course, the others ones are part of the course kzbin.info/www/bejne/jXvMpYiVbdCSjJI
every step to actually make your dream game (then sell it)
24:27
Почему Катар богатый? #shorts
0:45
Послезавтра
Рет қаралды 2 МЛН
Counter-Strike 2 - Новый кс. Cтарый я
13:10
Marmok
Рет қаралды 2,8 МЛН
Be CAREFUL with Scriptable Objects!
8:27
Code Monkey
Рет қаралды 87 М.
Speed Up Compile Times in Unity with Assembly Definitions
9:54
Game Dev Guide
Рет қаралды 94 М.
The 6 Design Patterns game devs need?
24:20
Jason Weimann (GameDev)
Рет қаралды 376 М.
Make SMALL Games! BAD Advice?
10:31
Code Monkey
Рет қаралды 19 М.
6 Years of Learning Game Development
17:20
Cobra Code
Рет қаралды 285 М.
It's not hard to make games in C++
6:23
Low Level Game Dev
Рет қаралды 108 М.
choosing a game engine is easy, actually
15:08
samyam
Рет қаралды 667 М.
How I learned Unity without following tutorials (Developing 1)
18:11
Game Maker's Toolkit
Рет қаралды 2,1 МЛН
How To Render 2 Million Objects At 120 FPS
14:57
Tarodev
Рет қаралды 152 М.
Почему Катар богатый? #shorts
0:45
Послезавтра
Рет қаралды 2 МЛН