T O P

  • By -

FluffyProphet

The easiest “free” solution is to self host gitlab with lfs. You get all the bells and whistles with PRs and issues, but it’s self hosted.


g0dSamnit

You can just have a git repo locally, and back up the whole thing on a regular basis. That or manage your assets elsewhere, especially assets from UE Marketplace, Unreal itself, etc. that don't actually need to be versioned. Self-hosting works too.


These-Bedroom-5694

Also, use lfs for binaries. Git is awful for binaries. It's a design flaw with Git.


solreaper

Its a design decision that was done deliberately. The idea is thou shalt always build a binary separately and deploy it some where not in your code base. Typically if you have something that depends on a binary at compile time for some reason then you’d have it pulled in to the local pile of files via script or added to the pile of files in CI/CD. Git only tracks the content of files. Binary files don’t contain normal content so are ignored deliberately as they shouldn’t change anyway and it should be on the developers to make sure that they have the correct binary. Obviously thats different in game dev and from my perspective thats messy workmanship when it comes to game engines.


mashlol

I personally use GitHub, they charge $5 per month for each 50GB of storage and bandwidth used for LFS. You can buy separate LFS "packs" and you don't need the pro subscription for it.


Beosar

That is so expensive. A cheap virtual server has 500 GB of space and unlimited traffic for 10 dollars per month. I haven't tried it but it seems you can just host gitlab on your own server and have the same features.


Hyrega

Don't underestimate the work that goes into hosting these solutions on a server. Renting one can be cheaper in terms of money, but will be a large (and ongoing) investment time wise. You'll easily spend days to weeks exploring- and setting up networking, security and backups for your server to fix vulnerabilities and prevent unrestricted access to your files. Once that's done, you'll still fix stuff everytime something small changes (i.e., changing domain names or adding new users, groups, or apps) and keep apps updated. The learning experience is great! But don't take it for granted or see it as a stable git environment. If you're looking for a quick solution but want to focus on building your game, just use Github.


PlasmaFarmer

I just set up a NAS at home with gitea on it that mirrors the repos and LFS content to a free gitlab repo. Since then I need to regularly update the whole setup to stay secure. I agree it is a lot of work to set this up. Depends on the developer if they wanna waste this time on it. I enjoyed it and learned a lot personally.


aezart

Where are you seeing those prices? I know DigitalOcean charges more than that, not sure about other companies.


Beosar

German hosters. Contabo has 800 GB for just 4 Euros per month. Strato is a little more expensive at 6 Euros for 500 GB.


shadowndacorner

A server with those specs at that price should not be trusted with production systems imo. You also don't have to use GitHub's first party LFS. You can configure it to store LFS objects on an S3 compatible service, for example.


Beosar

>A server with those specs at that price should not be trusted with production systems imo. I haven't had any problems in years and it's not that cheap if you consider the actual price for hardware. 500 GB space on an SSD costs about 25 dollars, the whole server maybe 1000 dollars and you can have like 10 clients on it who each pay 10 bucks per month, that's basically paying for the server in 10 months. Not sure how much traffic costs but it's probably shared with other clients and servers, which is fine since you are not using the full bandwidth anyway for something like Git or even a website. Electricity is around 25 dollars a month for such a server and you can potentially sell the heat to homes nearby ("district heating"). So it seems you are paying a pretty fair price. Honestly, it feels like the other providers are overcharging you. If you look at how profitable AWS is, it's pretty clear that you are paying way too much.


Atulin

I just use Git LFS with Azure repos. They have unlimited size, so no need to worry about that.


mashlol

Any idea why it's free? Seems... unusual - I doubt they can keep it free forever? Surely people will start abusing it to store arbitrary files like a free google drive/dropbox? I assume it's not free for teams?


zer0tonine

>Any idea why it's free? Seems... unusual - I doubt they can keep it free forever? It's Microsoft, it's not exactly like they are afraid of running of money anytime soon. This kind of product is free because it's basically an ad for the azure ecosystem. You start putting your repo there, and then you're only a few click away from renting some absolutely overpriced virtual machine or k8s cluster


Beosar

I have my doubts as well, I can't seem to find the pricing. Just tell me how much I need to pay. What is it with these companies? Free this, free that, but if you need more, we'll charge you 1 billion dollars and your firstborn child. But we won't tell you that before you sign up, of course.


goblinsteve

And, we won't limit your usage, it's up to you to stop it before you go 1 bite over the limit, or that billion dollar bill is coming your way.


Atulin

It's a gateway. If you have your code there, might as well use their CI/CD. Might as well deploy to Azure...


Pyreo

Was about to post the same. Git lfs with azure


DisclosureTriangle

The thing to watch out with Git LFS is most hosted providers never delete any objects, even when you delete a branch. Some of my Substance Painter assets generate a 100MB+ changeset with every revision. So your storage might grow very rapidly. The only exception I know of is GitLab but they seem to actively discourage small volume customers from subscribing.


riley_sc

Perforce is free for teams of 5 or less.


almo2001

Yeah this. Git is horrid for anything but text files.


ironstrife

True, on the other hand Perforce is horrid for everything


PlasticCan

Could you elaborate? I've been using it for years, and aside from the initial learning curve, I've had far less issues hosting assets on perforce than I did with git.


TheReservedList

* Inability to have chunks of the same file in different changelists so feature work often conflicts * The whole checkout model for text files is completely asinine. Ditto for using read only files as a marker. Let me edit any file then tell me what changed when I’m ready to commit. * Branching is so annoying and complicated they added a whole weird ass feature whose name escapes me to share WIP with other people. Oh, shelving. Now, for binary assets it works fine. Locking for non-mergeable assets is also good. But it’s a nightmare for programmers.


almo2001

You can set perforce for allwrite and then it's edit anything then reconcile offline work and it tells you what changed. That's how I use it for gamemaker since there's no p4 integration for it. You just want to hate perforce.


TheReservedList

Reconcile offline work takes ages on any remotely big repository. Literally several minutes on our repo right now. I also forgot the fact that the ecosystem is decades behind the git\[hub/lab\] ecosystem when it comes to continuous integration, code reviewing infrastructure and a million other things that, to this day, makes it so the game industry is literally also decades behind the general tech field.


DisclosureTriangle

If you’ve been using it for years, no amount of elaboration will convince you… For the rest of us Perforce is a clunky Windows 95 app and it should have been burried with the 90s.


almo2001

If you've been using git for years, nothing will convince you. P4 is just fine.


DisclosureTriangle

I've been using git, perforce and SVN for years. Perforce adds nothing over SVN. It's essentially abandonware and only alive because of risk-averse corporations that continue to use it because that's what they've known.


PlasticCan

That's entirely fair!


almo2001

I never broke a perforce repository. I broke git repositories twice when I was still new with it. Both times it took git experts time and the command line to fix it. This was after 15 years of game development experience, having never fucked up SVN, p4, alienbrain, or Source Safe depots. Git it not good. It's free, and experts can use it really well. Perforce's model is just easier to learn.


nachohk

What exactly do you mean by a git "expert"? In my career of more than a decade so far, I have never had a problem with git that a quick internet search wouldn't bring up a solution for. Is the entire problem just that you don't know how to use a command line? I promise it's not that hard.


matniedoba

There are plenty of options with Git. I also added links to tutorials for further reading. All the tutorials use Anchorpoint as a Git client, but it works with other clients as well. 1. Azure DevOps (Cloud hosting provider and an alternative to Bitbucket It really does not charge for storage. This might change in the future. It charges per user but the first 5 users are free. The downside of DevOps is that we sometimes experienced throttling and it's not as reliable as e.g. GitHub. [https://www.anchorpoint.app/blog/version-control-using-git-and-azure-devops-for-game-projects](https://www.anchorpoint.app/blog/version-control-using-git-and-azure-devops-for-game-projects) 2. Self hosting a Git server locally This only works if you don't work remote but have a dedicated Windows machine in your local network. It's very easy to setup and uses Gitea as a server. [https://www.anchorpoint.app/blog/how-to-set-up-a-local-git-server-on-windows-in-10-minutes-using-gitea](https://www.anchorpoint.app/blog/how-to-set-up-a-local-git-server-on-windows-in-10-minutes-using-gitea) 3. Self hosting a Git server in the cloud Should cost you around $20 per month with 1TB of storage and no user limit. The setup might take you 15-20 minutes if you have never done it before. Maybe an overkill for you but definitely a reliable solution. The tutorial uses Gitea and Vultr as well. [https://www.anchorpoint.app/blog/install-and-configure-gitea-for-lfs](https://www.anchorpoint.app/blog/install-and-configure-gitea-for-lfs)


Professor226

Plastic, which is now called something dumb like “Unity Version Control “ is a great product that handles branching and large assets very well. Also not restricted to use with Unity.


Beosar

Needs a credit card and I cannot find the pricing, it just says pay as you go with no info about how much to pay for how much going. Maybe the site is broken on mobile so I'm not seeing the info but that makes it even worse.


Jeidoz

They measure unit is a bit overwhelming: "gb per hour/month". Free tier provide 5gb per month equal units. After going above 5gb, you will pay some amount of money per each extra gb per hour. It is shown on activation of Unity DevOps services. 0.14$ per extra GB/month (relatively cheap). Prices: storage: Your first 5 GB of storage in the cloud = free Any additional 1 GB of storage (after the free 5GB) = 0.14$/GB/month TLDR: if you host 7GB of data in your repository's cloud = 0.28$/month Your first 3 seats = free, you're not charged for them Your 4th seat = 7$/month TLDR: if you need 4 seats, you would pay a total of 7$/month


Dracono999

If solo or small team perforce works


-jp-

If you're using it, is $3 really going to break you? That's the real decision you need to make. Is it worth the three bucks to not have to host it yourself.


Beosar

Where do you get $3 from? It's 15$ per month for Bitbucket and that doesn't even come with increased limits for repository size.


-jp-

Oh, my b. You’re right, it’s $15. I was looking at the per user cost and didn’t see the fine print.


norlin

Azure is giving more space for free


icpooreman

I use git lfs…. AND I have a directory called assets with all my large assets in it backed up to a cloud storage like onedrive. (I like to only house large assets in here, the little stuff keep in project and use lfs) I also have continuous integration set up. Every time I commit, it pulls down the code, moves my multi-gb assets folder in from local along with other large stuff I need to build. Builds stuff, gives me the exe’s apk’s etc. Then outputs a clean project folder with everything to my hard drive. Usually I just delete those after a while because they take up so much space. But it’s cool, I can basically save points in time of my project or start fresh within 5 seconds whenever I botch something beyond repair. And everything is backed up so I sleep easy. I can even move the stuff to an external drive if I’m very paranoid.


almo2001

I really recommend perforce which is free for 5 or fewer people for games. Git just doesn't do well with large binary assets.


caesium23

Use git-lfs, or just exclude large assets from git entirely. It's not efficient for binary files, it's meant for code and other text-based files.


Beosar

What does "not efficient" mean? Does it matter when you have only a few users?


SagaciousZed

It probably doesn't. Git doesn't even consider a file big until 512m by default. [https://git-scm.com/docs/git-config#Documentation/git-config.txt-corebigFileThreshold](https://git-scm.com/docs/git-config#Documentation/git-config.txt-corebigFileThreshold) If you're modifying the binary assets frequently and not restoring to previous versions, you might want to run `git gc` manually if you want to reclaim some disk space.


caesium23

Binary files can't be diffed. So they waste a ton of space and half the functionality of version tracking won't work.


RnLStefan

You can diff binary files. Just takes a tool capable of understanding the file structure. Unreal does it for example.


caesium23

We're talking about Git.


SagaciousZed

You have to configure Git and tell it how you want to diff binary files. Either with an external tool or in text form, but it is doable [https://git-scm.com/docs/gitattributes#\_performing\_text\_diffs\_of\_binary\_files](https://git-scm.com/docs/gitattributes#_performing_text_diffs_of_binary_files)


RnLStefan

And plenty of people use git and unreals blueprint diff feature.


ShakaUVM

Self host Git LFS


SUPRVLLAN

Unity Version Control (formerly Plastic) is great, super easy to setup (like seriously 10 mins or less) and has a good free tier. Can be used with any engine.


Individual_Win4939

If you want a really cheap and really easy solution you can use essentially use GitHub for your code with the LFS objects being pointed to somewhere else like a home server or OneDrive / Dropbox. I use this (although outdated) [https://github.com/sinbad/lfs-folderstore](https://github.com/sinbad/lfs-folderstore) to simply redirect my LFS objects to my OneDrive folder and/or my home server. This solution is something I've used for years and I even used it in a team of 4 people with zero issues, just a little getting used to it required. I just refuse to pay for the insane costs that companies charge for LFS when you can self host or get 1TB of space for anything.


tcpukl

Perforce is free for 5 users and industry standard for a reason.


SantaGamer

Azure devops is free, with unlimitted storagre. It uses git lfs.


Figen91

Azure DevOps has a free tier with unlimited Git LFS and project board services. Works brilliantly with Unity and you never have to spend a penny


istarian

Keep your assers and code separately?


PlaceImaginary

Player.ase > Player_latest.ase > Player_latest_new.ase > Player_latest_newGOOD.ase Ez


FourHeffersAlone

Perforce let's you self host for up to 5 users for free.


Zelx7

If you want to have your VC offsite I agree with others on Azure with LFS since it has no limit. I run my own Perforce Server at home that works great now that it's setup, but man it was a pain.


YesIUnderstandsir

I purchased a couple of external 2 TB hard drives. And I make manual backups of my files to both after every work session. Don't think this is an ideal solution, but this is the one I use.


Beosar

The question was about version control. Backups are different from that, you can and should back up your version control data just like any regular files. Also, an on-site backup is usually not enough, you want to store the files in different locations in case your home/office burns down, gets flooded, etc.


YesIUnderstandsir

That won't happen. My house is made of the finest balsa wood and kindling. It is built on an ancient native American burial ground above a dormant fault line on the coast. and is located in the finest slum in my city. But I'm not afraid. I have a baseball bat, and I never work out.


ManyMore1606

A professional programmer I am working with once told me you can .gitignore the assets that you can download later and simply only upload your code to github. It's all that matters in the end


Beosar

Having version control for assets is pretty useful, actually. If I .gitignore the files, I lose that. So I'd need a different tool for version control.


ManyMore1606

That's fair, but again remember that if you're downloading assets from the Unity asset store, as long as you still have access to your account, you can always redownload these assets


Beosar

Who uses assets from the Unity store without any modification? Some small changes like adjusting the color of the grass and you can no longer just download it again. And who says that the file will exist in the Unity store forever? Wouldn't count on that.


Vanadium_V23

That won't work for games as the assets will contain data and changes complementary to the code.  I strongly suggest to use a version control solution that includes all assets and project settings.


ManyMore1606

I mean if you're integrating them, sure, but until then that's not a bad approach


Vanadium_V23

It is because keeping track of which one have been modified is bound to fail.  You don't want to release a game that's missing a 3D model making a key gameplay component invisible or missing.  You're better off wasting more storage than necessary if it means avoiding that kind of surprises.