The Power of Git in Unreal Engine: a Step-by-Step Guide | UE5

  Рет қаралды 7,378

Ali Elzoheiry

Ali Elzoheiry

Күн бұрын

Unreal Engine projects are huge and can get messed up quite easily, so make sure to use Git and back it up to GitHub. Whether you are a solo dev or working with a team, these tools are a must for any software project.
Download git
git-scm.com/download/win
Create a repository on GitHub
github.com/new/
Command for generating SSH key
ssh-keygen -t ed25519 -C "WRITE_YOUR_EMAIL_HERE"
Command for viewing the public key in the terminal
cat /c/Users/Alizoh/.ssh/id_ed25519.pub
Replace the above path with the path to your public key
Download the project files and support my channel on Patreon
/ alizoh
Join my Discord server to chat and mingle with the community
/ discord
Chapters:
00:00 Intro
00:37 Downloading git
01:25 Setup git in the unreal engine editor
03:07 Making our first git commit
05:51 Creating a repository on GitHub
07:28 Connecting to GitHub using HTTPS
09:29 Connecting to GitHub using SSH
12:06 Common Git Workflow
15:57 Use git history to go back to previous version of your project
17:55 Conclusion
18:25 Outro
About me:
I've been learning game development for a few years now, I have a background in software engineering, and I also have a background in education, so being able to combine my love of gaming, software engineering and education is the best way to spend my time.
I am currently working on a few unreal engine games as a hobby, but I am also trying to build a community, thus I am creating KZbin tutorials to find others who are interested in game development and design.
#git #unrealengine5 #tutorial #unrealengine #ue5 #gamedev #github #version #control #versioncontrol #backup

Пікірлер: 99
@JacquesQuestiaux
@JacquesQuestiaux 6 күн бұрын
As an experienced software dev in general but noob at unreal engine, you answer a lot of questions i have with how normal dev type things work with unreal, im really surprised that blueprints has a diff feature like that, really awesome.
@AliElZoheiry
@AliElZoheiry 5 күн бұрын
Glad to hear that you found the content helpful! Unreal Engine does have some unique features to explore, and I'm always here to help with any questions you have along the way 😊
@Flexistentialist
@Flexistentialist 3 ай бұрын
Outstanding! Thanks, Ali. Every single thing you've done on this channel thus far has merited immediate support and praise.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Thank you so much for your incredible support and kind words! I truly appreciate your feedback and am thrilled to know that my content has been helpful to you.
@DaggerOneMike
@DaggerOneMike 3 ай бұрын
BRO, this is awesome. I was getting ready to research these items over the weekend. Your timing, at least for me, is great. Thank you!
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
That's great to hear! I'm glad the timing worked out well for you. Thank you for your comment and I hope you find the content helpful.
@DaggerOneMike
@DaggerOneMike 3 ай бұрын
@AliElZoheiry You articulate yourself well. It's a pleasure to learn from people who have love in this field. So thank you.
@johnny1up
@johnny1up 2 ай бұрын
I really appreciate your tutorials. I watch a LOT of tutorials, and yours work for me because there is a functional example and a deep dive into WHY things are the way they are. Thank you for making these and I hope you continue with them to your success!
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Thank you so much for your kind words! I'm very happy to hear that my tutorials are resonating with you and helping you understand the WHY behind the concepts. Your support is truly appreciated, and I'll definitely continue creating more content.
@crisppxls
@crisppxls Ай бұрын
Hi Ali just wanted to say your tutorials have been amazing. Super useful for me developing my first game project. I had been wanting to incorporate a remaining enemy counter for my Retro / Boomer shooter and this works perfectly. Thanks again!!
@AliElZoheiry
@AliElZoheiry 25 күн бұрын
Thank you for the kind words! I'm glad to hear that the tutorials have been helpful for your game project development. It sounds like a cool idea. Keep up the great work and feel free to reach out if you need any more assistance!
@KyleKatarn145
@KyleKatarn145 2 ай бұрын
I just found you man but your tutorials are awesome! Please keep doing what you're doing!
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Thank you so much for your kind words! I'm really glad you found the tutorials helpful. I'll definitely continue creating more content. Stay tuned for future tutorials!
@WavemStudios
@WavemStudios 3 ай бұрын
Spot on - we set this up a while ago and it is priceless...
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Glad to hear that it's been helpful for you! If you have any questions or need further assistance, feel free to ask.
@PittsTake
@PittsTake 3 ай бұрын
I needed this so much. Thank you.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
You're very welcome! I'm glad you found it helpful. Thank you for watching and commenting 🙏
@johnrex7108
@johnrex7108 3 ай бұрын
Very helpful video, man. Greatly appreciate it.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
I appreciate you 🙏 Thanks for watching and commenting
@Will-qn2jn
@Will-qn2jn 12 күн бұрын
Excellent explanation. thank you!
@AliElZoheiry
@AliElZoheiry 11 күн бұрын
Glad you found it helpful! Thanks for watching 🙏
@saudeeforca6459
@saudeeforca6459 3 ай бұрын
Your videos are great, my suggestion is to teach virtual reality in Unreal engine, you can't find much from VR to Unreal.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey there! Thank you for the suggestion! Teaching virtual reality in Unreal Engine sounds like a great idea, and I'll definitely take it into consideration for future videos. Appreciate your support and feedback!
@arcturus2685
@arcturus2685 3 ай бұрын
Thank you so much for making this tutorial!!!!!
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
You're very welcome! I'm so glad you found the tutorial helpful. Thank you for your comment!
@juggernautx1779
@juggernautx1779 3 ай бұрын
Amazing tutorial!! Thank you
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
You're very welcome! I'm glad you found it helpful. Thank you for watching and commenting 🙏
@juggernautx1779
@juggernautx1779 3 ай бұрын
@@AliElZoheiry Thank you for your amazing tutorials! Keep up the amazing work!
@itamihanzo
@itamihanzo 3 ай бұрын
Fantastic Stuff man!
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Thank you so much! I'm really happy you enjoyed it 🙏
@fxclimber
@fxclimber Ай бұрын
How nice you are. I really need kind tutorial about using git. Thank you!
@AliElZoheiry
@AliElZoheiry Ай бұрын
Hey there! I'm really glad you found the tutorials helpful. Thank you for the support!
@petrstibor2993
@petrstibor2993 3 ай бұрын
Thank you! really helpful
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
You're very welcome! I'm glad you found it helpful. Thank you for watching and commenting 🙏
@petrstibor2993
@petrstibor2993 3 ай бұрын
@@AliElZoheiry I'd really appreciate it if you'd create a C++ series sometime. I started on Game Maker(GML) and then switched to Unity(C#) I ended up with Unreal,but I can't get into blueprints I like "code" but the difficulty between C++ and C# is really hard.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
I'll definitely consider it! Thank you for the suggestion ​@@petrstibor2993
@justusnixx
@justusnixx 3 ай бұрын
thanks, was looking for an explanation on versions, since I often break my projects dead(((
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
You're welcome! I'm glad you found the explanation helpful. Let me know if you have any other questions.
@Nosferatu_tqegaming
@Nosferatu_tqegaming 3 ай бұрын
@ali thanks man again youre videos are always coming clutch. Ive been really focused on optimization lately as my project grows. Do you have or plan to create a tutorial on project management? i find myself feeling like i lose track of my levels or when i say ok i want the player to hit this portal and go here then im like should this level be part of the same world or a seperate level, sure it depends on many things. but just overall managing the project and keeping things aligned that are supposed to stay and vice versa. sorry for confusing question lol
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey there, glad to hear that you find my videos helpful in your journey! I definitely understand the challenges of project management, and it's a great suggestion for a future tutorial. I'll add it to my list of ideas for upcoming content. Thanks for the feedback and your support!
@Nosferatu_tqegaming
@Nosferatu_tqegaming 3 ай бұрын
@@AliElZoheiry keep it up G! I would be interested in how you would manage your content (work and workflow) like a lessons learned from your Arrow game project. That would be sweet.
@diliupg
@diliupg 3 ай бұрын
You are blessed with teaching skills. If I go back to a commit that I made previously, and I want to continue from that commit, which means a new branch, does the command git switch -c this is the old commit, do the job? Thanks guru!
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey, thank you for your kind words! To continue from a previous commit on a new branch, you can use "git switch -c new-branch-name old-commit-number". This will create a new branch from the old commit you specify. But be aware that this will be a different branch other than your master/main branch, so if you want this new branch to be the master one, you'll have to "Force merge" your new branch to master. Hope this helps!
@truespiritualmeditation
@truespiritualmeditation Ай бұрын
Excellent work on this and all your tutorials. One question I have is I'm very remote and on Starlink.. I get a Terabyte a month, my project is 30GB and growing so I will have to be careful about uploading every day. Does it upload all the files each time, or does it only upload changed/new files after the initial upload?
@AliElZoheiry
@AliElZoheiry Ай бұрын
Hey there! Thank you for your kind words. Using git, after the initial upload, only the changed or new files are uploaded. This should help you manage your data better with limited monthly bandwidth. Good luck with your project!
@sylvaindelaine
@sylvaindelaine Ай бұрын
Thank you, Ali, for this insightful tutorial that highlights the capabilities and impact of GitHub. I appreciate it. I have a question: Is GitHub a viable alternative to Perforce? maybe Git is excellent for small, agile teams, while Perforce shines in scenarios where IP security, large files, and complex workflows are critical. What you think?
@AliElZoheiry
@AliElZoheiry Ай бұрын
Perforce is indeed better at handling large files and binary file types. I've always used git though for coding projects, so it's just what I'm used to
@sylvaindelaine
@sylvaindelaine Ай бұрын
@@AliElZoheiry Thank you Ali !
@RCClifford1997
@RCClifford1997 2 ай бұрын
Thanks for the tutorial, is there a shorterhand way I can search for the project when reopening Gitbash? The project I am using at the moment is deep in a file strucutre multiple files in so having to type the full absolute path once swapped to the drive becomes tedious I was wondering if there was another method, or a method to somehwat save the path in gitbash to easily go to it? Copy and pasting is just as tedious as all the of \ need to be swapped over
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Hey there, thanks for watching 🙏 Since git bash is just a regular basis terminal, you can setup "Bash Aliases" and alias is a custom shorthand then when written translates to a longer command. Google how to setup Bash Aliases to quickly CD to a directory
@RCClifford1997
@RCClifford1997 2 ай бұрын
@@AliElZoheiry Thanks for quick response and pointing in right direction :)
@dynamicplayz1897
@dynamicplayz1897 3 ай бұрын
Hey so I've a project already linked to gitlabs (with lfs, tho i dont think this matters) and want to rename the project, any idea how that can be done? (i am using gitkraken rather than the console for pushing / pulling)
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey, you can rename your project in GitLab by going to your project's settings and then selecting "General" from the left-hand navigation. From there, you can update the "Project name" field. It should automatically update your remote URL. As for using GitKraken instead of the console, you should see the updated project name reflected in GitKraken once you've renamed it in GitLab. Now if you want to rename the Unreal project itself, then you rename the uproject file, and also edit the project name in the DefaultEngine.ini file which is in the config folder. Good luck
@caution5862
@caution5862 2 ай бұрын
Is there a way to fix merge conflicts of blueprint, materials and other binary files? If not (that's what I heard from everyone else) then how should we work on a team and not mess the files for each other
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Unfortunately there isn't a way that is built into the engine to do that, but the work around I use is after committing my changes, I pull any new changes from the remote repo, and if there is a conflict in a binary file, I replace my version with one pulled, and check the in editor diff tool to see the changes, then I handle conflicts manually. It's not an easy process but at least you get to see what exactly changed in a binary file
@Mukesh-pl8fm
@Mukesh-pl8fm 3 ай бұрын
Thanks for the clear explanation. I have one doubt. For example, if two people are working on a project and one person has pushed changes, can the second person see the changes made by the first person before taking a pull? For code, yes, we can see the changes, but for blueprints, can we?
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey there! Thank you for your question. In Unreal Engine, with blueprints, you can see the "diff" between changes you make locally (as I showed in the video) but unfortunately, the editor doesn't yet support diff between your changes and changes you are pulling from the remote repo. So if both you and someone else are working on the same blueprint file, and they push, then you pull. Git will tell you that there is a conflict in the file and you should select one of the versions (yours or theirs) but it won't show you a diff of the files to compare the conflict (because these are binary files that git doesn't understand)
@b33slayer
@b33slayer 3 ай бұрын
Лучшие туториалы только у него ❤
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
"Спасибо большое за ваш отзыв! Я очень рад, что вам понравилось!"
@Alternatywny_1
@Alternatywny_1 11 күн бұрын
I attempted to proceed with the second (SSH) method and received feedback that my project exceeded the maximum 2GB limit, making it impossible to upload. I have nearly completed a wave zombie shooter with a Content folder weighing just under 7GB. Do I need to split the upload into three parts, or is there an alternative approach?
@AliElZoheiry
@AliElZoheiry 9 күн бұрын
If you are referring to the Github limitations in size, unfortunately this is the size limit for the free tier, but Github is just one option for remote repository storage, there are many others with larger storage options if that's what you need. I heard Azure offers 200GB for free
@XvirusX
@XvirusX 3 ай бұрын
amazing thank you so much i learned something new and i wanted to say thank you so much. i have a queastion 10:44 what if i write a password will it ask me that password later? i mean should i not secure that with password?
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey there! Glad you found this helpful ☺️🙏 If you write a password for private keys then indeed you'll be asked for this password every now and then when your computer tries to access it. It's more secure of course to add a password, but just keep in mind that this file is already only on your computer, the password is just to protect your private keys in case someone managed to get access to your computer
@dishmal
@dishmal Ай бұрын
Great videos but I'm curious why you chose Git over Perforce?
@AliElZoheiry
@AliElZoheiry Ай бұрын
Hey there, thanks for your comment! While both Git and Perforce have their advantages, I've been using git for 15 years now, so I know it inside and out. I never considered switching to anything else
@wowwowwoah
@wowwowwoah Ай бұрын
I was hoping UE has UI tool to work with git like Webstorm does. Well, maybe this will be added in a future updates
@AliElZoheiry
@AliElZoheiry Ай бұрын
Well this diffing tool is quite new, prior to this, there was no way to check changes in any blueprint files, so I would say this is their answer to that, I wouldn't expect more from them anytime soon 😅
@Restart-Gaming
@Restart-Gaming 3 ай бұрын
I am half way though my game should i set this up now?
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Yeah definitely, you can set it up anytime, the sooner the better
@dishmal
@dishmal Ай бұрын
Worth noting that github without LFS has a 100mb file size limit and 2gb commit size limit.
@AliElZoheiry
@AliElZoheiry 25 күн бұрын
Hey there! You can still enable LFS and nothing changes in regards to how you use git
@real2late
@real2late 3 ай бұрын
Damn im so dumb I alway was creating the repos manually, cool!
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Glad you found it helpful! It's always a great time-saver to discover these kinds of features.
@hendra_winata13
@hendra_winata13 3 ай бұрын
How big the project we can use without using LFS?
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
As far as I know, GitHub has limits on the file sizes themselves, not the repository size (So 50MB per file), and they recommend the repository to be between smaller than 5GB, but I don't think they have strict limits on the size of the repository itself, but once you have files larger than 50MB, then GitHub will force you to use LFS
@hendra_winata13
@hendra_winata13 3 ай бұрын
Thanks for the info, now i wondering that if we just could use Git for local versioning without push to the cloud?
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
​@@hendra_winata13 of course, you can do that without setting up a remote repository, but you lose one of the biggest benefits of version control, which is having a cloud backup in case something happens to your computer
@hendra_winata13
@hendra_winata13 3 ай бұрын
@@AliElZoheiry Yeah i consider that, but since my project assets are big (> 100Gb in total), i am afraid that Git Remote Repo will support it. Anyway, thank you very much for answering my question 🙏 Waiting for your next video especially optimization things 😁🙏
@MIIFO3
@MIIFO3 3 ай бұрын
Hi I'm new to game dev. And i want to make an rpg game but with a very complicated functions powerful bosses that you can tame or add them to your team if you beat them and a lot more stuff and i know this isn't easy at all So i want you to suggest me a channel or a place yo learn ue 4 or 5 from scratch rn i can't follow along with you when you make all those nodes and blueprints i want someone who explained it in a very detailed way every option any what it does and why
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey there! I would recommend checking out "Virtus Learning Hub" on KZbin. They provide in-depth tutorials and explanations that could be very helpful for starting out with Unreal Engine and learning the complexities of game development. Best of luck with your RPG game!
@InnerspaceX
@InnerspaceX 3 ай бұрын
Hi, don't plan to make VR tutorials?
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey! I haven't really thought about it. I do have an oculus, so I might do some VR in the future, but it's not currently on my roadmap
@omerfaruktank5086
@omerfaruktank5086 3 ай бұрын
Mükemmel tutorial. Peki neden gitDesktop kullanmadın
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
I've never been a fan of the desktop UI for git, it slows me down significantly, I can do so much more with the terminal and much faster. it definitely takes longer to get used to a terminal if you're not a developer, but once you get the hang of it, it's much much more powerful than the desktop UI
@omerfaruktank5086
@omerfaruktank5086 3 ай бұрын
​@@AliElZoheiry thank you for response Ali you are the best
@pedroluzio
@pedroluzio 2 ай бұрын
Thanks for the tutorial. LFS is not more performant (actually less performant and extremely slow). LFS is a glorified FTP server that uses http to transfers non text files, since git is exclusive a tool built for version control text files. LFS is literally a hack that was put in place to try to solve one of the biggest problems in version control.
@AliElZoheiry
@AliElZoheiry 2 ай бұрын
Thank you for your feedback. I didn't know that ;) I understood that LFS will compare references to binary files instead of the actual files themselves, so then it's a lot more performant.
@pwnonator
@pwnonator 3 ай бұрын
i watched the video even if i dont plan on using git,lol.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Thank you for watching and commenting ;) consider git though, it can really save you in a lot of cases
@pwnonator
@pwnonator 3 ай бұрын
@AliElZoheiry I know I should but I just zip them an put read me notes an toss them on an external. Maybe 1 day I may.
@carlosrivadulla8903
@carlosrivadulla8903 3 ай бұрын
I want to ask, if a repository is full with our 3d assets can evil companies scrape it for AI training?. Im scared to upload anything anymore.
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
Hey there, I understand your concern. It's always important to consider the potential risks of sharing assets online. Though if you make your repository private on GitHub, then it can't be used as training data. If you make it public though, then it's public, so it can be used for that.
@barakmenachen289
@barakmenachen289 3 ай бұрын
Another great tutorial, what nest CI Cd? Deployment of new version to Dev Test Stage and Production? Cant wait for it 🫡😂🎉
@roguepithlit
@roguepithlit 3 ай бұрын
A buildgraph tutorial would be great!
@AliElZoheiry
@AliElZoheiry 3 ай бұрын
All great suggestions! Thank you for the feedback, I'm glad you enjoyed this, and thank you for watching ;)
The Most Common Mistake Beginners Make in Unreal Engine | UE5
12:17
Ali Elzoheiry
Рет қаралды 83 М.
Разбудила маму🙀@KOTVITSKY TG:👉🏼great_hustle
00:11
МишАня
Рет қаралды 3,4 МЛН
My Journey To Becoming An Indie Game Dev
10:34
Ali Elzoheiry
Рет қаралды 13 М.
How to use source control in Unreal Engine 5.3 with GitHub
10:43
Anchorpoint
Рет қаралды 3,3 М.
Mastering Events in Unreal Engine with C++
5:17
Scripted Adventure
Рет қаралды 4,3 М.
I solved Unreal Engine's Package Size Problem...
14:35
Cobra Code
Рет қаралды 48 М.
Unreal Engine 5.4: Animation Deep Dive | GDC 2024
47:28
Unreal Engine
Рет қаралды 66 М.
20 Unreal Engine Tips You NEED to know | UE5
8:38
Ali Elzoheiry
Рет қаралды 16 М.
Why Dependencies are Bad and How To Avoid Them In Unreal Engine | UE5
26:40
Learn How To Use Revision Control In Unreal Engine 5!
17:09
Glass Hand Studios
Рет қаралды 2,9 М.
Reducing Draw Calls in Unreal! [UE4/UE5/Blender] (Check Description!)
40:11
ИЩЕМ ДЕВУШКУ МОЕМУ ДРУГУ В МАЙНКРАФТЕ
0:40
САМЫЙ МАЛЕНЬКИЙ ПЕРСОНАЖ В БРАВЛ СТАРСЕ
0:52
Baby Tvman Passes Mrbeast'S Test And The End 👍️
0:37
BigSchool
Рет қаралды 4,9 МЛН
skibidi toilet 73 (full episode)
9:41
DaFuq!?Boom!
Рет қаралды 28 МЛН