- 175
- 403 092
Freedom Coding
Czechia
เข้าร่วมเมื่อ 29 ธ.ค. 2022
Learn how to write high-quality code and develop games with me! I am a young, enthusiastic Unity developer and C# programmer trying to spread as much of my knowledge as I can through these videos. Do you want to see more? Then take a look at my Patreon! Or do you prefer a more individual style of learning? I also offer individual lessons, so check out my website!
How To Use Copilot 🤖 With VS Code
AI can write simple code but what about writing high-quality code? In this video, I will share my experience, when it comes to using AI for coding, with you. I will discuss when I think it is safe to use AI and when you are better off avoiding it. I will also show you how to set up GitHub Copilot with Visual Studio Code for free. Using this tool, you gain access to an integrated AI assistant directly in VS and will receive suggestions when writing code.
👍 Like and 🔔Subscribe for More Unity and C# Tutorials www.youtube.com/@UClTnTUyCeSu9tN8FNNoXMRg
🌟 Support My Work and Unlock Exclusive Content! 🌟
👉 YT Membership: th-cam.com/channels/lTnTUyCeSu9tN8FNNoXMRg.htmljoin
🌟 Patreon: www.patreon.com/FreedomCoding
🎮 Join Our Developer Community!
💬 Discord: discord.gg/JzssYyjvGu
💖 Support Me Financially
☕ PayPal, Revolut: marek.freedom.coding@gmail.com
Website - www.freedom-coding.com
Timestamps:
00:00 Intro
00:16 What Is Copilot
00:40 How To Use Copilot
01:13 Code Suggestions
02:14 Inline Chat
02:54 Creating Whole Scripts
04:14 Does AI Write High-Quality Code?
05:03 Editing Multiple Scripts
05:59 How YOU Can Help Me
06:13 My Experience With AI
06:43 When To Use AI
07:14 When Not To Use AI
07:58 Summary
👍 Like and 🔔Subscribe for More Unity and C# Tutorials www.youtube.com/@UClTnTUyCeSu9tN8FNNoXMRg
🌟 Support My Work and Unlock Exclusive Content! 🌟
👉 YT Membership: th-cam.com/channels/lTnTUyCeSu9tN8FNNoXMRg.htmljoin
🌟 Patreon: www.patreon.com/FreedomCoding
🎮 Join Our Developer Community!
💬 Discord: discord.gg/JzssYyjvGu
💖 Support Me Financially
☕ PayPal, Revolut: marek.freedom.coding@gmail.com
Website - www.freedom-coding.com
Timestamps:
00:00 Intro
00:16 What Is Copilot
00:40 How To Use Copilot
01:13 Code Suggestions
02:14 Inline Chat
02:54 Creating Whole Scripts
04:14 Does AI Write High-Quality Code?
05:03 Editing Multiple Scripts
05:59 How YOU Can Help Me
06:13 My Experience With AI
06:43 When To Use AI
07:14 When Not To Use AI
07:58 Summary
มุมมอง: 187
วีดีโอ
Create Complex Objects With Ease - Builder Pattern
มุมมอง 1.3Kวันที่ผ่านมา
Builder is a creational design pattern that helps you handle dynamic creation of complex objects. Let's say you have a projectile class with many member variables that have to be initialized with the object. You could make all of the variables public and then set only the ones you need, but having all variables public is not a good idea. You could also create one or multiple constructors to han...
Why I Switched To VS Code & Should You Too?
มุมมอง 1.2K14 วันที่ผ่านมา
As long as I can remember, I have been using Visual Studio Community for coding in Unity. The loading times and overall performance of the IDE were always slightly annoying. Then I discovered Visual Studio Code, the lightweight version of Visual Studio. It has all the features you need for programming in C# and is much more performant. That is why I prefer using it from now on. 👍 Like and 🔔Subs...
Unity Event Bus: Simplify Messaging 🎯
มุมมอง 1.7K21 วันที่ผ่านมา
Actions and delegates are great for writing cleaner code, but they often require referencing multiple classes. What if we could decouple them further? That's exactly what the Event Bus is designed for! An Event Bus is a centralized, pub-sub messaging system that allows classes to easily subscribe, unsubscribe, or raise events. In this Unity tutorial, I'll teach you about two types of Event Buse...
Compile Code Faster With Assembly Definitions || Unity Tutorial
มุมมอง 2.1Kหลายเดือนก่อน
As your Unity project grows, you will notice that it takes much more time to compile the scripts when you make some changes. This happens because even when one script in the assembly changes, all of the other scripts from that assembly need to be recompiled as well. In this Unity tutorial, I will teach you how to separate your scripts into multiple assemblies. This will greatly reduce the total...
Master Event Channels for Decoupled Code! | Unity C# Tutorial
มุมมอง 1.2Kหลายเดือนก่อน
Learn how to use Unity C# event channels to enable seamless interaction between objects without tight coupling. Event channels function like classic events-allowing subscription and invocation-but in this tutorial, we take them to the next level using ScriptableObjects, generics, UnityEvents, and a custom editor. You'll discover how to create versatile event types directly within Unity, assign ...
How To Debug Android Games? Use LogCat! || Unity Tutorial
มุมมอง 4452 หลายเดือนก่อน
LogCat is a simple tool that allows you to read logs from your Android device at runtime. It is even integrated with Unity, so you can simply connect your phone to the pc and start debugging! In this tutorial, I will walk you through the entire process of installing the LogCat package, enabling USB debugging on your phone and finally debugging a mobile game. 👍 Like and 🔔Subscribe for More Unity...
Creating Custom [Required] Attribute || Unity, C#
มุมมอง 5092 หลายเดือนก่อน
Did you ever forget to assign a variable in the inspector, then tested the game, and realized that only after you got a null reference error? I am pretty sure everyone has done that. To prevent this from happening, we can create our own required attribute, so when we forget to assign a variable, it prevents us from running the game and displays a warning in the console. In this Unity and C# tut...
Unity RAM Optimization: Memory Profiler & Flyweight Pattern
มุมมอง 1K2 หลายเดือนก่อน
Do your Unity games take up too much RAM? The flyweight pattern with memory profiler is a great combination of tools to help you reduce the amount of RAM your games use. The memory profiler will help you identify what is taking up the most memory in your game, so you can apply the flyweight pattern. This pattern helps you to avoid duplicates of data by storing the data that doesn't change in on...
Better Way To Debug In Unity || VS Debugger
มุมมอง 4692 หลายเดือนก่อน
Did you know that Visual Studio has its integrated debugger that can be used with Unity? Not only will it save you a ton of time, allow you to go through the code line by line and check or set all of the variables as the game is playing but it will also allow you to get rid of all of the Debug.Logs. These capabilities make the Visual Studio's debugger the number one tool for debugging in Unity,...
What I Learned From Code Complete 2 || Write Better Code
มุมมอง 6032 หลายเดือนก่อน
In my opinion, reading is one of the best ways to learn about new things. In this age, there are hundreds of online tutorials about coding, but only a few of them go really in-depth. The book Code Complete 2 is about 900 pages long and teaches the best construction practices. In this review-style video, I will tell you about the main topics I learned from the book. These include abstraction, en...
Many Objects Communicating? Use Mediator! || Unity Tutorial
มุมมอง 1K3 หลายเดือนก่อน
The mediator pattern is handy when you have many objects you need to control. Without the mediator, there would be many dependencies and each of the objects would need to know about each other. When using the mediator, the objects don't know about the other objects, instead, they contact the mediator, which decides what will happen and can notify the other objects. This pattern will help you to...
Use SOLID Principles To Write Solid Code || Unity Tutorial
มุมมอง 8643 หลายเดือนก่อน
SOLID principles are often mentioned by programmers, but do you know what each of them means? I will explain to you all of the five SOLID principles on a simple example in Unity. The principles are: single-responsibility, open-closed, Liskov substitution, interface segregation, and dependency inversion. Using them, you will be able to write cleaner, more extensible, and maintainable code. Still...
Write Dynamic Code Using Reflection || Unity, C# Tutorial
มุมมอง 8083 หลายเดือนก่อน
Reflection is a really powerful programming tool, which can help you to write cleaner code and mainly can save you a lot of time. It can also be used for custom Unity editor tools and will make your code much more dynamic. When working with reflection, you are typically using the typeof keyword or the GetType() function to get the type of something, so you can then call functions on the type. I...
Service Locator - The Master Of Singletons || Unity Tutorial
มุมมอง 1.3K4 หลายเดือนก่อน
Service Locator - The Master Of Singletons || Unity Tutorial
Creating Finite State Machine In Unity || State Pattern
มุมมอง 1.7K4 หลายเดือนก่อน
Creating Finite State Machine In Unity || State Pattern
The 50 Programming Terms You Should Know!
มุมมอง 7164 หลายเดือนก่อน
The 50 Programming Terms You Should Know!
Change Class Behavior At Runtime! || Strategy Pattern Tutorial
มุมมอง 3874 หลายเดือนก่อน
Change Class Behavior At Runtime! || Strategy Pattern Tutorial
Reuse ANY Animation In Unity (Even Generic!)
มุมมอง 1.4K4 หลายเดือนก่อน
Reuse ANY Animation In Unity (Even Generic!)
Scalable Code With Decorator Pattern || Unity Tutorial
มุมมอง 9395 หลายเดือนก่อน
Scalable Code With Decorator Pattern || Unity Tutorial
Better Dependency Injection For Unity - Extenject
มุมมอง 1.8K5 หลายเดือนก่อน
Better Dependency Injection For Unity - Extenject
Create Complex Objects With Ease || Factory Method
มุมมอง 6055 หลายเดือนก่อน
Create Complex Objects With Ease || Factory Method
Dependency Injection Is Simple & Powerful!
มุมมอง 1.6K6 หลายเดือนก่อน
Dependency Injection Is Simple & Powerful!
Make Your Games Expandable WIth Command Pattern
มุมมอง 1.2K6 หลายเดือนก่อน
Make Your Games Expandable WIth Command Pattern
Make Your Singletons Generic! || Unity, C#
มุมมอง 9506 หลายเดือนก่อน
Make Your Singletons Generic! || Unity, C#
Write Clean Code With MVC || Unity C# Tutorial
มุมมอง 2.4K6 หลายเดือนก่อน
Write Clean Code With MVC || Unity C# Tutorial
Cinemachine Timeline & Post-Processing || Unity Tutorial
มุมมอง 1.1K7 หลายเดือนก่อน
Cinemachine Timeline & Post-Processing || Unity Tutorial
Perfect Camera For ANY Game - Unity CINEMACHINE
มุมมอง 1.9K7 หลายเดือนก่อน
Perfect Camera For ANY Game - Unity CINEMACHINE
That's awesome. is it same as the gpu instancing on material options?
Thanks! No, this GPU instancing is more performant because it avoids the overhead of GameObjects. When using gpu instancing on materials, Unity still uses GameObjects.
Underrated video. Coincise, clean and well explained. Good job.
I am glad you liked the video!
I just found your channel yesterday and wanted to tell you that you are criminally underrated and deserve a lot more subs! Your tutorials are insanely useful, please keep it up :)
I am glad you like my tutorials! Would you also be interested in some devlogs?
@@freedomcoding It depends on the game's theme, of course, but I'd certainly be interested!
genuinely underrated channel you deserve so much more
Thank you ❤️
Thank you very much works perfect!
Enjoy
Your channel is a gem! ❤️ From now on, you are my true mentor in my journey to mastering Unity. As I transition from intermediate to advanced topics, I’ve been thinking a lot about writing scalable code that doesn’t break when extending features. Relying solely on the Observer and Singleton patterns isn’t always the best approach for maintainable code. Your content is exactly what I needed to improve my architecture and write cleaner, more extensible code. Excited to dive deeper and learn more! 🎉
Thank you ❤️ I am glad we can be on this journey together!
Thanks bro, u saved me!
No problem 👍
That helped me a lot!
TY
Aye! Very useful, question though. How do i make it so that thede joints cant be Moved by the player so that It just stays how it is?
Do you ofnte use Struct? I would like to see a good scenario with Struct ... coming form C++ .
Pretty sure one difference of c++ and c# is in c# structs are value type so having a large array of structs is more efficient than a large array of classes
Awesome vídeo!
Enjoy!
Hi, I had a question, so if I am implementing items or attacks using scriptable object, I don't need builder pattern or it still helps using it
Hi, do you need to create the items or attacks at runtime? In that case, it can be beneficial to use the builder. Otherwise if you are able to preconfigure all of the items and attacks in Unity, there is probably no need for it.
@freedomcoding Got it. Thank you so much for the explanation and also for all the tutorial videos you upload it has helped me learn a lot!
@falgunpawar I love to hear that!
Thats best when you combine it with Fluent Interface pattern.
Yay🎉builder pattern rules! 🙏🏻Thank you!!
Yes, it is a great pattern!
Thank you! This fixed all my issues.
You are welcome!
EM UMA PAIS QUE A MÉDIA DO QI É MENOR QUE A DE UM MACACO, pessoas como vc e uma boa IA de tradução salva os sonhos. obrigado!!
Is there an easy way to make the algorithm not step diagonally only vertical and horizontal? Thanks for the amazing video anyway.
Hi, I think that it should be really simple. In the SearchCellNeighbors you can try to exclude the neighbors on the diagonals. I am glad the video was useful!
@@freedomcoding Thanks for the fast response. It was really easy to exclude them. And thanks again for the amazing video👍
@ I am glad you got it working. Thank you for watching <3
chatgpt linked me this video 👀
Great :D I am planning to make a video about using AI for coding.
you don't have to pass the generic parameter for the CustomEditor attribute (ie. [CustomEditor(typeof(AbstractEvent<>), true)])
I didn't know that! That would make it much easier. Thanks for mentioning it.
Best decorator pattern tutorial i’ve seen!
Love to hear that!
бро, я хочу пожать тебе руку, it is extremely useful 👍
My objects are spawning in the entity hierarchy but I can’t see them in the scene?
Hi, check the entities to see if they have a renderer component and take a look at their position as well.
i like vs community
Everyone should actually switch to Rider, its destroys both for Unity and Unreal development (and .Net too) Its just so so much better, u just dont write code there, u just flow, its so fluent and with excellent code tools. There is no competition at all for game dev. But 16GB wont make it for game dev, i recommend 32GB minimum. All the neat things and superior ide functionality has a cost in memory.
I will definitely try Rider at some point. I heard many people say it is better than VS, I just don't want to pay for the license yet. Yep, RAM is probably something I should invest in.
@@freedomcoding Rider is free now, not commercial, but very easy to try, truth is they dont check, and even cant, for what u use it for. Would be very interesting for you to test it and make a video about it. Regarding the RAM, yeah, if someone cant get more and have issues with too little ram, its possible to just crank up windows pagefile to even dozens GBs of size, its will be slower, but the apps wont be forced to close.
@@As_Ss I don't agree with "truth is they dont check, and even cant, for what u use it for." In reallity they can check that easily even externally. Once you save any script and ship it with your game and you have no license they still can see it. When it saves the script it actually contains information about it but you can't access nor to see it visually.
@@ibeatboxer_9673 U dont need to agree at all, doesn't matter as nothing u said is true and u just confirmed u know nothing about how tech works, u are just utterly wrong, simple as that. There is nothing in the scripts or meta data u cant change, they cant do it anyway for legal reasons, and they know it, but they want to be the new king, they want to dethrone VS forever, thats why they are doing it. And it still does not change a fact that u can test it for free as long as u want. Doesn't also stop this channel from making a review.
Noooo! I'll buy you a better PC when get rich from my games if you switch back to VS! :) By the way on my current mid PC (Ryzen 5 5600X, 32 GB Ram, 1 GB NVMe) VS 2022 loads all 9 scripts of my game in about 7 seconds, but usually I open VS only one time per day. Do you work on your game or other project?
I mostly work on projects for clients, but now I am also finally starting to work on my own game.
I am sure VS would perform better on more powerfull machine. Maybe I will switch back at some point, who knows :D
@@freedomcoding Okay, then wish me luck with my games. :) If you make videos for your game, I can give feedback on everything except codding.
I started with vs studio and then vs code. But about 2 years ago I switched to jet brains rider and I will never go back. For Unity development Rider is just amazing. The small things like seeing if you changed a value of a variable in the inspector inside the IDE is just so useful. There are so many other good features for Unity development that is just so useful and helps me iterate faster on my game. I recommend to try it. The only downside is that it is not free. They have a free non commercial version if you want to test it. Good video! Keep it up! 👍
I will surely try Rider some time in the future! Thanks for sharing your experience. I am glad you liked the video <3
Hard to say. From perspective of C++ development, I'd say that you need VS because of compiler and toolchain and project setup in vs code is more complicated - basically via some JSON file(s). I don't want to go deeper into comparison as I'm using VS code for hobby projects, whereas I'm using full VS for application which has like 150 subprojects, each somewhere between ten to hundreds of cpp files. Here VS often fails in searching classes with respect to included files and i think even namespaces and in late versions it has very buggy debugger - like out of sudden it can't recognize half of variables and whole project needs to be recompiled, maybe output folder deleted, I guess it has something to do with incremental builds. But I never used vscode on the same project or project of a similar scale. In VSCode editor, I sometimes miss selecting rectangular blocks - when you need to rename variable on five lines at once etc. Also I use VSCode basically for everything else than CPP - Python, markdown, plain text, various xml/json/yaml configs ... and even terminal actually - because server can run on a different PC and it's possible to edit files on Linux from windows and see remote file system.
Thanks for sharing your experience. I like how you are using both VS and VS Code depending on the project you work on. Surely VS Code isn't the solution for everything.
The "performance" is a weird metric. Note i write VS for Visual Studio (the desktop app) and VSC for the -code version. It's amazing how bad Microsoft made VS. It used to be a performant fast opening desktop application. Before VS 2010 it was a snappy interface that responded fast. Since 2010 it was redesigned with Windows Presentation Foundation (WPF) which made it feel like something thick being squeezed through a narrow funnel. It has never gotten better since, only worse. This isn't exclusive to VS. Microsoft also redesigned the once snappy fast Skype to be a horrendously slow app. There's more of these choices in the 2010s. Then you got the web and it's explosion in features, it essentially became powerful enough to be an app. Which it then became in the form of electron. VSC is essentially a full browser. There's a couple reasons why VSC is still faster. It's a blank slate which allows far different design choices to be more optimal to for coding, choices that might not be easy/trivial to implement in VS (remember, it's a legacy old app with probably a monstrous codebase behind the scenes, one does not simply make that faster). Another big reason is plugins. VSC can leave a lot of feature out and let them be handled by plugins. That makes it possible to be more leaner where in VS many of those would be build in. Using web tech for an IDE is stupid in my opinion, the web is simply not designed for that... but it works. That doesn't mean desktop apps can't do better. They can and they can be far superior! Look at zed dot dev for example. But there's in fact many more IDEs that give a vastly more snappy feeling then VSC or VS can ever do.
There is no single festure I can think of that is possible in VS and not in VSCode. The power of VSCode is the extensibility and customizability. Works on almost every platform with almost all languages and tools. There are endless extensions. For CI/CD, Jira, Copilot, Docker, multiple shells, remote access. For Cpp it can use the same toolchain as VS. VSCode is a better preforming, more user friendly, open source SUPERSET of Visual Studio (given you have the toolchain and even MSBuild that is used by VS is free. Basicslly you're paying only for some bloated gui)
I agree!
I don't understand at all how the same company managed to make a vscode that is so great and a vs that is so horrible I use vs sometimes because of c++ at work, it is extremely difficult to customize vscode for our project, it is already more than 10 years old. and using vs is a real misery everything is slow, awkward, like they've done “how to do better” research and studiously avoided their results
I wouldn't say VS is horrible but thanks for sharing your opinion!
Debugging is better in visual studio. vs code is good for website coding but no as good for unity.
there's a debugger in vscode maybe not so powerful, but most of requirements covers
Actually it uses the same debugger binary unless otherwise specified. Rest is just GUI around it which you can empower more in vscode
UVCS organizations isn't doesn't pop up when i look at dev ops. i already connected my card and everything i just cant make a UVCS organization :(
Hi, I think that UVCS is part of DevOps, so check if your Unity organization has it enabled.
I love your content❤, please keep up the good work!!!
Thank you <3 I will.
Omg this was so easy this whole time?! Thank you so much, if only we had this video we would have had a working game on the gamejam that was two years ago lmao
I am glad it helped! You can use it next time :)
Not an MVC as view is acting as a controller instead.
A few people have already pointed this out. I am sorry for not spending more time researching how the pattern should work. I will do better next time.
I have this package and to be honest I did not know how to use it properly now that I watched this video I am confident I was using it wrong. :/
Well now you know :) It also took me quite a lot of time to figure out how to use it.
Great, you are the only one who showed this, beside the manual.
I am glad to hear that.
Are these Assemblies (DLLs) converted to C++ and compiled as bytecode if we choose Scripting Backend as IL2CPP. Because, you know it is easy to extract the original C# code from a built Unity game. I don't need them just for a quick compile if it will cause me some security issues.
Hi, yes the assemblies are converted to C++ and then to machine code. When building with IL2CPP, it is harder to extract the code since only the machine code is included in the build. Using assemblies should not introduce any security risks.
@@freedomcoding That's great. Thanks 👍
thank you a lot
Enjoy!
You deserve way more likes, this is a very helpful video!!
Glad you think so! Thanks for watching.
Best tutorial on the event bus that I'v seen ! Keep it up !
Thank you very much! I will.
amazing vid!
Thanks!
Thanks a lot for the video. It's really useful and answered all my questions about zenject.
Glad to hear that.
Don't over use this, it is a NIGHTMARE pattern to debug. imo it should not be used at all for "standard game logic" (like level up), you can use this for a notification system or something more generic. The problem you described in the beginning can simply be solved with a proper component composition approach. (also the errors are event bus error, i know its irrelative but it was funny :p)
I agree that event bus is hard to debug. Still in some cases it can be very useful. Thanks for sharing your experience!
i also create event bus without other class need to call the event bus. Use scriptable object, and drag n drop func on event in the same game object. Then drag n drop SO to unity event you want to execute the action. This is Absolute modular.
This sounds like an event channel system. I made something similiar - th-cam.com/video/nJkYCU8Qe8o/w-d-xo.html
Keep up the good work man! Also Merry Christmas and Happy New Year! :)
Thanks, I will! Merry Christmas and Happy New Year to you too.
Do you want to learn more about event bus, add queues, priorities and IDs to your events? If so, take a look at this! - www.patreon.com/posts/118963517 I will also be intruducing channel memberships soon, so the videos for supporters will also be available here on TH-cam!
FIRST COMMENT, AND I SUBSCRIBED❤
Thank you very much!