A suggestion. Try giving these CZcams videos more descriptive names. I know I will be back to check this video again, but I won't be able to find it easily (if you upload a bunch more). Something like "One click Batch Package Install" .
It took me a while to get around to this, and I kept putting it off because the code looked beyond my capabilities to understand. But I've been rapid-firing so many different prototype ideas lately that I decided to sit down and muscle through it. It was tough, but it's already paying off *so* much. There's a great peace of mind now knowing that I start each project off exactly the same and I don't have to worry about remembering/checking whether I installed InputSystem or whatever else I like to have by default. I like how using gists also has great potential for setting up several different 'project loadouts' for different ideas. Thanks for showing me a much better way to handle the first stage of the next ten trillion prototypes I'm going to go through!
This is great Jason. Thanks for taking time to start making these videos. Really interested in some of your tried and true coding practices. Looking forward to more videos!
BTW being trying to solve a reusable code across multiple projects and I think you had ONE line in I believe this video that solved it. Was something like 'and oh btw you can edit these packages'. This allows you to import a 'library' like of code, edit the library and have it affect all the projects you work on. I should put together a complete DLL, Asset definition, Local Package, Packages video to lay out what to do across many many many project life times. And not just copy and paste code everywhere I was doing as a, even a, medium level of experience developer. Finally pushed me over to the expert level tier!!
Super nice! :D Just saw you on Weimanns stream the other day, and in Thomas' chat just now, answering questions. You really know your stuff, Jason :) Keep them coming please :D
Thank You for sharing these great Tips. Now if we mix together this Code and Methodology + your other Video's ( i.e.: A BETTER way to setup new unity projects! ): then we have a GREAT Way to start any new Project in Unity : )
Very cool way of setting up! I currently have a base unity project git that I clone and mirror when I want to create a new project. It already have the basic folders I use in every project, some basic assets and some plugins with specific configurations I always reuse. Also some of my own custom unity packages already there.
Thank you for great tutorial ! You got me thinking about Unity in a different way. For who is using Unity for VR development (using Oculus Integration package) - I created a clean manifest for VR: { "dependencies": { "com.unity.collab-proxy": "1.15.4", "com.unity.ide.rider": "2.0.7", "com.unity.progrids": "3.0.3-preview.6", "com.unity.textmeshpro": "3.0.6", "com.unity.timeline": "1.4.8", "com.unity.ugui": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", "com.unity.modules.audio": "1.0.0", "com.unity.modules.director": "1.0.0", "com.unity.modules.imageconversion": "1.0.0", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0", "com.unity.modules.particlesystem": "1.0.0", "com.unity.modules.physics": "1.0.0", "com.unity.modules.physics2d": "1.0.0", "com.unity.modules.terrain": "1.0.0", "com.unity.modules.ui": "1.0.0", "com.unity.modules.uielements": "1.0.0", "com.unity.modules.umbra": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0", "com.unity.modules.unitywebrequestwww": "1.0.0", "com.unity.modules.video": "1.0.0", "com.unity.modules.vr": "1.0.0", "com.unity.modules.xr": "1.0.0" } }
I also like having some of my own "templates" that already have the payloads installed in them that I can just pull down and run with. I also define file templates for .cs files in Visual Studio that already have the right formatting and skeleton in them to make things faster and avoid the need to copy + paste from another file and edit it to the right things. It's kind of like "prefabs" for code files and projects! 🙂
For me the packages.json doesn't show all the installed packages. Is this because it doesn't update? ie it only has the list of packages that were defined when the project was created? Also in order to add to the packages json, do you have to look up package manager to see exactly what to write in the json?
I've been looking for your video as I've seen it before, but youtube search algorithms didn't help me out since your title is just Implying it. anyway, I found your video directly from your underrated known channel cuz I see your precious live talks but... I think it would be nicer if you put the title straightforward.
Curious how you would do this for non-build in packages? Say I had an asset from the store that I use on the regular, is there anyway to import it using similar means?
I guess you look at default list and remove what you never need. i dont make VR thats gone! not making 2d games remove tilemaps. etc etc.. Maybe even make a couple default lists. URP, SRP, HDRP, 2D, 3D. up front time spent could save you time down the line. I may do this. would be nice to have a package lists that comes up fast. thinking editor window with all the ones i use and some checkboxes next to them. click save and done unity loads them all. i hate package manager clicking on a package waiting for install. clicking on the next etc etc..takes forever to setup if you want to test something quick in a new project.
Is there anyway we can do that with Google Drive etc? I generally hold my unity packages inside Google Drive, How would i access to the drive & get my packages from there?
Gistup is for Linux and Mac I made mkg to do the same but work on windows though I did not update it after getting it to work... But I figured the hard part already you just may need to update api...
Why not just copy/ paste manifest? Or even better- create own template? You have to code/ install/ paste your package to do it anyway, and then have to risk breaking the project if you (or your coworker) add new package and then your code reverts it all by accidental one click... I know, programmers never miss opportunity to take 2h to automate task that takes 2 minutes, but I just don't see a point in this automation. Downloading stuff from the git is neat though.
Not every video is an instruction. Automation as a philosophy is not something that occurs to everyone. Rather than focus on the exact example I chose, I would hope people would take the lesson that 1. Problems needn't be problems if you are willing to reason them through 2. How to remotely add files to a project, whatever that may be that best suits your projects needs, 3. How the unity dependency chain works and how that information might support your ability to solve your own problems. Though on the "make your own template" I recommend looking into that process in unity and seeing what you find easier, that or this...
@@JasonStorey Oh, yeah, I agree with those 3 points, especially 2nd is great. However the video itself looks more like instruction, and those additional lessons are less visible than the instruction part. Maybe I am the only one, but I only appreciated 2nd point after you recommended this video in array video and I re watched it, just before your comment. And for data arrays or sprites from graphics, it would be great. For manifest? Not really. I agree that automation is great, but if it saves time or is less more prone to errors, and just this exact use is worse IMHO on both accounts. And yeah, for template you need to unpack Unit's template, edit it, add own files and repack it, but it also gives much more possibilities, you can put any starting files in there, even your downloader that could download all updated other files.
The only thing I noticed with this one was that replacing the package manifest with the gist url contents is more complicated than that. The implementation shown will get the html document of that page, not just the gist contents. The raw gist url requires the specific hash to be included, making this approach slightly less convenient since you'd have to update the hash in the script every time you change the gist.
Do you post the actual scripts you create in your video somewhere? I'm happy to pause and type it out myself, but would be quicker if I can just copy and paste :P
Please do not include music in the videos. Some people find it very hard to concentrate on the video when there is music. I can't watch this and get the information from it.
I'm so glad you started making videos! I'm still trying to catch up on the game dev show, and I'm so glad I found you through it. I think you're a very talented educator, and I find value in everything that comes out of your mouth 🤓 Do you have a discord server for your followers? I'd love to chat more and see the discussions! Once again very glad to have found you... Hopefully one day I'll be a talented architect as well
Really awesome work!
Agreed
Agreed! 🙂
I love how no one found a better name other than "new input system" for the input system that exists for multiple years now.
It could have been called Input System One Series X
It's called the Nintendo Naming Convention. It seems to work somehow
A suggestion. Try giving these CZcams videos more descriptive names. I know I will be back to check this video again, but I won't be able to find it easily (if you upload a bunch more). Something like "One click Batch Package Install" .
But again, sometimes other types of titles are better for getting views- Try to watch Veritasium
on it: czcams.com/video/S2xHZPH5Sng/video.html
only if you can also make it clickbaity
It took me a while to get around to this, and I kept putting it off because the code looked beyond my capabilities to understand. But I've been rapid-firing so many different prototype ideas lately that I decided to sit down and muscle through it. It was tough, but it's already paying off *so* much. There's a great peace of mind now knowing that I start each project off exactly the same and I don't have to worry about remembering/checking whether I installed InputSystem or whatever else I like to have by default. I like how using gists also has great potential for setting up several different 'project loadouts' for different ideas.
Thanks for showing me a much better way to handle the first stage of the next ten trillion prototypes I'm going to go through!
Content: A+
Video: Use Rider theme with more contrast
Audio: Muzak slightly too loud
You absolute hero.
This is great Jason. Thanks for taking time to start making these videos. Really interested in some of your tried and true coding practices. Looking forward to more videos!
this videos are hidden gem why is there just six
like they are so high quality
and so good
BTW being trying to solve a reusable code across multiple projects and I think you had ONE line in I believe this video that solved it. Was something like 'and oh btw you can edit these packages'. This allows you to import a 'library' like of code, edit the library and have it affect all the projects you work on.
I should put together a complete DLL, Asset definition, Local Package, Packages video to lay out what to do across many many many project life times. And not just copy and paste code everywhere I was doing as a, even a, medium level of experience developer. Finally pushed me over to the expert level tier!!
Every time jason storey talks its like listening to some yoda level programing lesson. Dear sweet baby yoda please let this man keep making videos.
Very helpful, thank you 🙂
Super nice! :D Just saw you on Weimanns stream the other day, and in Thomas' chat just now, answering questions. You really know your stuff, Jason :) Keep them coming please :D
Dude I discovered your channel yesterday and I am in love with your content. Amazing stuff and so useful
You are amazing bro!!
Oh what a super hint, thanks a lot, besides this time-saver it helped me also in understanding how to integrate own menus and handling async requests.
Cool content 👍 A feature I would love is to automatically remove all packages that aren't used.
you are the best! thanks for making these videos. on infallible code your inputs are always opening up so many things I didn't know about.
thank you
Thank You for sharing these great Tips.
Now if we mix together this Code and Methodology + your other Video's ( i.e.: A BETTER way to setup new unity projects! ): then we have a GREAT Way to start any new Project in Unity : )
Thanks for these videos Jason. Keep up the great tips, tricks and lessons!
I am flipping over your videos please make more 😍
Keep making this insanely useful videos!!
Dang that's some good info right there. Time saves are great.
You write the instructions of the productivity gods!
Thanks Jason, great content!
Very cool way of setting up! I currently have a base unity project git that I clone and mirror when I want to create a new project. It already have the basic folders I use in every project, some basic assets and some plugins with specific configurations I always reuse. Also some of my own custom unity packages already there.
Thank you for great tutorial ! You got me thinking about Unity in a different way.
For who is using Unity for VR development (using Oculus Integration package) - I created a clean manifest for VR:
{
"dependencies": {
"com.unity.collab-proxy": "1.15.4",
"com.unity.ide.rider": "2.0.7",
"com.unity.progrids": "3.0.3-preview.6",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.4.8",
"com.unity.ugui": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.director": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.particlesystem": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.physics2d": "1.0.0",
"com.unity.modules.terrain": "1.0.0",
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.uielements": "1.0.0",
"com.unity.modules.umbra": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.unitywebrequestwww": "1.0.0",
"com.unity.modules.video": "1.0.0",
"com.unity.modules.vr": "1.0.0",
"com.unity.modules.xr": "1.0.0"
}
}
Great stuff, nice and concise, thank you!
Thanks man! :)
I also like having some of my own "templates" that already have the payloads installed in them that I can just pull down and run with. I also define file templates for .cs files in Visual Studio that already have the right formatting and skeleton in them to make things faster and avoid the need to copy + paste from another file and edit it to the right things. It's kind of like "prefabs" for code files and projects! 🙂
Love it! Thank you!
Great content Jason :) thank you
That's a master level of tip!
Awesome stuff!
I used to just have a "template" project saved with everything I wanted that I would duplicate and rename for each new project XD
DOPE!
Thanks a lot!
Isn't the ToolsMenu class responsible of doing multiple things even after refactoring?
Thanks for the great video!
Nope ? Only responsible to register menus
For me the packages.json doesn't show all the installed packages. Is this because it doesn't update? ie it only has the list of packages that were defined when the project was created?
Also in order to add to the packages json, do you have to look up package manager to see exactly what to write in the json?
Are you Steve Wozniak's son? But fr love your videos they're super helpful :D
Thanks Jason, I wonder if there's also a way to download core assets we use, like this.
I've been looking for your video as I've seen it before, but youtube search algorithms didn't help me out since your title is just Implying it.
anyway, I found your video directly from your underrated known channel cuz I see your precious live talks but...
I think it would be nicer if you put the title straightforward.
Curious how you would do this for non-build in packages? Say I had an asset from the store that I use on the regular, is there anyway to import it using similar means?
Did you ever figure this out? I'd love to be able to do this but I'm not well versed in this sort of stuff.
Genius!
support your channel pro
I can think of several packages you basically always want (cinemachine for example), but what are the packages you commonly want to get rid of?
I guess you look at default list and remove what you never need. i dont make VR thats gone! not making 2d games remove tilemaps. etc etc.. Maybe even make a couple default lists. URP, SRP, HDRP, 2D, 3D. up front time spent could save you time down the line. I may do this. would be nice to have a package lists that comes up fast. thinking editor window with all the ones i use and some checkboxes next to them. click save and done unity loads them all. i hate package manager clicking on a package waiting for install. clicking on the next etc etc..takes forever to setup if you want to test something quick in a new project.
Is there anyway we can do that with Google Drive etc? I generally hold my unity packages inside Google Drive, How would i access to the drive & get my packages from there?
I can't stop watching lol
Hell yes
Gistup is for Linux and Mac I made mkg to do the same but work on windows though I did not update it after getting it to work... But I figured the hard part already you just may need to update api...
You don't need to install new package for yet another Unity project, if you working on single project whole time 😄😅🙂🙃😥😭
Anyone know the font being used? Looks very clean.
Time to get lernt!
Les go
Why not just copy/ paste manifest? Or even better- create own template? You have to code/ install/ paste your package to do it anyway, and then have to risk breaking the project if you (or your coworker) add new package and then your code reverts it all by accidental one click... I know, programmers never miss opportunity to take 2h to automate task that takes 2 minutes, but I just don't see a point in this automation.
Downloading stuff from the git is neat though.
Not every video is an instruction. Automation as a philosophy is not something that occurs to everyone. Rather than focus on the exact example I chose, I would hope people would take the lesson that 1. Problems needn't be problems if you are willing to reason them through 2. How to remotely add files to a project, whatever that may be that best suits your projects needs, 3. How the unity dependency chain works and how that information might support your ability to solve your own problems.
Though on the "make your own template" I recommend looking into that process in unity and seeing what you find easier, that or this...
@@JasonStorey Oh, yeah, I agree with those 3 points, especially 2nd is great. However the video itself looks more like instruction, and those additional lessons are less visible than the instruction part. Maybe I am the only one, but I only appreciated 2nd point after you recommended this video in array video and I re watched it, just before your comment. And for data arrays or sprites from graphics, it would be great. For manifest? Not really.
I agree that automation is great, but if it saves time or is less more prone to errors, and just this exact use is worse IMHO on both accounts.
And yeah, for template you need to unpack Unit's template, edit it, add own files and repack it, but it also gives much more possibilities, you can put any starting files in there, even your downloader that could download all updated other files.
The only thing I noticed with this one was that replacing the package manifest with the gist url contents is more complicated than that.
The implementation shown will get the html document of that page, not just the gist contents.
The raw gist url requires the specific hash to be included, making this approach slightly less convenient since you'd have to update the hash in the script every time you change the gist.
yo my good looking beard-face guy. can u put link to script so we can download that ?
Do you post the actual scripts you create in your video somewhere?
I'm happy to pause and type it out myself, but would be quicker if I can just copy and paste :P
Eyeballs pop out of head and then explodes
Please do not include music in the videos. Some people find it very hard to concentrate on the video when there is music. I can't watch this and get the information from it.
I'm so glad you started making videos! I'm still trying to catch up on the game dev show, and I'm so glad I found you through it. I think you're a very talented educator, and I find value in everything that comes out of your mouth 🤓
Do you have a discord server for your followers? I'd love to chat more and see the discussions! Once again very glad to have found you... Hopefully one day I'll be a talented architect as well