#source-control
1 messages · Page 31 of 1
if i want to use a engine source build, would this be another perforce workspace ? or another stream ?
or since its only code, could it be just a git repo ? but if so how do you sync that with the projec tfiles ? (since you should sync editor version with project version)
Yeah, you've got the stream/branch that you're working out of.
And the binaries are zipped up in another location in perforce (probably another stream/branch but may not be required)
When artists sync, UGS will pull the version of binaries that correspond to the version needed for that CL as well as the working stream.
Anyone that builds locally, just syncs the working directory and builds locally.
Personally I like the engine source to be a seperate stream, but you don't have to. Other people like it all in one stream.
You can setup the game stream with an "import" directive so that when you sync the game stream, it will sync the engine stream as well and put it "somewhere" (as defined by your stream and workspace configurations).
so if i have
- [01] code change
- [02] content change
- [03] content change
- [04] code change
if as a designer i pull CL 03 or CL 02, it will get the PCBs at CL 01 ?
and pulling at CL 04 will get PCBs at 04
Yes
very nice
i assume DDC tools like Zen does the same ?
zip file with cache and it takes the correct version to correspond to the latest CL content change ?
maybe not a zip file
I'm not 100% sure how Zen interacts with the whole thing.
But I would assume it works in some correct way 😄 since it'd be Epic's native workflow
we are in a small studio (10-20 ish for now) but since we plan to use perforce anyways and UGS is free and we dont work remotely (for now) im planning into using it
having VS on all computers is very slow and inconvenient
Yeah, for sure. Perforce+Horde+UGS is how I'd get a studio of any size spun up.
an Unreal studio at least 😄
ill hit this channel in the next weeks/months when i will probably run into issues 😄
thanks for all the answers!
At my last studio (13 people) I managed most of the perforce streams so I have lots of opinions there.
Someone else was handling the Horde+UGS stuff though. So I only sort-of know how that worked.
Your assumption about PCBs is correct, you will always download precompiled binaries for the last code change relative to where you're syncing...
as for DDC tools like zen, or Cloud DDC etc. they're completely unrelated to this workflow, they're prertty much just a local/lan/wan cache for the intermediate files that unreal produces (such as compiled materials etc.) - especially the lan (local) and wan (cloud) DDCs are pretty much just shared caches that can speed up engine startup etc. at a cost of a bit of network usage - they're tremendeously usesful for incremental cooking etc.
as for horde that's a orchestrator layer on top of UAT and UBT which is reponsible for delegating build jobs to your buildfarm (and can also be used as an orchestrator for UBA which is a acceleration system that allows to use remore resources for compilation and shader cooking)
This should pretty much cover it all... as Ramius said, Perforce, Horde and UGS (and optionally shared/office-level zen cache as well) is a bare-minimum solution I'd recommend deploying if you're starting from scratch, it will make it easier for you down the line since many of epic's workflows work best with that
custom LFS server, I accidentally cancelled the push of a lot of new art assets, and now I believe I have an issue where the server is holding multiple copies of the same thing, mainly bc of this. How on earth does GitHub Desktop think there's only 20GB pushed, and the bucket think there's 70GB of stuff there...
Dumb question: How do I set up ForceCompilationOnStartup so every collaborator current and future will also have it?
Well… I’m not at my desk to give you all the specifics but iirc it’s driven by the bForceCompilationAtStartup flag which would likely go to the DefaultEdutirPerProjectUserSettings.ini and if you submit that file with that flag enabled (in correct category) you can enable it for all… to find which flag it is you can look for it in the source code or your saved configs that contain your current config
You can also press “Set as default” at the top right corner of the settings window, but that might write more fields into the config than just this one, so check before and after
And last side-note, I am unsure of your setup but I’d generally caution against forcing compilation on startup permanently… it is more intended to be a hailmary last ditch effort to force unreal to recompile bps and cpp files and I’ve never seen it just enabled in the wild
Yeah I did read on that. Issue is I am the only programmer in a small team of artists, level designers etc, so I need a simple enough way to compile the project for everyone. Got a lot of "bugs" that are actually just them not compiling the project.
Would you say it's better to just tell them to launch the project thru Visual Studio and hope they can all manage with that?
Well, depends on what version control are you using, if you are using perforce you can take a look at unreal game sync which is a tool epic made for themselves and it simplifies syncing etc. and one of the features it has is support for fetching precompiled binaries. Which usually a buildfarm or you manually build after each code change and ugs fetches them fir artists, they don’t don’t have to compile anything or even have visual studio installed to that matter.
You could likely replicate similar behavior using git hooks if you’re using git, but you’d be on your own in terms of implementing it
a simple solution if they all have VS is to force compilation on start up
A small collection of hidden settings and other features.
thats what we do
The issue is that setting this, I heard, can cause some issues...
Currently we're using Diversion as a cheaper alternative to perforce- Small and unfunded, yknow
yeah, understandable... perforce is not cheap, I've heard that diversion might have their UGS integration in alpha stage or something like that, if that's true and they already support PCBs it might be way to go for you, if they don't have it yet, then best way would be to use the bForceCompilationAtStartup despite its drawbacks like I've (and others like Fishy) suggested as it's the way where you have to do least hackery
Hm, do you think the risks are manageable? I wanna avoid creating a situation where noone has a working project to work
I'm not sure exactly what the shortcomings can be, but for now I wanna try and see if I can just show everyone how to compile it themselves since we're few enough that might be viable too.
problems with the auto update during startup is the fact that it also forces recompile of all blueprints etc. which can get quite slow on large projects (which is true for larger C++ projects as well) ... and generally artists should never compile code, you are inviting some random mistake happening making their compile to start failing and you having to debug it etc.
so it's mostly time and mistake resilience
and during UE4 days there were few bugs as well, but that's like 10 years ago at this point so I'm not sure if they're still present or not
Yeah we had a similar issue, regarding conflict files created in other machines that prevented compiling
UGS seems essential for any large team but only perforce allows it, which feels like it just pushes you into not having other options after a point...
What issues ?
Never had some
Mostly just compiler issues that stop the project from opening until bForceCompilation is turned off
Which isn't terrible but as the sole programmer I wanna avoid friction for the rest
Well thats only happening if there is an issue that the devs didnt saw
Its better than letting designers and artists forget to compile
True... It can be nasty
How many names will it go through before it'll be shipped publicly lol 😄
i am not interested until it is Mega Revision Control
Say, should I have Binaries in my .ignore files if I am the only person on the team working in C++?
Everyone else does BPs
Hey everyone, I have used Unreal with Perforce and UGS in a professional setting for years, but now that I'm in a smaller team that uses github I kinda missed that workflow so I created a similar tool for git. This was created by forking SourceGit and building the UnrealSync functionality on top, and my goal is to keep the base SourceGit updated with the main repo.
The project assumes that the editor .zip binaries are already being taking care of by a CI/CD process.
Do note that it's still very early in development so it will be buggy but usable. Anyhow, feedback would be awesome! ☺️
This should go to #1054845218723209226
bit of a shame since it seems 100% vibed
It's not. I do use llm's (its 2026, who doesnt?) mostly to teach myself how to use the tools efficiently but not all llm usage is vide coding.
Yeah I didn't get the sense it was vibe coded. The README looks human to me
The commit messages was what was making me skeptical
I do use llms for commit messages/prs, ui and documentation in general, thats where it shines the most.
Ah then that probably explains it
ill add a disclaimer in the readme
one of my designers got this error whilst trying to pull my repo
open for read: prjct_phntm/dom_main/build/windows/fileopenorder/editoropenorder.log,d\1.3.gz: The system cannot find the file specified.``` has anyone encountered this and how did you get around it
I'm not 100% sure but this generally means that the data for revision 3 of the editoropenorder.log are missing from your perforce server... which generally should not happen.... so first check if the gz file is there, if not then there's nothing you can do... if it's there then there might be something that's still possible to do but not until we know if the file exists for real (also based on the mixed use of / and \ I presume you're running your server on windows, which is not really my strong domain as I've only ever managed perforce servers for linux)
glad this is here though
Official Documentation:
https://docs.unrealengine.com/latest/INT/Engine/Basics/SourceControl/InEditor/index.html
https://docs.unrealengine.com/latest/INT/Engine/Basics/SourceControl/Perforce/index.html
https://docs.unrealengine.com/latest/INT/Engine/Basics/SourceControl/SVN/index.html
Setting Up A Perforce Server For UE4 Written Guides:
https://allarsblog.com/2014/09/24/setup-perforce-digital/
https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/
Setting Up A Perforce Server For UE4 Video Tutorials:
https://www.youtube.com/watch?v=HOaDZEG49Z4
https://www.perforce.com/video-tutorials/5-minute-client-and-server-setup-windows
Articles on VCS and UE4:
https://www.gamasutra.com/blogs/RyanDarcey/20161021/283799/An_Unholy_Alliance_Unreal_Engine_GitHub__Perforce.php
https://www.sondergames.com/single-post/2017/07/19/Game-Dev-Version-Control-Overview
How to use Source Control software inside UE4.
How to setup Perforce so that you can share assets with other on your team.
How to setup SVN so that you can share assets with other on your team.
A common question with Unreal Engine 4 (UE4) is "how do you set up version control?" I think this is a very important question and if you have never used version control for your projects you are crippling yourself from the start. I won't go into details about why you
This document covers how to set up a new Perforce server and populate it with an Unreal Engine source build alongside your projects. This is the most basic setup for 'beginner' Perforce pipelines and does not cover things like streams. Please note that you should only do this if you
Cloud Options:
Best to worse
Vultr: https://www.vultr.com/pricing/ (I have $10/40GB plan and it's great)
Digital Ocean: https://www.digitalocean.com/pricing/
Using PlasticSCM? : https://www.plasticscm.com/pricing.html
Assembla (do not recommend): https://www.assembla.com/pricing
We are simplifying the cloud. One Login, Eight Countries, Fifteen Cities, Infinite Possibilities.
Simple, predictable pricing on VMs and object storage at industry-leading price to performance ratios. VMs start at $5/month for 1GB RAM, 25GB SSD storage
Plastic SCM offers different licensing and pricing options: free editions (for Personal and Community use), and commercial editions (for small or great teams, and Cloud edition for teams who only need a cloud server)
Contact our team to learn more about getting started with enterprise cloud version control with Assembla.
How to setup SVN so that you can share assets with other on your team.
Finally a channel to discuss the bane of my existence
shoo shoo, I want to keep linking stuff
Nevah!
dont ruin the linkspam
ruins everything
<@&213101288538374145> Please pin those links
Also, just noticed I just misused @mod
but w/e
that one too please
That should hopefully take care of a lot of issues. Please direct them to any of these pinned messages
you just noticed you misuse mod?
Meh, I'm not allowed to mention mods for this technically
I figured you just tagged and didn't care
Yeah, well, I keep forgetting, because moderators shouldn't just be about moderating behavior
i mean, it would really annoy me if it's a constant thing
but once for channel setup? 🤷🏽
I'm just thinking who looks at pinned messages on discord when they have a problem?
but its useful to keep in there for muscle memory
people who recieves "look at the pinned messages" as answer
imo we shouldn't just give "look at the pinned message" or "just go google it" messages.
no, i mean like, tagging mods for pinned messages all the time would be annoying
once is fine
actually, Victor, it might be a better idea to put all of the resources you have into one message
so imho, it's just for me really lol
so you can edit it later
Because I am a lazy bastard
like what I did for #gameplay-ability-system
Oh, true
that way you dont have to ask mods to pin new resources
Aye, well, I'll just do it for the first one then
interesting interesting so if I get a pinned message then change it to something naughty...
if you consolidate the resources, lemme know and I'll unpin everything else
yeah
In case I run out of room
yep
Because I will have some limts
holy crap i got lost in the channels and lost the conversation, was gonna say: Its better than no answer, if someone asks me about perforce i may send them to pinned messages, as i still didnt use it
Yeah
I'm also trying to figure out git lfs for small to medium sized teams
I feel we're still missing a lot of channels
But... meh
I haven't had a successful time with GitLFS
Not yet
PlasticSCM is really awesome though
But no one's done a good tutorial yet on it... maybe I could later
it doesn't unlock files after a successful push 
ya
i should have followed up but i forgot
brune pretty much said everything I was thinking
eh their suggestion solutions sucks
and perforce is 420 dollars per user per year
legit perforce is not worth
2,520 a year base min for 6 users
They have the 5 user trial but rest assured if you pay for a 6th user you must also pay for the 1-5 users too
like WTF are you even doing? do you want me to drop out of game development and create a better source control system thats open source? Cause perforce you are giving me a good case to!
yes!
Not bad... Imean
I know
No screw that its 12 dollars a month for github
STOP being swindled
and on top of that you have to host your own crap?
Meh, like I said. I think PlasticSCM can be a viable alternative to both Perforce and Git
like what are they EVEN doing.
plastic SCM is the same issue, different name
You don't have to host your own PlasticSCM repo though
They have cloud and it's pretty cheap imho
you don't have to host your own perforce repo?
how cheap cause you thought 420 dollars per user per year was a good deal
But they are terribad now
$7/user/month
10
24
Depends
The perpertual is nice
Not per year
$595
one time sum
how much HDD?
$5/month for 15GB or $20/month for 100GB
20 dollars a month for 100 GB is bad
but its better than perforce
You can host your own still
you can only self host as indie or open source?
No, pretty sure it starts at the Team Edition
"On Premise team server"
So $10/month per user
ah weird
Not really
well I just meant the website layout
Ah,
a bit hard to grok these things cause pricing is all over the page
the original price per user doesn't even fit on the same page as the data costs and etc
I really need to sit down and do a proper UE4 tutorial on it
they have 4 spaces per section that is totally ignored
yeah
yeah meh
yeah, I guess they wanted to emphasize that
I guess they REALLY wanted to emphasize that
you want to simply just make the text red?
heh
nah fuck it see all this space on the page?
lets underutilise it!
but yeah 😄
they seem better
I might poke them a bit
Squad afaik still uses plasticm scm for it's stuff
@vague compass want to talk about plastic scm?
He's probably working. I am finishing up my lunch so I should be too
plastic is more expensive than perforce (at least it was for us) and worse
your artists will hate it
its branching isn't really any better than perforce task streams either
@pulsar parcel Strange that you had a bad experience with them
Can you point out exactly what issues you ran into?
Maybe I just haven't run into them yet
we're a distributed team and work over many timezones, and to submit you have to be at the head revision
which scared artists when it created a merge for no reason
it also had a ton of bugs when we last used it, a couple of them were showstoppers
How long ago?
like it would create bogus merge conflicts if you used the cloaked file feature
about a year and a half ago
Because I've been using it over the past few months and haven't run into any issues except just getting used to it
if you are a team of more than 5 it just becomes unusable
you have to be at the head revision to submit, artists hate that
it tries to mimick git
countless times i had to help people submit their files because the pending changes tab would confuse the hell out of them when it said they needed to merge a bunch of files
So...who also got ra*ed by Assembla's way of setting up the repo?
@haughty ember really? i mean on local machine
But I guess I've done 20+ Assembla Perforce servers by now, so I know wtf to do
you have to set the p4config each time
Yes
Here's a cheap
cheat**
Have your configs in each workspace folder root
then create a .bat
actually
let me just give you mine
yeah, that's how i did it...but it's silly
ah k
it's not silly
you are working on different host/stream
it's a perforce issue
Not an assembla one
why p4v have no option for setting up a p4host?
It's how they handle enviornment settings
?
you can
overwrite it in workspace
or enviornment settings
But it's best to do it via config
p4condig
p4config
(workspace)
yeah? i've set it that way to avoid nesting
if i write 2017_megajam it will search for a folder near p4config.txt
Examples
"C:\Users\Joe Coder"
/usr/team/joe/workspace/buildfarm/joe ```
As long as you follow the tutorial
should be fine
I helped write it up
so
Any other issues have to go through them because...well...they suck
Which is why I am now handsoff with them
I don't regret bringing them on board #ue4jam though
But, well, they got greedy quick
oh, that's nice 😃
wait you can't just use the P4V client to connect to assembla perforce servers?
Yes you can
why set environmental settings?
It's because they use streams
even with streams you don't need those?
You need to set new config
like I self-host perforce with streams and never touched my environmental settings for perforce
Actually, you do, because of how they use host and streaming
Because you are the one connecting to it
hmm? so?
Depends on how you set it up I guess
I have set it up in a few studios and never had to adjust environmental settings
Env Settings doesn't matter
I wonder what they are doing
it's the p4config being set that does
It's only the P4HOST that's the big issue tbh
everything else can be set as you log in
When I create a workstation it specifies a stream why does connecting to the server to start with depend on if its a stream workstation or not?
But, anyway, setting up a simple batch file clears everything up when moving between servers
at the very least you should have that bat in the p4v hooks
so you run it automatically
honestly it sounds like assembla sets up the repo is a poor way though. I think @lament ember is right
Anyway, obviously just censored out a few things with asterisks
But that's assembla's
all it is, is setting up the new p4config
"But should you need to?"
Yes you should actually
Everytime you switch servers
If not, you are using the wrong settings
you shouldn't because you don't need to because I've never needed to do it with using streams
TBH, it WOULD be nice to have it done automatically
so you can tell a ton of game studios that their perforce streams are setup wrong
¯_(ツ)_/¯
No one cares about assembla
anyway
Which is why we aren't using it
😃
I stick to my principles
Even if it costs me
Got nothing to do with streams, they use the host to determine which depot to connect to when using their servers
I said P4HOST 😉 ¯_(ツ)_/¯
Yeh, p4host is used to determine what depot to connect to
Aye, I shouldnt' have even mentioned streams
hmm
Is that up to date and accurate?
I think I remember reading this one
@trail ridge
I need to edit my first post and put all links, I'll add yours as well
I made some final edits to post it here https://www.sondergames.com/single-post/2017/07/19/Game-Dev-Version-Control-Overview
They both have links to each other.
Up to date as of August
@haughty ember You an admin now?
Oh nvm, i read through
I've seen that geico commercial 😉
That ace in the hole maverick you set out on the loose
Plausible Deniability
Hmm, to use blog or forum post
kk
added
Hmm. I think ima use bitly links
meh
@trail ridge you didnt' mention PlasticSCM?
next time
I looked into it, but didn't add it for some reason. Can't remember why
PlasticSCM vs the Golden Trio
I think i didn't include it because it's so similar to Assembla
There isn't a free cloud-based tier
And the prices can get ridiculous pretty fast
And asking for a cloud service for free...
asking so much
lol
They have to pay the bills on that server farm
Thats why i did the write up
I pay nothing for 5 users with unlimited lfs cloud-based storage and unlimited private projects
I pay nothing
Why?
Read my blog homie 😃
no
gimme tl;dr
But anyway
I don't like GitLFS
it's not ready yet
It's close, but there are still plenty of fundamental issues with it
Yea it's sketchy af sometimes
But yeah
In the future, if they keep the same payment plan
And they improve upon it for fit GameDev workflows
and squash all bugs
I could see that being the go-to
is there a definitive guide somewhere for cloud based options for a small team ? Right now it's just me and one other person, and we're planning on doing things mostly blueprint based. We definitely want to use source control of some kind... and then I was wondering if you guys put the entire project in source control or just the blueprints and then assets get synced some other way. It seems like most cloud based options have very limited storage options for asset data (1-5 gb?)
@clever sphinx .. lol
I am assuming you haven't read any messages in this channel?
not yet... I figure there's a metric f-ton to search though
But, you can look at my pinned messages
I still need to edit, but use the bottom most one
the more I look at the cloud options, the more I think I'll just host it myself
unless we get bigger, which I doubt 😃
@clever sphinx hmm
Depends
I used to host a lot
But then, a lot of construction started happening all over my city
I get the most random power outtages at anytime. People cutting fiber all over too
haha, well yeah that would make me reconsider
So, instead of putting that burden on myself for my team, I am always going to use cloud from now on
I wouldn't use Assembla though
They were awesome when it was $40/month for 5 people
but as a start, I feel like that may be the best option
but now it's $45/user/month
Plastic is pretty nice
But really, I would just deplot a Perforce server
deploy
onto Vultr
I mean, I just did it for the first time
don't want to be cheap, but I also dont' want to invest much money if it doesn't end up going anywhere.
I know linux well enough
I can't beat that
yeah 10/month isn't bad
think about your electric bill
depends on how often I'll be doing it -- my computer is on all the time anyway
If you don't think you are running more than 10/month for that server that will always be on...lol
so the electric bill wouldn't change
I guess
There are other options as well
Like RaspPi3 Perforce server
lol
I have been tempted to try it once
and I have a ton more storage available... I guess my question more resolves to how you separate what gets source control vs what doesn't?
how do you make all blueprints source control and say models and textures not, since they take up more space
and if I don't put stuff like that on version control, how do people sync it?
?
That's pretty dumb
Unless you are talking about raw files
And if so, do whatever you want
But, all art in the engine
project
I mean models and textures mostly -- that stuff adds up pretty quickly for disk size
should be in the same repot/depot as the rest
yeah that's what I'm talking about
So you mean Raw Files?
yeah
cause 1gb isn't gonna cut it
They should also have their own source control
But most Indies probably won't have that
So, you could just do regular backups
thumbdrives
Google Drive
whatever for those things
Keep it on your harddrive
But most bigger teams with huge art teams
They have source control set up
Imagine losing 1000 hours of work on a scene
nah
yeah for sure. I understand that. I work in a big vfx studio. 😃
no, we do
How do you do backups?
Oh
So it's the same thing then
But most Indies won't ever go that extra step
but I'm saying if I use cloud based svn for unreal -- i'll be paying a lot more if we need the space for the raw files
Try to use bitbucket, they used to have a free services for teams up to 5 people
@clever sphinx if you are using cloud. use Perforce up to 5, unless you know it is going to be more than 5
it won't be more than 5
Then use Perforce
how much disk space does that support?
Depends on the site
@clever sphinx https://www.vultr.com/pricing/
I just got the $10 one two days ago
The perforce server I dropped on it is super fast
even with only 1 CPU
which tbh...boggled my mind
But I'm not crying
40GB
awesome, thanks
that looks really affordable
how would hourly work?
you have the instance up and running all the time, right?
oh man
So I had to ask myself
Because I was wtf
But basically, you'll always reach the max
the $10/month
unless you destroy your server
So, basically, just count on paying $10/month
But it is very much worth it
@clever sphinx if you can go lower in storage
you can try 2.5/month one lol
I would be sort of curious how the memory would work
yeah honestly I think that'll be fine
I'll prob try that out
i almost was able to use my webhost -- but the ssh access only works with the main account
nah
that would have been a bad idea
I am pretty sure they have worse bandwidth restrictions
I don't think so actually or at the least it would be enough for us
again, tiny project, two guys
will likely check a handful of things out... work on it for a few hours, check back in
but it doesn't matter because of the single account problem
@clever sphinx Brought it up earlier and don't think it's pinned yet, but this would be worth your time https://www.sondergames.com/single-post/2017/07/19/Game-Dev-Version-Control-Overview
Thanks! Will read it tonight
@trail ridge it's up there
Ah, my bad. Was only looking through the embeds
Looks like it's part of the gamasutra link
Let's hope that when I merge back to main it'll close of like normal.
I think I want to try another git gui
git kraken is slooooow
don't even try using it if you are using a forked UE 4
it won't be able to display the repo at all
and it needs an account (da fuq is that)
dunno haven't used it
I got invited into their beta
and it was slow
but it's pretty
so you get what you pay for
in performance
I am using SourceTree
currently it's not bad
But I wish I could get more colors
for each different branch
eventually 20 branches of just red and green is meh
I thought it would give me a different color automatically each branch
I use github and VSTS
gitkraken is slow & bugs out....a lot for me (stuff like randomly going into a loading repo even though the repo was loaded and not externally modified)......but it is just so darn elegant 😛
hi guys, does anyone know of a git client that can partially push/pull subversions
I need to clone a 17gb repo but my connection cuts out midway, and it starts from the start..
@indigo relic , you could just download the repo via http/ftp if it's too big for git. Afterwards commits are hopefully smaller than the max (4 GB iirc). You can also get parts of a repo. I know TortoiseGit can do that.
Thanks, I am downloading a repo hosted in the US from China, Tried TortoiseGIT but the initial repo clone doesnt support partial downloads, I will get it via ftp with a download manager then configure it
can someone recommend me a source control for ue4 free and easy?
There ins't much easy source control, nor much free one
If you're < 5 people, Perforce is free and easy-ish
@buoyant shale ...
Look at pinned please!
They are all free technically
It's just hosting you'll run into issue with.
Perforce isn't free, unless you're a very small team.
But AFAIK, Git is the only one that provide a few options
...
Anyway
Git provides options like BitBucket and GitHub for free
I need to add this to my post actually
personaly using svn for source control
I tried it for awhile
I didn't like it, was buggy with plugin
But, maybe it's better without it
I've used every major player
And I have to say, Perforce is the best
Still
But, I think PlasticSCM is catching up
Problem with Perforce is how it gets expensive as fuck after 5 users
Git...If GitLFS ever unfucks itself
Then that's going to be a huge gamechanger
@brittle raft Many ways to mitigate that, and now it seems they've dropped pricing down to $500 ish
@haughty ember what makes perfoce so great ?
I need to make a finish up my guide
@humble oriole Handle binaries like a champ
Good GUI
easy of use
solid admin controls
@haughty ember It's still hard for me to recommend a tool that's more expensive than, say, 2 years of Photoshop.
file locking champ
Especially with free Git + free Git hosting
@brittle raft well, it's perpertual...
vs sub
so
I don't know
a license you can use for ANYONE
not just that user
Anyway, first 5 free
If you want, make them super generic
@haughty ember can you host it your self (in the free version)
hmm , intresting to know
Now Vultr is my go-to because my internet/electricity are cray cray with all the construction going on around town
I don't want to have my team member worry
After this mega jam
I'll do a full write up. There are some good ones, but they still lack a lot of vital information
Mostly we have plenty of working options, with zero outstanding option.
meh, it just depends on a lot of factors that people just don't consider imho
and everyone's situation is different
It is. But we can't have the niceness of Perforce for artists, and the power of Git for developers, in the same software.
I mean, if you want a Perforce competitor that's 100% up to infitite users PLUS free hosting... that's so unrealistic
@brittle raft ...
Did you not look at pinned msgs?
PlasticSCM
is basically just that
Actually I lied
I really need to do my writeup, I thought I put something up there about Plastic
But, it's just a little thing about pricing with no info
thanks , i dont find it what expect
@buoyant shale depends on your requirements
5 or less team members? Use Perforce, self host
100% free
More than 5>, don't use Perforce
im unique programmer , and i want to artist download only the new thing to test their artist stuff
Need 100% free VCS and hosting? Use BitBucket for private and GitHub, for public
Git
Also I think VSTF whatever
GitLab is free
really?
we are less than 5 but perforce , maybe if im the host can works
didn't know that
But gitlab will never get that popularity of GitHub
GH is never going away
you never know about GtiLab though
No one cares about popularity though
My current project moved from/ to no less than 4 Git providers 😃
No point in debating that
It takes 10 minutes
k
I mean, that didn't really counter my point though
Anyone can just move their project to new VCS
Or depots
or repos
Or whatever new name they come up with
You don't need to "move" with Git
You just sync somewhere else
You keep the full history etc
Everyone has a 100% copy of everything, it's decentralized.
You just decide someone else is the "server", which is a technicality.
For people with a large team, I think Git for code + Perforce for assets & binaries is the best option
Or PlasticSCM when it's more stable, etc.
stating the same thing
Just that discord sucks
when lots of links are in the same msg
So I guess I'll need to redo it
I'm not a big fan of "one post to rule them all" on source control, because mostly it's very much team & project-bound
If you're a company with people at workstations in the same room, you have a very different situation than single devs or two-people teams across a country
Source control needs to reflect that somehow
But I do thank you for the effort, really @haughty ember
Not enough people using source control
Well, I have been in a lot of different shoes
solo dev, small team dev, big team dev, lots of different projects, lots of different source control
In our case we're two programmers and I'm the part-time "artist", so we have everything on Git including PSD's, because why not ? 😃
So, when I do get the chance to finish it up, it'll be from all those different perspectives. As well as poor dev, decently paid dev, lots of money dev
Yeah, see in your situation I would have recommended Perforce, there's no reason not to, especially if you have no real plans of expansion
We started with Perforce and moved to Git
And you could easily get away with a 5/month server hosting
Reasons for Git included : free hosting for life, web browser with search etc, and the Git power for branching, rebasing, etc
We don't even need LFS - no need to if you're only one working on assets.
If you're a programmer you probably don't want Perforce. Git is a much more powerful tool for code
Looking to set up a perforce for a solo project
where do i get started?
A common question with Unreal Engine 4 (UE4) is "how do you set up version control?" I think this is a very important question and if you have never used version control for your projects you are crippling yourself from the start. I won't go into details about why you
Anyone know how you get visual studio and p4 to recognise code changes . I've got the p4 plug in installed and enabled but anytime I open visual studio files and make changes nothing gets changed in the submit . If you can @ me as I'm at work and might miss it thanks
Got to connect to the server, in P4VS
There are also some settings I recommend changing
I know that Github is the de facto portfolio site for programming and whatnot, but I also know that Unreal really doesn't like Github because of the Blueprint files being binarized.
Does this mean that even if I try to do as much as I can in C++ as opposed to Blueprints that it still won't be a viable option to maintain my project on Github as a repo?
Does Vultr work with svn?
@steady pagoda probably
All you're doing is setting it up on there
Like I do with Perforce
@robust jacinth sorry only just seen this. Thanks will try tonight. What settings ?
@untold skiff Blueprints are themselves Binary. Epic are, afaik, looking into making them "text-able". My major project at Uni was held on Github, quite reliably too I might add~ Just treat binary files as "one person edits it at a time" and communicate- and ya wont have an issue.
Looks like I have to manually browse through folders to get them to be processed by UE4 when using git
does anyone get this behavior?
how'd ya mean processed by UE4~?
Perforce webinar tomorrow http://info.perforce.com/webinar-whats-new-vcs-swarm-overview.html
does anyone know how to make a new pull request on github?
i already have one open and it wont let me make another
Perforce users, what are you all using for bug tracking? Do you use jobs with the bug tracking software?
@smoky trench You talking about this https://www.perforce.com/plugins-integrations/defect-tracking-gateway?
@gentle bay you can only have a single Pull Request per branch at a time. So if you want another PR, create another branch (will allow you to create a new PR) or close the current PR (will allow you to create a new PR)
Does anyone use perforce?
Alot of people use Perforce
Are there any good sources for getting started? I've found 5 different guides that say 5 different things
and im having trouble finding a website that will host perforce
Check the pins in the channel
There is some good resources for setting up perforce
Perforce is nice but is there an easy and cheap way to work together remotely with other people while using p4? With git you've got Github,gitlab, bitbucket and so on.
Allar has a set up program
A common question with Unreal Engine 4 (UE4) is "how do you set up version control?" I think this is a very important question and if you have never used version control for your projects you are crippling yourself from the start. I won't go into details about why you
@solid dome Perforce is free for up to 5 users.
5 users and 1 gb of data storage...
Or is that just for Helix TeamHub?
The site is a bit confusing
Unless its changed recently it shouldnt have an data limit.
Probably TeamHub
I dont use that whatever it is
I host my own Perforce Server
If only my internet could handle that 😂
I have an PowerEdge R610 that i use as an Build Server/CI Server that also hosts my Perforce stuff.
The Perforce site is free to use but has no server hosting. If you want to connect with people off your local network you have to pay to be hosted
Which im working on figuring out atm
You dont HAVE to, like i said, you can host your own Perforce locally and get others to connect via your IP. @runic trail
but that requires your computer to be on at all times
unless you run a server somewhere
which is probably $10/mo in just power on its own
Why does source control perforce after a while constantly save files, say it's not checked out and then don't prompt for checkout anymore? I'm having this all the time, even though no one else has that file and I've got latest, it just doesn't prompt anymore?
Thats really odd? Is this in editor?
yeah
I am connected with the project
and I can manually check things out if I right click
but just changing a file doesn't check it out
even though it says "saved, but not checked out"
Its probably caused it to become writeable because you modified it but didnt check it out?
Not really
Im always prompted to checkout something when i modify it.
I cannot recall any instance where an file has become writeable without prompting an checkout
yeah it doesn't make sense
I'll try to remove all my cred's and re add them
maybe that fixes it
I think there may be a Windows issue with version control; I see similar problems with both Git and SVN sometimes
whole directories seem to lose their version control status for periods of time
usually comes back after some minutes, but as to what causes it, fuck knows
yeah it's weird
VS checks it all out properly
except if I add a class from the editor
then it doesn't
@runic trail I have a perforce server on Digital Ocean and pay $5/month for the server.
So it's an alternative to not have to have your own physical machine
Yeah I couldn't figure out how to set it up. I though it would be simple buy and then connect. I'm going to figure it out this weekend
it's been a while since I set it up, so I don't remember all the details. But try following some tutorial online and if you have any problem, ping me and I can see if can help 😃
A common question with Unreal Engine 4 (UE4) is "how do you set up version control?" I think this is a very important question and if you have never used version control for your projects you are crippling yourself from the start. I won't go into details about why you
sets up a perforce server in 5min
just do the short version
of 3 cmd lines
Ubuntu 14 tho
not 16
@arctic coral
oh wait
tagged wrong person
@runic trail
Sorry mirror >.>
yeah, I think I followed that tutorial to setup my perforce server. My memory is good but it's very short.
If memory serves right, I had better luck hosting/running the server on my own computer when working with another friend and on my own~
My friends live in different countries and i can't leave my computer on 24/7
some web host is my only option
Hey yall any1 know what is causing this issue ? https://gyazo.com/7f6011eeb25935ef9e9f6e9223f2cc74 Or how it can be fixed ?
@vale parrot that guide seems to be outdated. Lots of the youtube comments were having issues and the new p4v cannot connect to the server that is setup on digital ocean
Nvm the rep is over data quota..
Kalarian, i used it a few days ago. Be sure to be on ubuntu 14, not 16
Thinking of restarting some of my Perforce setup. Again.
Main purpose being to try to get a solid workflow for going from GitHub to Perforce.
Tutorial time? @robust jacinth haha 😛
Yeah. Perhaps. Sorry, got sidetracked. Big sync and build finally finished.
But yeah, setting up Git -> Perforce is a pain in the ass.
Kind of need to have permanent repos/depots for both. :/
Filter the Git stuf from P4, filter the P4 stuff from Git.
All so I can take drops from GitHub and put them in P4.
I tried using Git, i cant stand it. To used to Perforce lol
here i am still trying to get it setup =/
Man I really dont get it with Helix, i always get the same error check $P4PORT etc
Why it gotta be soo hard
yeah
idk why this is such a pain
like it should really just be sign up online, pay, put in the ip in UE4 and connect
theres like 15 steps that make no sense
I found about GitLab though unlike gitlfs you have no bandwith limit and you host yourself and it seems like the hosting could be a bit easier than Helix
Let me know how it works out
Will do!
Might take a goood while, but im following this https://www.youtube.com/watch?v=9DSCpWaFcGY
Learn how to install GitLab on an Ubuntu Server, login, create our first code repo and push up our first commit. Not bad for one video. Full show notes at ht...
Petpeve with tutorials: doesn't explain what, or why.
where can i find documentation on what project files i should and should not have managed by source control?
doesn't seem to be any pinned info to that effect
How to setup Perforce so that you can share assets with other on your team.
fancier non link dependant answer below. 8)
#To Add
- Binaries (Not required if every team member will be building own enigne, include it otherwise)
- Config : Game/Engine configurations/settings.
- Content : Your actual game content, everything you see in the content browser.
- Source : Game C++ code.
- .uproject file & preview image.
#To NOT add
- Build
- DerivedDataCache
- Intermediate
- Saved
The things in these folders get generated automagically
I even add and reject files for Visual Studio, Visual Studio Code, and Xcode as well. Combining development on Windows and Mac
After setting up a typemap in p4, can I apply it to current files somehow?
(files that are already up)
Not that im aware of 😦 I always kick myself when i forget to set an typemap before doing any new project lol
Someone posted me a script though
That refreshes that
So it seems to be possible
(don't have the link anymore >.>)
😦 i was about to ask
that might have been me
one sec
Python Script that applies the server's P4 Typemap to all existing files on the p4 server
https://github.com/jackknobel/P4Scripts/blob/master/P4Re-typemap.py
Anything to know about the script?
Specific things that need to be setup before or so?
from memory no, just make sure your logged into perforce. (and of course it knows the p4 environment)
Shall grab every type in the typemap and apply it to all files
Doesn't work on files in a task stream (due to how branching works in p4). Once you close the task stream however it's all good
and no worries!
Ohh and of course two other things (sorry)
It applies it to all files on the p4 server. Would need some editing to only apply it to a specific depot but that would be fairly easy.
And requires admin rights, re-type changes the properties on the server and doesn't require file checkout (just be warned as you can't revert it)
Yep
Are those files submitted or are they in a pending changelist?
Submitted
Roger, and you've refreshed p4v?
Restarted it even
Not they I saw
Normally spits out warnings if there are issues
If not, try running again and see what happens
it locked me out from my acc connected to ue4
Haven't used it in a few months so I'll double check
what haha...
Shouldn't do that :/
Did you change your PC name?
No, not since 5min ago
that looks like a host mismatch problem
it changed like 3 months ago
and in a few hours when the new SSD arrives
okay fixed host
but still locked out of the engine for source control
Might need to update it again, might be pointing at the old host (depending on how you set it up in UE)
How'd you go @faint cairn, did it end up working?
I just tried it then and it has worked for me
ah, roger
yeah perforce p4v can checkout and everything
but engine seems to have lost it's connection, can't find workspaces either
now it's connected
kasjd kasjda sl;kda
Oh well
it's 50/50 whether or not the engine can find workspaces for me, I normally have to manually enter them. 😦
Glad it's working!
yeah didn't even work when typing in
Anyway
SSD just arrived so I'm in for a looooong time of resetting up my PC :p
ohh joys, have fun!
yeah
I hope this time it won't majorly mess up all my perforce connections
last time I had to reset up all connections
Is it normal that, if I'm logged in EVERYWHERE on Server A, but p4 info shows me an old Server B that I connected to ages ago?
Depends what your environment settings are from memory.
if you go p4 info it should tell you.
You can be logged into as many p4 servers as you want but the environment settings will determine what the default values are for user, client, port etc.
That's where the p4config file comes in
so far so good :D
Renamed my pc exact same to avoid the issues I had last time
did the trick
I'm guessing this would be the place to talk about CI/CD also?
We dont have an specific channel for that but it could come under this topic i guess.
Hey guys, does anyone know hwo I can configure Perforce to use a different port than 1666?
I believe you just have to pass -p <PortNumber> when you start the service
I personally just open P4Admin, is there another method in doing so?
p4 admin is just a nice front end for changing settings, you will need to add what I mentioned above when the server service starts
You can test this by starting the server manually p4d -r <P4Root> -p <PortNumber>
if that works and you can connect to it, your best bet would be to probably add -p <PortNumber> to the start parameters section in the perforce server service in windows services (assuming you're on windows)
@reef mist
Gotcha, I'll try this now
https://www.screencast.com/t/AZQ1zwUY Is this normal? It's been like this for a while
First time running from cmd
negative, p4root is where the server's database files are
I know this is a silly question, but what does the p4root folder look like?
Can't seem to find it
I think this is the folder but I'm getting this error: https://www.screencast.com/t/HbIw8emGpRD
@smoky trench Kindly advise when you get a chance =]
what is inside the server folder?
the p4root should have these kinds of files
@reef mist
Yeah I have none of those, gonna look now
Found it
Just says "Perforce Server starting..."
as I run p4d -r D:\P4V -p 6666
that's because the root folder you're pointing at doesn't have those files so it's creating them for you.
Where are you running the perforce server?
Locally or?
That is where you need to be doing all of this
Yeah im doing all of this on there via teamviewer
ahh roger, just need to find where you installed p4d and where all the server files are
I have it setup with Jenkins
run p4 info and look at where it says server root
Server root
Trying it out now
I gave it a while, same old https://www.screencast.com/t/RXEYi0zqe
Not exactly sure why cmd isnt working right
That's good tho
Will it load up in a while?
it should be done
try and connect to it now
if it doesn't say "Creating .db files" then it should be using existing ones aka your original files
Gotcha, trying again
Im just getting my port forwarding resolved, still same starting message
Gonna try get port 1666 itself working with my VPN provider since my router is nonsense & doesn't port forward
It's probably "done" just doesn't close because cmd is waiting for the process to exit. But as it's a service it won't end
Hi everyone, I'm making my first big UE project and I was wondering what is the most common source-control system and if there are real benefits to switch to it?
For now we are using git as we are used to it and have our own server for a lot of other projects, but it sees all files as binaries so there are no merge possibilities and all those kind of stuff.
I think no source-control system can do it, unless one that understand UE structures exists, yet I taught I should ask and hope for a miracle.
Perforce
it integrates into the editor well, and handles binaries WAY better than Git
you can merge blueprints etc using Perforce
At the expense of modern features programmers might want
true enough, but code is a lot easier to manage, generaly
also, when an artist fucks your Git depot, it can be a lot of effort to get it back to normal, hehe
This is where I usually advise using Git for sources and something else for artists, because it's true that most artists are going to have a hard time with Git
Also you don't want artists to work from sources, imho
you'll run into problems if you do that, because there will be times when programmers will be working with both code and assets
it's not uncommon to work with native code and BP at the same time, after all
Yeah. Depends on the workflow
you'd need a way to routinely merge your code and asset based branches, which are in different VC solutions D:
Something that works is an automated CIS that builds the game when programmers push to release, and commits it automatically to binaries.
Again, unless you need to change both blueprints and code at the same time
yeah, but that's not unlikely
I have never worked on a project where that would not be the case
Depends on how you use Blueprints, i guess
the word isn't 'how', in this case it's 'if'
I disagree. We use Blueprints here for large parts of the game - basically all the data. Granted, we don't do much Blueprint logic
Generally what happens is that we change C++, then we change BP to account for new features / different systems / etc
But sure, I'd much rather have a cleaner way
So, perforce - something you run locally, or on a remote server?
.
@lusty crystal either or
Ok, thx
Hello guys, I am looking for a way for automating deployments, I was wondering if something like this is possible in the project launcher
Is it possible to put wildcards in those fields?
you're probably better off doing all of that through cmd or even better through a CI program like jenkins
Hey dudes! A couple of friends and I are starting a group project with UE4, but we're running into some problems with the repo, anyone around to help a duder out?
Hey, does anyone have any tips on the best way to handle multiple artists working on a single map during arch-viz projects? Hitting some problems trying to manually merge the changes to the binary umap files at the moment
