Do these 7 things for EVERY game!

Follow these 7 steps when starting any game project to avoid the pitfalls and pains of failure. These steps apply to Unity3D and Unreal or any other engine you as a game developer decide to use.
0:00 - Why you should Care
1:03 - #1 - Source Control (Collaborate, Git, Perforce, SVN, PlasticSCM)
2:45 - #2 - Deployment & Integration Automation (Easy at the Start!)
5:39 - #3 - Setup Unity Project Folder Structure (Scripts, Art, Asset Packs, and Prefabs)
6:12 - #4 - Sandbox Project (For cleaning Asset Store Asset Packs and experimenting)
8:16 - #5 - Plan! - Try Trello or Hack & Plan
9:56 - #6 - Share Progress (WebGL or Steam)
11:59 - #7 - Vertical Slice FIRST!
14:04 - #8 - What's Next
Check out the Programmer Course: game.courses/programmer?ref=15
Join the Group: unity3d.group
Patreon: / unity3dcollege

Пікірлер: 264

  • @shaynebuk
    @shaynebuk3 жыл бұрын

    Number 4 is the one I wish I'd done before my project got too far down the road. My project is HUGE and it doesn't need to be. Far too much clutter. But there are simply too many files to go through and work out which are needed and which are not. Next time I'll not make the same mistake... Maybe unity could implement a 'clean the project tool' which just removes anything not actually used.

  • @ThexJOxlol

    @ThexJOxlol

    3 жыл бұрын

    What I did to fix that was exporting the scenes I needed with their dependencies as a package. This way you can start clean and only import what you really need through this package.

  • @TYNEPUNK

    @TYNEPUNK

    3 жыл бұрын

    Tell me about it my game has 700k files !!!

  • @fidel_soto

    @fidel_soto

    3 жыл бұрын

    There is a tool for that in the asset store

  • @Braneloc

    @Braneloc

    3 жыл бұрын

    @@fidel_soto Post a link ?

  • @fidel_soto

    @fidel_soto

    3 жыл бұрын

    Check out asset cleaner, asset usage finder, asset hunter pro, and maintainer. Maybe one of those fits your needs.

  • @infokubarcade
    @infokubarcade3 жыл бұрын

    A little advice about "sharing" : take screenshots for everything. It will allow you to show your progress for others, and to see where you go through for yourself. It's important to see all the road you built, and to congrats yourself for the evolutions you made.

  • @loconeko42
    @loconeko422 жыл бұрын

    What Jason highlights here is ESSENTIAL FOR SUCCESS. I am restarting my game project after a few months. The first time I gave up because I didn't do #2, #3, #4, #6 and #7 properly. As usual, this is very useful content both for seasoned devs and beginners. Thanks Jason !

  • @supercyclone8342
    @supercyclone83423 жыл бұрын

    I don't think I've ever seen a more effective thumbnail XD

  • @malikvalley

    @malikvalley

    3 жыл бұрын

    - So now I'm going to do a cool thumbnail of the video... *Opens KZread* - Oh... amm... I guess ... I'll leave it that way!

  • @MrBensella
    @MrBensella3 жыл бұрын

    What not to do: don’t buy assets before you even have a basic skeleton project..

  • @makulVR

    @makulVR

    3 жыл бұрын

    Back in days of Unity 4 and 5 I bought the PRO version for 1500 bucks when I was 16 just because "I wanted to learn how to make a "Pro" game". I spend all the money I had saved to this day. I lost interesst two months later because of the enormous complexity of game development and now, 5 years later, having my science degree I start again to make a game as a hobby: with Unity free.

  • @maow9240

    @maow9240

    2 жыл бұрын

    Browsing through the unity asset store during sales really isn't a bad idea or occasionally sites humble bundle will have sells on asset which offer a lot of stuff to work with. $380 worth of assets for 15 to 30 bucks really isn't that bad of a deal

  • @aldigangster123
    @aldigangster1233 жыл бұрын

    for #4 I've got a nice additional tip: Create a "_Project" folder where your actual files and folder structures are located in. Then you can just import any package and don't care at all where it is extracted to. You will always find YOUR folders/files in _Project\... immediately.

  • @dreamingacacia
    @dreamingacacia3 жыл бұрын

    Many people that I know are struggling because of design side and they're quite good at development but they're refuse to get help, just because they wanted the game to be theirs. I mean they're all solo developers just like me so it's normal. But my own problem is kinda different because I'm more of a game designer which good on planning and design stuffs including a certain level of arts, I'm struggling at having to develop the game from just prototyping one to even smaller project than this. Well I learned a lot but it seems there is something in the middle that I needed but don't know where to find, this make me be like cannot progress in many ways and I was burnout for quite sometime now. When I type more about this I'm also analyzing things involved here, I think that I was overwhelmed by the fact that I have to think about everything including marketing part where I never found myself success, but I know that we gotta start somewhere so I'm not gonna give up yet. Now I need to analyze in where I failed so hard and what is my actual goal is. I took a step back and think about it, carefully analyze stuffs. It seems that I lack the clear vision of my own goal rather than others, at least right now though the fact that my skills are not that great is still there but it would be like a headless chicken run if I'm continuing like this. At first I planned to just take a long holiday until new year before I touch anything about my projects, but when I really freed from my mind that always think about the project I then realized that actually I have nothing to do at all. It's free to the point that I have enough time to think about my problems, why do I not even have a single completed game publish commercially yet even though I'm desperate in making money. And the fact hit my head hard, Because I'm blinded by that desperation and the feeling of rushing to success. As we're going to 2021 it's about change and new goal and everything, many people will plan to reduce their weight but inevitably fail every single years. I already analyzed about this and got the conclusion as because people are not ready for what they wanted to do. So I analyzed my situation again, as before this I did 21 days challenge to change my habits in my daily routine and then realized that it's not only about that and the routine schedule only stressed me out more than helping me achieve my goals. But I also learned several things along the way. First I realized that I don't need to force myself into anything to work, when I wanted to work I would got absorbed into my own world and totally forgot about surrounding. Second It's more efficient to analyze stuffs when I wanted to rather than just do it every single time. Third I think it's way more efficient to focus on a specific field that related to my goals whether it's about study or experiments. In conclusion I think that I need to work on rough plan then I'll extract the "fun part" out of this so that I could start to develop games out of just one idea. My first goal would be just finish the prototype Then I'm gonna use my skills to design the whole game with just one level Last I'm gonna put a chapter of story and expand the game to fit it. Though it's more like unfinished story here but in my head it's similar to short story. Even with these 3 goals, it's still a lot of work to do and I don't think I could finish within a short period of time. Though my soft deadline would be around February.

  • @autorotate1803
    @autorotate18033 жыл бұрын

    How do you do the continuous integration, Jason? I think this would really help out with early and frequent testing too. Maybe you'd do a tutorial? :)

  • @ruslan_yefimov

    @ruslan_yefimov

    Жыл бұрын

    Dude, just try

  • @Noirjk

    @Noirjk

    8 ай бұрын

    Did you do it?

  • @halivudestevez2

    @halivudestevez2

    7 ай бұрын

    Unity has a service for this. Unity can make a Build on its server.

  • @halivudestevez2
    @halivudestevez23 жыл бұрын

    Some bit I suggest: if you use git, don't forget to setup the .gitignore file, there are templates out there on the web, you can copy and use that. Save space, save commit and pull times if possible.

  • @-will-1389
    @-will-13893 жыл бұрын

    a Jason Wiemann video is a great way to wake up, because my of my timezone this video was uploaded right when i wake up, perfect.

  • @TheFakeMnim
    @TheFakeMnim3 жыл бұрын

    damn, thumbnail caught my attention. i thought, there was something wrong with youtube

  • @MaZyYTube
    @MaZyYTube3 жыл бұрын

    5:39 - Folder Structure. I do most time "Game" and sometimes "_Game" folder where I put actually all my own stuff and all other stuff like from asset store will create own folders. So I can see the different between my actually game and 3rd party assets. Long time I did "Prefabs" folder too. But many times I decided to make for own Prefab own folder. Example "Game/Units/NameOfUnit/" there is a prefab, the scripts which is exclusiv for this prefab and models. Makes easier to find and handle it. If I have prefab folder I most time search for model, or scripts and takes me time sometimes. If I want to get all Prefabs I click just on the Prefab in the Favorite list.

  • @tonymengelkoch7413
    @tonymengelkoch74133 жыл бұрын

    Awesome advice as always. Thank you!

  • @jeronimosanchez2014
    @jeronimosanchez20143 жыл бұрын

    Every single one of this steps is gold, thank you very much!

  • @iangraham6730
    @iangraham67303 жыл бұрын

    Great tips, thanks for sharing Jason!

  • @supertenchoo4271
    @supertenchoo42712 жыл бұрын

    Watching again at 2021/ December/23 ..great tips great video

  • @Krahkarq
    @Krahkarq3 жыл бұрын

    I do use some of your recommendations beforehand but you made it complete. Thank you so much !

  • @MrYTThor
    @MrYTThor3 жыл бұрын

    I watch you videos a lot and i think it's time to write a comment: Thank you for you good videos and help. You are amazing. Keep it going. You are helping a lot of young game designers to come a step closer to their dreams.

  • @kjmyer
    @kjmyer2 жыл бұрын

    Great tips. Thanks Jason.

  • @h0td0gman123
    @h0td0gman1233 жыл бұрын

    These are great practical tips for developers who want to actually finish their game. An independent developers most valuable resource is their time and all these tips will save so much time. Great content as usual!

  • @PrinceOfLostKingdom841
    @PrinceOfLostKingdom8412 жыл бұрын

    Thanks for all these suggestions, It's very helped me a lot. I can optimize my game project just by following these steps.

  • @hackomordy774
    @hackomordy7743 жыл бұрын

    Can someone link a video that helps with CI/CD for Unity with Github? I found a few but some were explained well and some were incomplete. Thanks!

  • @Roughneck7712
    @Roughneck77123 жыл бұрын

    Great video with fantastic advice. Thank you!

  • @vladrootgmailcom
    @vladrootgmailcom3 жыл бұрын

    As one, who used Unity Collaborate for 2 weeks I'd say - use Git, bro.

  • @vladrootgmailcom

    @vladrootgmailcom

    3 жыл бұрын

    @@ic6406 well, then it's time to learn :)

  • @autorotate1803

    @autorotate1803

    3 жыл бұрын

    @@ic6406 I was really intimidated by git too and I would categorize myself as a programmer. I watched and read a bunch of videos/how-to guides and I used Source Tree... it is not as bad as I had thought. It is one of those things that sounds scary but once you get used to it's pretty simple.

  • @vladrootgmailcom

    @vladrootgmailcom

    3 жыл бұрын

    @@autorotate1803 exactly! Some people just promote git only as a command line tool and it's really intimidating like that. I use Tortoise Git - it's straight and simple. Pull, Commit, Push - that's all you need to know at the start.

  • @echtogammut

    @echtogammut

    3 жыл бұрын

    For people that find Git as too intimidating or too much work to learn, use Git Desktop and the plugins for VS/Unity (actually maybe not the plugin for Unity it's pretty buggy). I will say his step 4 is pretty crucial to having an effective source control as it becomes a full time job cleaning up project and test files from your source control.

  • @echtogammut

    @echtogammut

    3 жыл бұрын

    @@Riskteven It's really easy. Use Sourcetree or Github to setup a repository folder. Then create your project and point to that folder. Here is a quick tutorial: kzread.info/dash/bejne/dKCJzsaMpbLNdMY.html

  • @danielleal4336
    @danielleal43363 жыл бұрын

    That's an Amazing video Jason! I really aprecciate your valuable tips

  • @scottisitt
    @scottisitt2 жыл бұрын

    Great stuff, Jason!

  • @Heisenberg-xc8ub
    @Heisenberg-xc8ub Жыл бұрын

    Wish I'd seen this sooner. You're really helpful man, appreciate this.

  • @benjaminlehmann
    @benjaminlehmann Жыл бұрын

    That's a lot of very helpful insight. Thanks :D

  • @nazgulkaine
    @nazgulkaine2 жыл бұрын

    Great advice, I'm new to game development and I will definitely check these out.

  • @holdthetruthhostage
    @holdthetruthhostage Жыл бұрын

    This was Golden, well said especially Part 5 - 7

  • @hplovecraftmacncheese
    @hplovecraftmacncheese2 жыл бұрын

    These tips have their own section on my plan document. Thanks for the valuable content.

  • @hawkgamedev
    @hawkgamedev2 жыл бұрын

    You and other devs inspired me to start my unity journey thanks.

  • @user-em9su3dd9y
    @user-em9su3dd9y2 жыл бұрын

    Thank you, great stuff.

  • @InexperiencedDeveloper
    @InexperiencedDeveloper3 жыл бұрын

    Number 7 - imo one of the most important parts, and the only one I really do 😂

  • @jarrettonions3392
    @jarrettonions33923 ай бұрын

    These are some very useful hasstle saver tips... thanks

  • @Mrjononotbono
    @Mrjononotbono Жыл бұрын

    Love your videos man. As a beginner its so useful for me! Many thanks!

  • @gamedevstanislove
    @gamedevstanislove3 жыл бұрын

    Thanks a lot for the helpful tips!

  • @kyleashley
    @kyleashley2 жыл бұрын

    Perfect , thanks, great advice.

  • @MarkOffenberg
    @MarkOffenberg3 жыл бұрын

    Number 7 is the most importent one indeed.. A year ago i was working on a game, but dropped it after a few months. I was trying to make multiple features at once and overengineering everything. I couldn't get the game to be fun & kept refactoring the same pieces of code. Now i've picked it back up again and am focusing only on the core movement mechanic for now. Progress is a lot faster and i'm making a lot less bugs :)

  • @the_cosmicat
    @the_cosmicat3 жыл бұрын

    Thank you, there was some really helpful info in here

  • @AlexGorskov
    @AlexGorskov2 жыл бұрын

    Great advise!!!

  • @danielgarciagonzalez2391
    @danielgarciagonzalez23912 жыл бұрын

    Very ninteresting points. thank you for sharing!

  • @mortenmller3114
    @mortenmller31143 жыл бұрын

    Great recommendations. I already use all 7 tips for gameDev - since similar advice was taught at my university - but it cannot be repeated enough. Especially "Vertical Slice", "Source Control" and "Trello" have made my game development go so much smoother. Cannot recommend it enough :)

  • @icedragongamemaster6797
    @icedragongamemaster67973 жыл бұрын

    Number 4 is gold advice!

  • @Xeratas
    @Xeratas3 жыл бұрын

    Gr8 reminder video.

  • @jaimemedina3351
    @jaimemedina33513 жыл бұрын

    Such great points. I've been writing business apps in c# since 2001 and it's refreshing to hear this kind of rigor. I take a lot of time setting up new projects (SCM & CI) and its extremely validating to hear Jason echo best practices! The sandbox approach is so great for testing. I always setup both a sandbox project and sandbox scene (for better in game context). Also, an iterative (step by step) approach is such a great way to push forward on a project. It helps me break down large tasks in to smaller more quickly achievable ones. Step 7 also is great because it's similar to a test driven approach where you code small and test, code small then test. That feedback is so important. The main take-a-way for me is the vertical slice idea. I'm an agile dev evangelist and this approaches a concept we use called MVP (minimal viable product); a first pass that touches as many concepts as possible even if they're broad stroke. This is key for both validation and verification of game concepts. Big thumbs up from me!

  • @a.technology1446
    @a.technology14463 жыл бұрын

    thank u for sharing ur knowledge 👍

  • @Benalyss
    @Benalyss3 жыл бұрын

    I love your videos ! It would be great to have one dedicated to #2 :D

  • @Only944
    @Only9442 жыл бұрын

    Working on my first game for the last 5 months and some of this advice I could have really used! Planning is a big one. I wish I would have planned more. My menu has a lot of options and knowing what I wanted to put in the menu before starting would have saved SO much time. I keep adding and changing things and it's annoying and creates a lot of work. And the same for the game. Should have planned more. Also I relate to breaking the whole game and getting very frustrated! Save a backup often in anyway you can. It's very helpful. I will copy the code from a script to a word document as a backup if I'm going to be doing a lot of changes that might break something. :) And a sandbox for the assets is a great idea. I need to do a little asset cleaning on my project. I've also learned that assets are just not helpful for my game. There is nothing that worked or I could use, and coding and making things myself was better and keeps everything looking cohesive in the game.

  • @yigithanion
    @yigithanion3 жыл бұрын

    Awesome! More advice videos would be great.

  • @Unity3dCollege

    @Unity3dCollege

    3 жыл бұрын

    More to come!

  • @Khaldryn
    @Khaldryn Жыл бұрын

    Amazing tips! My wife and I have decided Game Development is something we want to pursue. We are passionate and driven to do it and we have followed many other tutorials but find your tutorials and advice to be the best by far. We are also looking into your game course if, after several months of self learning, we feel we still need/want more centered guidance. Thank you for all your help.

  • @raphaelvonalchemy7390

    @raphaelvonalchemy7390

    11 ай бұрын

    Since I suspect you know more than I do on the subject, what other channels/videos/articles you'd recommend for another aspiring game dev?

  • @krzysztofjarzyna4225
    @krzysztofjarzyna42253 жыл бұрын

    You are a legend. Thank you!

  • @placebo_yue
    @placebo_yue3 жыл бұрын

    point number 4 is a HUGE advice, i've been doing it since forever because you learn sooner or later that importing stuff usually fills your projects with lots of garbage unused, or worse, breaks your project completely.

  • @romulino
    @romulino3 жыл бұрын

    Great advice like always

  • @mic007129
    @mic0071293 жыл бұрын

    I'm good with most of those tips but I agree, I spend too much on details while I should focus on finishing the vertical slice. Can't wait to finish mine and send it to get some feedback.

  • @faltatchannel4373
    @faltatchannel43732 жыл бұрын

    I really liked the idea of creating a project just to keep the assets in it, thank you

  • @EnderElohim
    @EnderElohim3 жыл бұрын

    Yep first move i make after create a project is creating empty folders on it for basic stuff and immediately push to git :D

  • @jamesjuke1748
    @jamesjuke17483 жыл бұрын

    This was actually really helpful. I am a new and aspiring game developer, I do not always know what to do and where to go. This was a great list that will helo me when creating my games, #1 has killed a few of my ideas when it messed up.

  • @raphaelvonalchemy7390

    @raphaelvonalchemy7390

    11 ай бұрын

    Hi, just checking to know where you're at rn? Curious to know, since I'm just an aspiring game developer rn, just as you were 2 years ago.

  • @michaelberna987
    @michaelberna9872 жыл бұрын

    I've been thinking about getting source control since I want to have a friend help me with this. This video was recommended at the perfect time. I've been using a versioned off-site backup for my oopsie saviour and it's been working well so far. I will continue to use it as a redundancy, but I like the idea of source control for helping collaborate.

  • @zekiozdemir420
    @zekiozdemir4202 жыл бұрын

    thank you!

  • @holmbergen
    @holmbergen3 жыл бұрын

    For #4 I've been using the Unity Package Manager to create packages for assets/code that I find I can share between projects (I got many prototypes :

  • @TYNEPUNK
    @TYNEPUNK3 жыл бұрын

    I'm watching this at 430am in a pegoda in Taiwan in the rain yay

  • @Unity3dCollege

    @Unity3dCollege

    3 жыл бұрын

    coincidentally I came up w/ the idea for this video around 430am my time :)

  • @a-gaming7261

    @a-gaming7261

    3 жыл бұрын

    It's 11 o'clock in Egypt I'm watching this laying on bed waiting for it to be 12 :)

  • @TYNEPUNK

    @TYNEPUNK

    3 жыл бұрын

    @@Unity3dCollege nice did I mention I'm drinking Heineken while light bakes at home lol

  • @a-gaming7261

    @a-gaming7261

    3 жыл бұрын

    Wait! I posted the same comment twice by accident? Sorry :)

  • @TYNEPUNK

    @TYNEPUNK

    3 жыл бұрын

    @@a-gaming7261 I liked them both :)

  • @DeepWorksStudios
    @DeepWorksStudios3 жыл бұрын

    Even now while I already switched from unity to unreal ur still gold Thanks for the great content ur producing

  • @Unity3dCollege

    @Unity3dCollege

    3 жыл бұрын

    I appreciate that!

  • @bobsmithy3103
    @bobsmithy3103 Жыл бұрын

    plan - what you can do each day. Bite size goals get feedback early - will inform you if product is viable or alternative dev routes establish core game first - create the core vertical slice of your game and test its viability b4 adding more systems horizontally.

  • @carolcocuzzo
    @carolcocuzzo2 жыл бұрын

    I love your videos! Thanks a lot :)

  • @isaiasmedina6998
    @isaiasmedina69983 жыл бұрын

    thanks for the wisdom, wise one

  • @walterdjr
    @walterdjr3 жыл бұрын

    @Jason Weimann are you going to do a video on CI-CD setup?

  • @midniteoilsoftware

    @midniteoilsoftware

    3 жыл бұрын

    Please :)

  • @bslayerw
    @bslayerw3 жыл бұрын

    Something I've learned over the years is that "DevOps" is essential to success. Setting up your project right, from the beginning, getting manual tasks automated! After the initial teething problems you'll figure out how to use your pipeline for every new project no matter how big or small. I expose all those sorts of things via menus, for example, "build for all platforms", does exactly that, "Deploy all to itch.io", takes all the builds (that are versioned using built-in stuff with git) and sends them off to itch.io. Setup a template project that you use to start anything new that contains all your essential packages, utility scripts you commonly use, etc, check that into git. You can even make it a template in git to create new repositories right from Github to start a new project. Good developers are lazy developers, automate! Oh and put everything you need to do (or would like to do) in something like Trello, add links to things like tutorials you watch to implement certain "cards/features" in the comment section. You can not only plan in one of these PM systems but document a lot too. You can even hook trello up to git to automatically move tasks to "done" when you commit them to git.

  • @erogin7187
    @erogin71873 жыл бұрын

    Such an important message about not being worried about having your idea stolen. Chances are your game is a close derivative of something else already. Sharing early should help prove previous art too. Minecraft is the best example of why sharing early is a good idea.

  • @Bloodthirst
    @Bloodthirst3 жыл бұрын

    One thing i would add is have a personal repo where u put custom tools , scripts , plugins and utils to avoid code duplication and rewriting stuff, this has saved me a lotta time and pushed me to maintain and improve the custom tools during every project, this is especially easy using a unity custom package with upm and git.

  • @jwgdev2222
    @jwgdev22223 жыл бұрын

    Hi Jason, great advise, same I share for designers ;-)

  • @stanek
    @stanek3 жыл бұрын

    Do you have recommendations on CI/CD for Unity? Perhaps you can make a video! I am interested!

  • @occularmalice
    @occularmalice3 жыл бұрын

    About #3 the practice I do is creating a folder off Assets named the same as my project (Assets/MyProject). Then I create everything under that folder with my stuff (Scripts, Prefabs, Art, Scenes, etc.). Then any assets I bring in they just go under Assets wherever they need to live. I do this because a) I don't have to worry about any collisions with other assets and b) it's easy to identify my stuff vs. third party stuff. Sometimes you get an asset that will dump stuff under Assets and Plugins folder off the root and if you have your own stuff off the root some asset may clobber your stuff or create a conflict. The other tip is that I *always* set my namespace in my games code. By default Unity just dumps everything in the global namespace but I always put my code in my namespace so this gets around problems when say an asset creates a class named GameManager or InputManager and it conflicts with yours.

  • @zekiozdemir420
    @zekiozdemir4202 жыл бұрын

    thank you

  • @RickyWiild
    @RickyWiild3 жыл бұрын

    subbed, thanks for the great video

  • @Jeea84
    @Jeea842 жыл бұрын

    I wish I’d known about number 7 sooner…. Thanks a lot for these advices, Jason! They were all very helpful. Your tip about source control is especially important, I’ve been using Unity Collaborate since the start, but it has loads of problems and only 2GB (or was it 5?) storage space, and that’s also a problem. I also think that one of thefirst steps before you start working on your game in UNITY, is to understand what kind of game you actually want to make. An idea is where it starts, yes, but in today’s time, the genres are quite important. By genre I mean, metroidvania, platformer, RPG, etc. Also, the main player is very important. His skilltree can, many times, make or break your game. What you said about making the most interesting part of the game would probably be joined with this. Only moving and jumping is not enough. If he has magic powers, his powers need to evolve with every level. And a level, can be a different environment or it can just be a point in one environment where the player collects a specific item. Such things, these “complications“ as I refer to them, are very important to a gameplay and it’s essntial that we write them down somewhere before we start working on them in the game engine. Because when we write something, we will be able to decide which of those things can be eliminated. Of course, many people would prefer to just jump right into it. But we can only do so much by directly jumping into it. At some point we’ll have to take a step back and see what’s missing and whats been overdone, and go change it. I learned this the hard way. It was difficult for me to delete certain parts of my environment that was attracting me but was not very necessary. Or changing the player. Or deciding not to give him an extra weapon, etc. Sorry, my comment went a bit too long. But I really hope someone will be able to benefit from reading this. Thanks again, Jason!

  • @baroquedub
    @baroquedub3 жыл бұрын

    Hacknplan is a great game dev focused alternative to trello. There's a free tier. Also I often import a small number of editor scripts or assets that make the Unity Editor better all round. Everyone will have their own but it's definitely a step I would have added. Odin, Project Search and Replace, Technie Colliders, and a few of my own are just some examples

  • @victoraurelius5334
    @victoraurelius53343 жыл бұрын

    Hey, these are great tips! Maybe you could do a separate video on "Deployment & Integration Automation". That is new to me and sounds very interesting. From what I understand, Unity provides something like this in their "Unity Teams Advanced" which costs ~10$/month. Wondering if you are using a free solution?

  • @EngiNetion
    @EngiNetion3 жыл бұрын

    Awesome

  • @jm-ne7rl
    @jm-ne7rl2 жыл бұрын

    Regarding project organization, what I recently switched to is organizing relationship, rather than by type. So if I'm adding a weapon, I'll make an /Items/Weapons/WeaponName/ folder. That folder gets the model, sprites, the prefab, any custom scripts, and generally just anything that's related to that weapon. Then, if I decide to ditch this specific weapon, all I have to do is delete the /WeaponName folder and I'm done. No hunting through all kinds of folders just to find that one sprite you forgot to rename, and you're sure you got everything.

  • @StevenBloomfield
    @StevenBloomfield3 жыл бұрын

    Good idea on the assets especially if you are checking into git where you might have a 1GB LFS limit.

  • @devinweidinger3812
    @devinweidinger38123 жыл бұрын

    Good advice! Unity Collab and Unity Cloud build is a good start for noobies in the first two. I sometimes use it for really small projects I do solo like game jams. I'd like to see some do nots! A lot of these tips already help with some do nots like Do not break the build, Do not over engineer (focus on vertical slice). But another good one would be to not make tasks that are really large, keep them very small and compact so you can get that constant feeling of progress. Do not work in a bubble. Join a community, share, and talk about your project to stay motivated. And last do not ignore solid principles - modular solutions are essential to remaining agile even in jams.

  • @DePistolero
    @DePistolero3 жыл бұрын

    Good one!! For folders I like my priority folders at top _00Scene, _01Scripts, _02Prefabs...

  • @MaiconMatos08

    @MaiconMatos08

    3 жыл бұрын

    I Like To Use This Same Tactic

  • @FranFyrhart
    @FranFyrhart3 жыл бұрын

    It seems it hasn't been mentioned yet but for source control, try giving Plastic SCM a look. It's a really good centralized version control system that also has support for branching like in Git. It also has good integration with Unity so you can do all your source control things in Unity without having to check the client app all the time. It also has a really nice UI if that's a factor you consider.

  • @cubeflinger
    @cubeflinger3 жыл бұрын

    Quickly becoming my favout channel as I learn how to make a game :)

  • @Oribaru
    @Oribaru3 жыл бұрын

    Thanks for the insights! A question to item #2: I tried Unity CI (Continuous Integration) but realized that its not available for my hobby Unity license. Do you know another way to do it? Maybe set up CI on my own Hardware?

  • @legendaryswordsman2279
    @legendaryswordsman22792 жыл бұрын

    Nice vide thx for the advice

  • @CorckSnipe
    @CorckSnipe3 жыл бұрын

    A more advanced technique than the vertical slice is the "minimum viable product", it comes from general software development and in game design we call it "proof of concept" Instead of developping the whole "feel" of the game and then expand we make the core gameplay and test it to death to see if it's fun and what kind of emergent gameplay behaviours players will come out with I use it all the time when I start small projects

  • @ilovecokeslurpees
    @ilovecokeslurpees3 жыл бұрын

    Questions for you Jason on your project setup: 1) For CI/CD, what do you use that works well with Unity? In my enterprise job, we use Azure DevOps and I have some familiarity with AzDO as I have setup a solution and pipelines for that (but I'm more of a developer than a Release Engineer). 2) For your document structure: do you use the Resources folder and assets into that for loading assets dynamically? Is there a better method? For convenience sake, in my current project, I put all my prefabs and art into the "root" Resources folder (Assets/Resources), and then use Unity built in Resources load methods to load what I need. 3) What are your thoughts about Unit Testing in Unity? Unity doesn't have a real dependency injection system (I basically use the editor as my "dependency injector"). Should unit testing right away? 4) Do you have steps or third party NuGet packages or general useful tools for your code and project that you think everyone should use for their code? I'm thinking along the lines of Entity Framework, dependency injectors like Autofac, unit testers like xUnit, Newtonsoft JSON, etc. As for me, the fun stuff is designing the game around design patterns, SOLID, and low level utilities. For me, I am designing my current small project (a 2D digital board game not unlike chess, checkers, and go) around "good" design principles so I know what I want achitecturally in each project and how to achieve it. But I am a C#/.NET developer already so this is my playground for that kind of stuff.

  • @randomsimpson
    @randomsimpson3 жыл бұрын

    I recommend GitKraken for source control for people who don't understand git (like myself). Bonus, they recently implemented a complimentary kanban-style planning system (like Trello), so that one program basically covers steps #1 & #5, and it's suitable for beginners

  • @Jay12321Jay
    @Jay12321Jay3 жыл бұрын

    Great video! Do you have any tips on software for #2?

  • @OmegaF77
    @OmegaF773 жыл бұрын

    For my folder structure, I usually put all of my stuff into the Resources folder so I can instantiate prefabs.

  • @philippe6918
    @philippe69183 жыл бұрын

    Nice.

  • @Ziplock9000
    @Ziplock90003 жыл бұрын

    Di you have a video on Deployment & Integration Automation?

  • @SunSailor
    @SunSailor3 жыл бұрын

    Always start a project with a localization system für texts and labels, its a pain to add later and decoupling text management from the scene is a big plus even for a sole language.

  • @MattHoffmanXR
    @MattHoffmanXR3 жыл бұрын

    Jason, do you have recommendations on CI/CD setup? Which tools, tutorials, processes to use? You mentioned CI/CD for different deployments (e.g. Android). BTW, I'm building for windows/oculus.

  • @midniteoilsoftware

    @midniteoilsoftware

    3 жыл бұрын

    Sounds like a great topic for Jason's next video :)

  • @RecOgMission
    @RecOgMission3 жыл бұрын

    Almost done with #7 ;)

  • @captainnoyaux
    @captainnoyaux Жыл бұрын

    Hey, thanks for those tips, do you have good resources on deployment automation?

  • @rollingsausageltd
    @rollingsausageltd3 жыл бұрын

    For those who are interested in Continue integration (CI / CD) and are using Windows I would recommend "game.ci" webpage built by Gabriel Le Breton aka GabLeRoux (you can find him on Github). I've tried quite a few CI guides and this is the only one that properly worked for me and it was actually easiest to set up. Because it took me like 3 evenings to find a proper solution and I’ve tried numerous of different guides until I came across this one, bellow I will describe general idea of what you will need to do and few notes about things that are not documented that well and had to figure out myself. If I would've known those tricky bits initially, it would've taken me 1 - 2 hrs to set it all up from scratch.. I’ve used GitLab and Docker initially but later I realised that Docker is optional and it's only if you want to run all your pipelines locally. GitLab already offers some compatible virtual machines to run Unity specific pipelines. When registering to GitLab,free account works perfectly fine. In general, follow GitLab section step by step in game.ci documentation. Follow game.ci documentation in the following order: “Getting Started” (so you get familiar) > “Example Project” (either clone as new project or merge with your existing one, doesn’t matter) > Update .gitlab-cy.yml as I’ve described below > “Activation”. All other pages on that site are optional. Once you have example project cloned, edit “.gitlab-ci.yml” via GitLab dashboard. You will want to change the following variables: UNITY_VERSION: "2021.1.0f1" # Make sure it matches version you are going to use IMAGE: unityci/editor IMAGE_VERSION: "0.11" # Depends on what version you defined in UNITY_VERSION. You have to make sure your UNITY_VERSION is available in image version build (check in game.ci/docs/docker/versions) Go through the rest of the .gitlab-ci.yml file and comment out builds that you don’t want. (It’s usually like 4-6 lines per each type of build, starts like “build-StandaloneLinux64-il2cpp:”) I have left only Windows build for myself and I made it so that it only builds it when I merge it to “master” branch. This means all tests will run each time I push on any branch meanwhile builds are only on pushes to "master" branch. I’ve used the following: build-StandaloneWindows64:

  • @archmagesalamar1377
    @archmagesalamar13773 жыл бұрын

    Jason are you planning on another saturday livestream? I've enjoy watching the last few and always learn something!

  • @Unity3dCollege

    @Unity3dCollege

    3 жыл бұрын

    Yes I am! Not sure if it'll be this sat though but aiming for it :)