Version Control in Unreal Engine 5 - Git, Github and Gitlab

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ม.ค. 2025

ความคิดเห็น • 158

  • @Stiancortman
    @Stiancortman ปีที่แล้ว +34

    This man is a hero by giving away all this knowledge for free

    • @CobaltAra-p2v
      @CobaltAra-p2v ปีที่แล้ว +2

      But he's not. A good chunk of his videos are behind a paywall on Patreon. And he's made promises he didn't keep

    • @CobraCode
      @CobraCode  ปีที่แล้ว +13

      Hey, thanks for the criticism!
      It would help me out a lot if you could elaborate a bit on the promises I broke, cause I wanna make sure to keep that to a minimum.
      At this point I'm aware of 2 things that I promised that I sadly haven't been able to follow through on:
      - Have votes on future videos for 12$ patron (Sadly I don't have much freedom with the direction I take anymore because I need to create videos months in advance to keep up with all the work, therefore having others decide what releases when would just add additional stress)
      - An advanced long tutorial about Top Down Games (Again sadly top down turned out to be quite complicated and so I decided to first create a simple tutorial about top down games which many people enjoyed. The long version sadly takes a lot longer to make than I thought and is therefore on hold. However I do still plan to work on that eventually)
      If there are any others that are noteworthy then please let me know.
      But after I noticed that I haven't been able to pull through on these I generally stayed away from making promises and my answer when people ask me for videos is usually "I do want to make that, however that's still far off in the future".
      I hope you can understand that I'm not gonna get every little thing right. I've just been doing this for about a year and a half now and am still figuring out many things and also how to balance my life with all the work this channel comes from.
      It's very hard to understand from the outside, but even a simple 10 minute video needs Brainstorming -> Research Time -> Prototyping -> Recording -> Voice Over -> Editing -> Thumbnail Creation -> Descriptions .... etc.
      So it generally takes me 3~7 days for a simple video, which is a lot of work.
      I actually had to stop working full time as a software engineer to be able to even keep up with this workload and be able to continue working on the channel. I make a good living as engineer, so by working on the channel instead I'm basically loosing 1200$ ~ 2800$ for every video that I make.
      So I hope you can understand that I need to find some way to make this even remotely sustainable through the patreon, sometimes taking on sponsorship deals and also working on udemy courses.
      I'm not quite sure what 'good chunk' you're referring to that is locked behind patreon.
      It's all just early access and will eventually come to TH-cam. The only thing that is exclusive is the paper 2D cheat sheet, but that is something I would have never had the time to create in the first place if it wasn't for patreon.
      So if you still have criticism after reading all of this, please let me know what I could do better.
      Thanks!

    • @carlosrivadulla8903
      @carlosrivadulla8903 ปีที่แล้ว +1

      @@CobaltAra-p2v this guy is more expensive than netflix

    • @matthewcassity8941
      @matthewcassity8941 ปีที่แล้ว +3

      ​@CobraCode Hey! I've been a Patreon supporter since the beginning and I've always felt that your content has been worthwhile. Re-assessing the prioritized content is to be expected as your channel grows, so don't worry about finding better ways to spend your time as a content creator. You're filling knowledge and documentation gaps for a lot of us and the content you make coincides with exactly the material I need pretty often. I think your tutorials are the best out there right now. Keep it up!

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      @@matthewcassity8941 Thank you so much for being a supporter and for the reassuring words :D

  • @RandomPolygonsStudios
    @RandomPolygonsStudios 7 หลายเดือนก่อน +11

    You have no idea how useful this video is. Easy to understand and follow, good explanations, nothing missed.

  • @edh3268
    @edh3268 2 หลายเดือนก่อน +2

    My god thank you for this and showing the "Fix Up Redirectories" that was driving me insane before whenever I moved a folder! There should be one video on how to cleanup a project for Unreal Beginners as I'm sure many people start on a project and have bad beginner methodologies and later learn better ways to do things but don't know where to start cleaning, organizing, and moving things in a non-destructive manner for their project.

  • @OokileyGMR
    @OokileyGMR ปีที่แล้ว +19

    Just gotta say thank you for this video! It saved my life, since I made a huge mistake today and forced delete all my assets. Had I not followed this guide a month ago and committed my project to Git, I would have to start all over.

    • @CobraCode
      @CobraCode  ปีที่แล้ว +3

      Awesome, glad to hear this was helpful!
      Nowadays I don't really touch any project anymore without making a repository first and it also saved me countless times.

    • @Novica89
      @Novica89 ปีที่แล้ว +1

      Sometimes I wonder how do people accidentally force delete things :D

    • @OokileyGMR
      @OokileyGMR ปีที่แล้ว +1

      @@Novica89 not knowing better and being completely noob to the field , maybe that :)

    • @Novica89
      @Novica89 ปีที่แล้ว

      For sure, but even so, it says delete, right? :D There are worse things, like deleting the whole database in production which had happened to some guy I know and I'm still wondering how he'd done it@@OokileyGMR

    • @Ratchet2022
      @Ratchet2022 ปีที่แล้ว +1

      @@Novica89 Just recently I wanted to move a bunch of files in subdirectories into their parent directory, but I didn't see the previous command I ran brought me back to my computer's TOP directory, so when I ran the command, it started moving All the files in my computer! Fortunately it stopped and asked if I wanted to overwrite a file pretty early on, and I saw it was moving the wrong files, so I quit the command, but I still had to spend maybe half an hour collecting all those files and putting them back where they belong. 😆😅

  • @jack_of_nil
    @jack_of_nil ปีที่แล้ว +10

    Working with Unreal Engine 5.3.2. I moved blueprints from the FPS starter project into a new dynamic folder via the unreal editor content browser. I got the same warning you did in the video. Fixing up redirectors failed and I couldn't delete the folder even though there were only folders left. Then the UE5 editor kept crashing at launch.
    Ultimately fixed it by deleting the Saved, Intermediate, and DerivedDataCache folders. Then opening the config files and modifying any paths that referenced the moved content to include the new Dynamic folder. Just throwing it out there in case someone else hits this issue. All seems to be working fine now.
    Edit: Maybe less than great. Copied his steps for using gitlab and most of my starter world is gone. fun stuff.

    • @MadiNoe12
      @MadiNoe12 10 หลายเดือนก่อน

      So i guess ill skip that step lol ?

  • @ThePeurderien
    @ThePeurderien 6 หลายเดือนก่อน +2

    I am familiar for years with VCS and Git in particular, yet I learned a lot of things related to Unreal engine use case ! thanks a lot

  • @gartrh
    @gartrh 7 หลายเดือนก่อน +7

    For future reference. If you have a problem with the changes to LFS not being applied to files, I had the same problem. Here are the steps I took to fix it:
    1. Don't edit the .gitattributes text file.
    2. Instead in the Git Desktop app select at the top Repository -> Open in Command Prompt.
    3. Paste in: git lfs track "Content/Static/**"
    4. Wait a second if the changes show up in Git Desktop.
    Dunno why normal text editing didn't work but this did. It does the exact same thing.

    • @Franz_cpp
      @Franz_cpp 7 หลายเดือนก่อน

      ur a lifesaver man thanks

    • @Zulfar-bd9tc
      @Zulfar-bd9tc 6 หลายเดือนก่อน

      What's the reason everything needs to be in the static folder though? Why can't I just do that in the content folder?

    • @IcarusTheEagle
      @IcarusTheEagle 4 หลายเดือนก่อน

      @@Zulfar-bd9tc You would be taking up part of that 1GB of free space for things that aren't required for LFS

  • @seyff367
    @seyff367 ปีที่แล้ว +4

    good point, not many devs talk about this on youtube!

  • @cubez5863
    @cubez5863 ปีที่แล้ว +7

    Thanks for all the video's you make you've really helped me out with ue5 id probably still be struggling without your videos ❤

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      Thanks for watching and the nice comment :)

  • @Rose_Harmonic
    @Rose_Harmonic 7 หลายเดือนก่อน +7

    A twinkle of paranoia has been reminding me that if I do not use some competent version control then I will certainly pay for that mistake. Thanks for this.

    • @CobraCode
      @CobraCode  7 หลายเดือนก่อน

      Yeah, very true.
      I've learned it the painful way and now set up version control, no matter how small of a project it is.

    • @Rose_Harmonic
      @Rose_Harmonic 7 หลายเดือนก่อน +2

      @@CobraCode I try to learn my lessons the easy way. Doesn't always work, of course.

  • @ChrisCohen
    @ChrisCohen ปีที่แล้ว +5

    Thanks

  • @mercai
    @mercai 10 หลายเดือนก่อน +1

    Thank you for this video, it helped us in setting up Github for our UE5 indie game!

  • @jann8262
    @jann8262 9 หลายเดือนก่อน +1

    Man you're saving us a lot of time, Thank you so much for this

  • @BenskiGameWorks
    @BenskiGameWorks 5 หลายเดือนก่อน +1

    Great tutorial!
    I love how you went into the folder structure and showed discarding changes!
    thank you so much!
    P.S. Can't wait to start your Ultimate 2D course on Udemy

    • @CobraCode
      @CobraCode  5 หลายเดือนก่อน

      Thank you :)

  • @johnrex7108
    @johnrex7108 11 หลายเดือนก่อน +1

    Video really helped me a lot, man. Thanks for making it.

  • @manuelmeekattukulam
    @manuelmeekattukulam 8 หลายเดือนก่อน +1

    Thanks a lot bro! Just starting my Unreal Journey!

  • @caldercockatoo2234
    @caldercockatoo2234 11 หลายเดือนก่อน +14

    5:40 Just so you know, the line isn't actually in the description.

  • @Dead_Fish0
    @Dead_Fish0 11 หลายเดือนก่อน +1

    Amazing video - clear and concise thanks :D

  • @ccart2343
    @ccart2343 ปีที่แล้ว +1

    Thank you, great video and a good topic. I use Github but gitLFS and GitLab were usually abit of a struggling point that i didnt realy grasp to understand.

  • @bart8805
    @bart8805 10 หลายเดือนก่อน +1

    Hi, thanks for making this guide. A couple issues at around 6:06 -
    1. Saving the .gitattributes file with the added line did not cause all those other files to show up for me in the left-hand Changes tab.
    2. The preview window for the asset is only showing "This binary file has changed. Open file in external program." for all .uasset files, so I can't check if it's made the git-lfs change. I'm afraid to try opening this file type in another program, as I don't want to damage anything in this current state.
    I'm not the most code-savvy, so I might be missing something here. Thanks in advance.

    • @gartrh
      @gartrh 7 หลายเดือนก่อน

      For future reference. If you have a problem with the changes to LFS not being applied to files, I had the same problem. Here are the steps I took to fix it:
      1. Don't edit the .gitattributes text file.
      2. Instead in the Git Desktop app select at the top Repository -> Open in Command Prompt.
      3. Paste in: git lfs track "Content/Static/**"
      4. Wait a second if the changes show up in Git Desktop.
      Dunno why normal text editing didn't work but this did. It does the exact same thing.

  • @77992daniel
    @77992daniel ปีที่แล้ว +1

    At 19:40 you copy all the contents of the folder to the new folder, so my project that I will open in Unreal will be located in this new folder? instead of the old one? Doesn't this cause any conflict with unreal?

  • @scottisitt
    @scottisitt หลายเดือนก่อน

    Awesome video! Very helpful. Liked and subscribed.

    • @CobraCode
      @CobraCode  หลายเดือนก่อน +1

      Thank you :)

  • @yumeiqiao874
    @yumeiqiao874 3 หลายเดือนก่อน

    thank you, I can't believe mine actually worked!

  • @orlandoromero1289
    @orlandoromero1289 6 หลายเดือนก่อน +1

    Hi, could you please clarify a bit more what you mean at 9:53? Specifically, the data limit part.

    • @CobraCode
      @CobraCode  6 หลายเดือนก่อน

      Github has a 1GB limit on LFS data you can upload for free.
      After that you have to start paying for more storage.
      You can bypass this though by NOT creating a .gitattributes file and NOT specifying anything as LFS.
      This way binary data will be handled the same as code which is not very optimized, it will lead to more data replication and slower uploads and downloads.
      But you won't have to pay anything even if going over 1GB.

  • @kenalpha3
    @kenalpha3 ปีที่แล้ว +2

    Ty. 3:53 Can you direct me to the video that sets up your camera angle change?
    Is the 90 degree turn automatic [at certain branch paths] or player input?

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      Hey, I don't have a tutorial about that, but you can at least check out the devlog I made about creating that game.
      th-cam.com/video/P1GlOq81TZ4/w-d-xo.html

    • @kenalpha3
      @kenalpha3 ปีที่แล้ว

      @@CobraCode Ty. I saw that before and subbed when I saw it.
      This is the most ive see th-cam.com/video/P1GlOq81TZ4/w-d-xo.html
      (Thats the camera change)
      So can you explain which nodes you used to Activate then change Player axis?
      Im guessing: If Constraint plain = Y, then Set constraint plane to X.
      And do we have to Set Camera arm Rotation to extra 90 to match the new axis?
      (But I need help: If Player was already pressing A (Left) and now goes Up [in your vid] (as cam spins to make it look as the new Left),
      ... then does UE make the movement keep going while A-Left is pressed? (meaning smooth movement, no jerk or other directional keypress needed?)
      And can player change angle anywhere or only at a collision volume - on Overlap?

  • @megadrived
    @megadrived ปีที่แล้ว

    This is such a good tutorial!

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      Thank you :) Glad it was helpful!

  • @janbonte6422
    @janbonte6422 9 หลายเดือนก่อน

    Thanks for the video, very good advice. I struggle to follow though, i'm completely new to Unreal so it all goes a bit fast for me. I came here after the recommendation on your Udemy course

  • @zensic
    @zensic ปีที่แล้ว +1

    Thank you! Didn't know LFS was a thing!

  • @tsmdbc
    @tsmdbc 11 หลายเดือนก่อน +4

    Content/Static/** filter=lfs diff=lfs merge=lfs -text

    • @LoofaOfDoom
      @LoofaOfDoom 10 หลายเดือนก่อน

      *lfs

  • @denys.martyniuk
    @denys.martyniuk ปีที่แล้ว +4

    Nice video, thank you!
    I have a few questions:
    1. What is the point of creating Static and Dynamic folders when using Git LFS? Do you make it for your own purposes like, to keep project organized or is it something specific for LFS setup?
    2. Working with binary files such as BP's, static meshes, etc. :
    How do you manage workflow on them? For example: using Perforce you can see such option as Check Out - it tells us that another user is already working on this file and you have to wait until he reverts/submits changes, so you can't work simultaneously on the same binary file(you can only make local file changes that are not managed by Perforce), and this prevents conflicts for binary files(which, as we know, not the most pleasant thing)
    How do you manage these processes using Git? Is there an analog for Check Out? Or you just tell other devs that you're working on a certain asset?

    • @CobraCode
      @CobraCode  ปีที่แล้ว +2

      Great questions!
      1. Yeah it's for git lfs because in the .gitattributes file you have to define which folder is handled by lfs. You could probably also go for a different setup, but I found splitting it like this was the easiest method
      2. I didn't know perforce had that right out of the box, that is pretty awesome.
      Yeah with git it's a bit of a struggle. For small teams I found that just communicating and telling others what you're using is enough.
      For bigger teams you'd probably have to make use of git lock, which I haven't tried out yet.

  • @LucydDev
    @LucydDev ปีที่แล้ว +4

    Quick question! I have been working on a project for a while now and already have an established file/folder hierarchy. The project is fairly large and I finally am getting around to committing to GIT. It seems that the way you showed setting up LFS is great/easy for fairly new projects, however, for a project that is large it seems like a very lengthy and tedious task. I set up my project folders to contain both scripts AND assets that pertain to whatever subcategory of game object and there are many. I really don't want to go through hundreds of files and separate them into different folders, not to mention fixing all of the redirectors. How would not having LFS effect my repository? Am I screwed and basically have to spend hours sorting already established project file directories? Is using GIT to push going to just be really slow/unoptimized? Or is there another solution? Thanks

    • @CobraCode
      @CobraCode  ปีที่แล้ว +5

      Hey.
      Yeah it's a bit hard to apply this to an existing project.
      The problem is that with Unreal Engine pretty much everything is converted to a .uasset file, so you can't really set git LFS rules to make it decide based on the asset type.
      So I believe you will have to separate things in folders to some degree, but instead of putting everything into static you could write down multiple different folder paths in your .gitattributes file.

    • @slothsarecool
      @slothsarecool ปีที่แล้ว +3

      You could setup the LFS .gitattributes rules to match your current structure, the match patterns should be able to accommodate pretty much any nested structure even if it's not black & white like static/dynamic

  • @TheLegendOfTerry
    @TheLegendOfTerry 8 หลายเดือนก่อน

    I agree with all of this except for the static / dynamic folder split. For personal projects it works, but if you try to do this for an Unreal project at work you will be set on fire for messing with the directory structure.

    • @CobraCode
      @CobraCode  8 หลายเดือนก่อน +1

      The alternative would be to introduce more complex rules in the .gittatributes, but since this video is mostly targeted at beginners I think that would have overcomplicated it

    • @TheLegendOfTerry
      @TheLegendOfTerry 8 หลายเดือนก่อน +1

      @@CobraCode I've tried this on a personal project. I'll report back with my gitignore file when I find settings that work.

  • @adamsamy1344
    @adamsamy1344 7 หลายเดือนก่อน +1

    From what I got from you is that there is no limit on gitlfs if you are using gitlab, but there is an overall limit of 10 gbs
    So should I use gitlfs for all files, if I'm using gitlab?

    • @CobraCode
      @CobraCode  7 หลายเดือนก่อน +1

      Hey, I believe the 10GB limit applies to LFS and non-LFS combined.
      So sticking to the regular pattern of committing large binary data only to LFS should still be the best option.

  • @tobito4397
    @tobito4397 ปีที่แล้ว +4

    I keep getting this remoted disconnected message whenever i try to publish the branch. Is there anyway to fix this. Both my friends got it work. I tried on both my pc and laptop and it show the same messages.

    • @seanethofthesith5363
      @seanethofthesith5363 ปีที่แล้ว +2

      I have this same problem. I published one of my new Unreal projects successfully, but whenever I try publishing my larger project that I've been working on for a while, I get this error. Edit: My project is about 22 GB and I have Git LFS data packs

    • @tobito4397
      @tobito4397 ปีที่แล้ว

      @@seanethofthesith5363 Ye the only way i solved it is split them into smaller commits. It worked fine but seeing a lot of commits might ruin the organization and watste your time.

    • @tobito4397
      @tobito4397 11 หลายเดือนก่อน

      @@seanethofthesith5363 was you able to fix it with Git LFS?

  • @MsPillzhere
    @MsPillzhere 11 หลายเดือนก่อน +1

    Great tutorial but you should probably lead with how much you are allowed to upload on github and gitlabs and not after the create repository bit

    • @CobraCode
      @CobraCode  11 หลายเดือนก่อน +1

      Thanks for pointing that out.
      Yeah could have planned out the flow better now that you mention it.

  • @slothsarecool
    @slothsarecool ปีที่แล้ว

    I ran into issues force-pushing a new repo to Github, some weird network errors. Just in case other people run into this, you an push a new branch, then assign that to your default branch in GH, and you can delete the original.

  • @Devslain
    @Devslain ปีที่แล้ว +1

    how would you solve revert changes in commit merge error?

  • @UnrealEnginecode
    @UnrealEnginecode ปีที่แล้ว +1

    Is there an option to distinguish lfs files as UASSETS type why not choose it?

  • @mprotos9192
    @mprotos9192 8 หลายเดือนก่อน

    I like how you made us to do splitting only to tell afterwards that we can't use it...

    • @CobraCode
      @CobraCode  8 หลายเดือนก่อน

      Hey, not sure what part exactly you're referring to.
      You can use the splitting for handling LFS and non LFS files separately.
      Sorry if things were a bit hard to follow along, I was under a lot of pressure and had a bunch of tight deadlines around the time I was making this video.
      I also tried to pack to much info in here which made it a bit confusing.

    • @mprotos9192
      @mprotos9192 8 หลายเดือนก่อน

      @@CobraCode i meant that you talking about lfs and how to do it in github desktop, but github doesn't provide you with enough storage so i got full almost immediately.

    • @CobraCode
      @CobraCode  8 หลายเดือนก่อน

      @@mprotos9192 Thanks for the explanation.
      You can also use github desktop with gitlab though.
      The best way to do it in that case is to create a repo with a readme ready on the gitlab website and then download it through the github desktop client to sync it.

    • @mprotos9192
      @mprotos9192 8 หลายเดือนก่อน +1

      @@CobraCode wow, i thought it would only work with github repos

    • @CobraCode
      @CobraCode  8 หลายเดือนก่อน +1

      @@mprotos9192 It works with a bunch of different repos and services that use 'git' under the hood!
      Sorry I didn't make that clear enough!

  • @suspiciousestsandwich
    @suspiciousestsandwich 4 หลายเดือนก่อน

    Nothing showed up in the files, when I added the files to Git LFS and checked Github it showed nothing. Also it would show that they couldn't find the folder anymore after a while.

  • @quentinhaberlay4157
    @quentinhaberlay4157 ปีที่แล้ว +1

    Hello thank you very much for your effort to bring knowledge like that ! i have a question : when we move asset and particulary maps and the thirdPerson folder your wrote : before making a build you'll need to set up your pawn and map again. Can you explicit what does it mean ? I got two issues from that, one of my levels turn fully black and i cant build the level.
    and the caracter movement disapear on my first map. i put back the thirdPerson folder in content and the movement were fixed but my other map is still unuseable. if you could help me on that it would be awsome !!! thanks

    • @CobraCode
      @CobraCode  ปีที่แล้ว +1

      Hey!
      I believe you only have to go to Projects Settings -> Maps and Modes and re-select the map and game mode you moved around.
      You might also have to open up the game mode and set the default pawn again.

    • @beeteebeats
      @beeteebeats ปีที่แล้ว

      @@CobraCode This did the trick for me, thanks!

  • @bnjmo
    @bnjmo 7 หลายเดือนก่อน +1

    Here is a better way to add lfs to your repo. Instead of enabling it for one specific folder, use file extensions instead:
    *.a filter=lfs diff=lfs merge=lfs -text
    *.lib filter=lfs diff=lfs merge=lfs -text
    *.uasset filter=lfs diff=lfs merge=lfs -text
    *.png filter=lfs diff=lfs merge=lfs -text
    *.umap filter=lfs diff=lfs merge=lfs -text
    *.jpg filter=lfs diff=lfs merge=lfs -text

    • @seanerer
      @seanerer 10 วันที่ผ่านมา

      I think he's trying to make sure the BP files are not in LFS. I believe you can do the following:
      *.uasset filter=lfs diff=lfs merge=lfs -text
      !BP_*.uasset

  • @psychxx7146
    @psychxx7146 8 หลายเดือนก่อน

    I've been switching branches and merging files while my project was open. It would often crash when I'd start the project and eventually one day broke and corrupted my files...

  • @Maxparata
    @Maxparata 6 หลายเดือนก่อน

    I have problems uploading files more than 100Mb.
    I hit the "Publish" button in git desktop, it starts to upload normally, and at some point some popup window appear saying :
    "The push operation includes a file which exceeds GitHub's file size restriction of 100MB. Please remove the file from history and try again."
    I bought a $5 GitLFS pack data, but nothing changed. Anyone could help please?

  • @TheKr0ckeR
    @TheKr0ckeR ปีที่แล้ว

    Great guide, I have a project derived from Lyra framework, I want to push it to the Github but i am afraid of changing folders since the framework depends a lot to the folders. So how would i push it with Git lfs by editing git attribute more deeply? What should i send to the git lfs

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      Hey, yeah you can change stuff in the git attributes to target other folders.
      In that case I would just send everything to LFS that is already there and only have your own stuff you'll edit frequently on non-lfs git.

    • @TheKr0ckeR
      @TheKr0ckeR ปีที่แล้ว

      @@CobraCode Hmm, that is a good idea. So i need at least git-lfs subscription for that. I heard git-lab downgraded from 10gb to 5gb. I think that wont be enough for me.

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      @@TheKr0ckeR
      Thanks for letting me know... I didn't know they downgraded to 5GB... that's horrible.
      I can still use my 20GB repos, but maybe that's only because I've been a member before they changed the rules

  • @sandrawatt
    @sandrawatt 4 หลายเดือนก่อน

    This is really great, and exactly what I've been trying to wrap my head around!
    In the video you mention that in UE5, Git will now track changes in the same file as separate changes. I see that Data Tables are .uasset files, so does this mean that multiple team members can work on different rows in the same Data Table without managing locking of the whole file?
    What about Maps? If changes are tracked on the actor level, can multiple team members work on different parts of the map without locking the whole map? Thanks!!
    I realize that with UE4 both types would have to be managed using team co-ordination or file locking.

    • @CobraCode
      @CobraCode  4 หลายเดือนก่อน +1

      Hey, since data tables are uassets they are binary data and cannot be merged.
      You'd probably have a shared google sheet with your team which everybody edits and one person will then update it in the engine.
      How maps are handled has changed in some version of UE 5 and now moving and placing objects uses 'one actor per file' which means unless people work with exactly the same object in the map, changes should not affect other team members.
      You can also use sub-levels and other things to lower the chance of conflict even further.

    • @sandrawatt
      @sandrawatt 4 หลายเดือนก่อน +1

      @@CobraCode Thanks for the additional info on data tables! I'm working on an Excel macro that can convert a pasted DataTable row into an Excel table, and then later will attempt to reverse the process, so that Excel rows can quickly be transferred into the DataTable. Obviously this would be very specific to our schema, but still, will be helpful I think!

  • @lukafi
    @lukafi ปีที่แล้ว +1

    I really don't want the game files to be split into two different folders for LFS.. I have a project with a decent amount of stuff already and it would be incredibly hard to move all of the binary files specifically, into another folder.

    • @CobraCode
      @CobraCode  ปีที่แล้ว +1

      You could set rules for specific file types and such... however since pretty much everything in Unreal Engine is converted to a uasset file that won't do any good.
      Might have to set rules that dig into multiple folder layers for LFS then.

  • @AppleGaming4Real
    @AppleGaming4Real 6 หลายเดือนก่อน

    Hey there! Would you recommend git as I am a programmer who wants to work with a level designer on a project that's about 60 GBs total due to assets. Would it be too slow for them (all things considered)

    • @LuminaSV5
      @LuminaSV5 6 หลายเดือนก่อน

      it shouldn’t have any issues as long as you’ve purchased larger storage for git. To put this in perspective, me with my team of 3 total used about 6gbs of storage and 26gbs of bandwidth from the 50gbs we purchased in about 2-3 weeks of fairly constant work. You end up using lots of bandwidth due to lots of pushes

  • @Valhallaeiru
    @Valhallaeiru 11 หลายเดือนก่อน

    But what about handling merge conflicts between branches on binary files? How do we solve this?

    • @CobraCode
      @CobraCode  11 หลายเดือนก่อน

      You can't, as far as I know.
      I would recommend against using branches as much as possible when working with binary files since I found branches just add to the risk.
      You need to make sure merge conflicts don't happen in the first place by communicating with your team or locking files.

  • @NeiYt-vc7fh
    @NeiYt-vc7fh 6 หลายเดือนก่อน

    Hello, Can you help me? I have a project in Unreal Engine 5, I need to colaborate with other person at the same project, so, when I uploaded the repository in github Desktop. The idea would be that we can both use it at the same time. However, only the first uploaded version is downloaded. But updates made from the other person are not reflected in github. Does anything additional have to be configured on the other person's computer for it to work? It's urgent :((

    • @CobraCode
      @CobraCode  6 หลายเดือนก่อน

      Hey, not sure what exactly the problem is.
      Yeah one of you has to put it up on Github and then invite the other person.
      Now both of you should be able to do commits and pushes.
      You have to be careful with binary data though because if the 2 of you change the same file at once it's gonna lead to a merge conflict and yeah in that case only one of you will be able to push through their changes.
      You need to communicate to make sure not to use the same files unless they are C++ code.

  • @gendalfgray7889
    @gendalfgray7889 3 หลายเดือนก่อน

    How to upgrade project for new engine version?

  • @brianborrero4584
    @brianborrero4584 11 หลายเดือนก่อน

    do we have to pay now for GitHub storage? I was working in a project and its giving me an error about -> batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
    I am new at this and i am learning in my own

    • @CobraCode
      @CobraCode  11 หลายเดือนก่อน

      LFS storage on github is not per project, but per user account AFAIK.
      So maybe another project is already using bandwith.

  • @gustavherbst8208
    @gustavherbst8208 10 หลายเดือนก่อน

    Hey my gitlfs doesnt look like it was setup correct, because I dont have the text that you had for checking if lfs is working and I get a mistake when pushing of a to large file (170 mb). .gitattributs and file name is correct and git lfs should be installed, so whats wrong or what I forgot?

    • @gartrh
      @gartrh 7 หลายเดือนก่อน

      If no changes to fiels show up when you apply the .gitattribute change, see this:
      For future reference. If you have a problem with the changes to LFS not being applied to files, I had the same problem. Here are the steps I took to fix it:
      1. Don't edit the .gitattributes text file.
      2. Instead in the Git Desktop app select at the top Repository -> Open in Command Prompt.
      3. Paste in: git lfs track "Content/Static/**"
      4. Wait a second if the changes show up in Git Desktop.
      Dunno why normal text editing didn't work but this did. It does the exact same thing.

  • @jirkafornous7162
    @jirkafornous7162 ปีที่แล้ว

    Really nice video, thank you.
    But I have one question:
    Is there a possible way of how could two persons work on the same file(for example blueprint) at the same time while not having any conflict?

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      Blueprints and maps are binary data, so NO only one person can edit them at a time.
      Merging files only really works for text files and code.
      So you'll have to communicate with your teammates on who uses what to not cause merge conflicts.
      There's also a locking system where you can check out files to let others know they're not allowed to touch them, but I haven't personally used that yet.

  • @dehrk9024
    @dehrk9024 9 หลายเดือนก่อน

    i also just like git because its like you can commit something and then call it a day and otherwise im always tryna quickly do some more stuff etc xD

  • @gevorghambardzumyan2375
    @gevorghambardzumyan2375 ปีที่แล้ว +1

    and what about branching? We mostly use different branches in web development, but what about benching for ue?

    • @CobraCode
      @CobraCode  ปีที่แล้ว +1

      Hey, for Unreal Engine I find that using branches only increases the chance of having unsolvable merge conflicts and I generally avoid it.

    • @gevorghambardzumyan2375
      @gevorghambardzumyan2375 ปีที่แล้ว +1

      @@CobraCode thx for the answer.

  • @psychxx7146
    @psychxx7146 8 หลายเดือนก่อน

    Does using git branches with unreal tends to break things?

    • @CobraCode
      @CobraCode  8 หลายเดือนก่อน

      Yeah I'd refrain from using branches for this since it's very easy to mess things up.
      You generally don't want to do any merges with blueprints since it can corrupt binary data.

  • @goldenboy7885
    @goldenboy7885 8 หลายเดือนก่อน

    Is it possible to use this function as a backup ?

    • @stigidystacks3747
      @stigidystacks3747 5 หลายเดือนก่อน

      That is kind of what its used for

  • @penumbraproductions7516
    @penumbraproductions7516 7 หลายเดือนก่อน

    Nobody'll probably ever see this, but for some reason despite having Git downloaded and GitHub and everything set up properly, GitHub keeps telling me I don't have Git installed. I have installed the latest version of each.

  • @janbonte6422
    @janbonte6422 9 หลายเดือนก่อน

    I do not see the clone button on the gitlab page

    • @CobraCode
      @CobraCode  9 หลายเดือนก่อน

      The button should appear after you created a new repository.
      It needs to have at least a readme or some file in order to be able to be copied.

  • @AJKeefe
    @AJKeefe 3 หลายเดือนก่อน

    I dont have a .gitattributes file?!?! What do I do?

    • @CobraCode
      @CobraCode  3 หลายเดือนก่อน

      Just right click and create a new text file and then rename it to .gitattributes

  • @_Garm_
    @_Garm_ ปีที่แล้ว +1

    on a different topic :) curious in Paper 2d an UE5 what kind of cool effects can you do thinking of lights and other similar things :)

  • @FlockersDesign
    @FlockersDesign 9 หลายเดือนก่อน

    You need GITLFS anyway if you want to upload and even doenload more than 1GB to github

    • @CobraCode
      @CobraCode  9 หลายเดือนก่อน

      Are you sure about that?
      I remember having repos that are multiple gigabytes large without LFS.
      Of course the upload and download speed is not great that way.

    • @FlockersDesign
      @FlockersDesign 9 หลายเดือนก่อน

      @@CobraCode yep im sure got two actual projects one there not jist a tamplate and spend atleast 20 per month for 200GB space
      It eve says it on github itself

  • @THExRISER
    @THExRISER หลายเดือนก่อน

    Thank you.

  • @chameleonedm
    @chameleonedm ปีที่แล้ว

    Not sure if you've noticed or care, but you flashed your personal email in this video. You may want to reupload. Thanks for the guidance though! Very clear!

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      Hey, thanks for pointing that out.
      Just went through the whole video, but couldn't find where it's shown.
      Can you please give me a time stamp?

    • @chameleonedm
      @chameleonedm ปีที่แล้ว

      @@CobraCode I emailed your business email listed on the channel

  • @BrontoKroxig
    @BrontoKroxig 4 หลายเดือนก่อน

    7:40, that...that makes 0 sense to me TT why Unreal, why?!

    • @CobraCode
      @CobraCode  4 หลายเดือนก่อน

      If you check the remaining videos on my channel you're gonna find the answer

    • @BrontoKroxig
      @BrontoKroxig 4 หลายเดือนก่อน +1

      @@CobraCode any hint to some video in specific? Now I'm curious ^^

    • @CobraCode
      @CobraCode  4 หลายเดือนก่อน

      @@BrontoKroxig Here's one I made in collaboration with Thomas Brush mostly targeted at Unity Devs.
      th-cam.com/video/exrnhRcdy0s/w-d-xo.html
      This one might also be relevant:
      th-cam.com/video/eI7Yaps-11Q/w-d-xo.html
      I actually have even more reasons now xD
      ... so I might want to make an updated video soon

    • @BrontoKroxig
      @BrontoKroxig 4 หลายเดือนก่อน

      @@CobraCode THANKS!

  • @dennisgonzales9521
    @dennisgonzales9521 ปีที่แล้ว

    why UE's Git in beta though?

    • @CobraCode
      @CobraCode  ปีที่แล้ว +1

      It's just the integration into the editor, which I wouldn't recommend using in the first place.
      I guess they started working on that but then other higher priority things came up, which happened a couple of times with other features.

  • @marcapouli7805
    @marcapouli7805 ปีที่แล้ว

    Is it free? Is there limitations like project size?

    • @CobraCode
      @CobraCode  ปีที่แล้ว +2

      Hey, that's all explained in the video if you listen closely.
      Github is free till 2GB afaik.
      Gitlab is free without limitation (there is a 20GB limit on all repos in general though), you can only invite up to 5 members to your project on the free plan though.

    • @marcapouli7805
      @marcapouli7805 ปีที่แล้ว +1

      @@CobraCode Ah thank you! I guess I'll try to find an other tool. 20 gb isn't enough (1 meta human and 2 megascan assets and that's over 😅 ), and I don't have anyone to invite.

  • @sterling2510
    @sterling2510 3 หลายเดือนก่อน +1

    This didn't work and caused me a ton of headaches. It clearly isn't appropriate for large projects and you are missing details.

    • @CobraCode
      @CobraCode  3 หลายเดือนก่อน

      Version Control = Headache
      So you're doing it right.
      Joking aside...
      Sorry but I can't make a 5 hour video, so this is of course a summary and we could go down many rabbit holes and edge cases.
      This does represent the method I've used for over 5 years though, including shipping a 2 year project.
      Recently though I made a video for Diversion which is an alternative solution for version control that many of my viewers found a lot easier to use than this process.
      It's a sponsored video though, so think of it what you will.
      th-cam.com/video/GDgEzTxAGSA/w-d-xo.html

  • @ARANDOMOPENAIUSER
    @ARANDOMOPENAIUSER 11 หลายเดือนก่อน

    11:30 left off here,

  • @nick-0579
    @nick-0579 6 หลายเดือนก่อน

    You are lying? I select my unreal file and all that uploads is a git.ignore file. No game files, no objects, no levels, no blueprints. Just a single git ignore file. How do I fix this? And why is this git shit such a pain in the ass to set up??

    • @CobraCode
      @CobraCode  6 หลายเดือนก่อน +1

      Sorry, but I think the problem is probably your attitude.
      If you think everybody that's trying to help is a liar simply since you made a mistake somewhere along the way, you're gonna have a hard time learning anything.

    • @nick-0579
      @nick-0579 6 หลายเดือนก่อน +2

      @CobraCode I'm sorry man. I was just really angry because it was hairpullingly frustrating to set up such a simple thing. My bad.

    • @CobraCode
      @CobraCode  6 หลายเดือนก่อน +1

      @@nick-0579 It's all good, no hard feelings :)
      Just try to think back to this moment when stuff like that comes up again.
      Game dev is extremely hard and the only way you'll be able to keep going and eventually succeed is to harness your frustration and anger into something productive.

  • @omegacrimson2809
    @omegacrimson2809 8 หลายเดือนก่อน

    video jumps around too much and loses sight of what they're trying to explain. confusing video, go next.

    • @CobraCode
      @CobraCode  8 หลายเดือนก่อน

      Thanks for the feedback.
      I might have wanted to explain too much in this one which made it feel a bit unfocused.

  • @boot-strapper
    @boot-strapper 4 หลายเดือนก่อน

    Git cli is a much easier way than this

  • @Lyserus
    @Lyserus ปีที่แล้ว +1

    First!

  • @lxHITMAN
    @lxHITMAN 3 หลายเดือนก่อน

    Kinda useless video. I'd like to know how I can revert part of changes in one big uasset for example.

  • @slothsarecool
    @slothsarecool ปีที่แล้ว +1

    Thanks

    • @CobraCode
      @CobraCode  ปีที่แล้ว

      Thank you for the support :D

  • @MrBagarai
    @MrBagarai 9 หลายเดือนก่อน +1

    Content/Static/** filter=lfs diff=lfs merge=lfs -text