#source-control
1 messages · Page 37 of 1
Ok
I guess power prices in the US is alot cheaper than here...
Yes
Your 5x more expensive
Yeah
We are charged per Quarter as well
But that was also 48 core's, 120Ghz, 512GB RAM, 20TB of storage.
I was learning to be a Sr. engineer and that was years ago. Sold em off to all the new tech guys at work. :)
Well basically you either use your Server at home or go with a paid hosting solution.
So now I'm down to my little guy :) I'll set it up see how it goes.
Perforce doesnt need massive resources
Any tutorial videos or something u can point me in the right way?
I've tried to find a few some weeks ago.
Its pretty easy, theres tutorials everywhere on Youtube
Yeah I'm not a Linux guy. :P I assume these are Linux tools.
Oh, nar im on Windows Server 2012
Okay. I didn't actually go to YouTube. Haha
No idea how the install would go for Linux
Oh shit. Windows?! Naw I'm good then. :)
Ill muddle my way through it. Can't be harder than vCenter. Haha
Thank you Devil's :)
Good luck
You should also look into Continuous Integration as well
So my Server at home is a Build Server that does all my Automation as well as my Perforce server.
If your not already running automated builds etc etc, its a good thing to get going.
Yeah what is a build server? I have yet to get to that point
Instead of running builds on my PC we do it elsewhere?
And it automates the process?
Yeah basically what the Server does is every night it polls Perforce to check if anything has changed. If theres a new Commit it will pull the changes and then package the project for Server and Client
That way i can come back in the morning and have the final product ready to be tested immediately.
Oh neat. I know Dark and Lights builds take 48 hours.
They use Jenkins, is that what you would recommend
Yeah
I havent tried anything else
Took a while to setup all the scripts perfectly the way i wanted them and they are scalable to any number of different projects so basically once its done you dont need to touch it again.
:) good
so how Beta is git in ue4editor for source control... do you guys not recommend it?
Never reccomend git for UE4 as main source control. I use perforce that pushes some content to git, like open sources plugins from my plugin project. But that's all code work.
Sourcetree with lfs and then just all the uassets and umaps won't work properly?
Perforce is great until you want to use it for professional stuff and then see the price tag
Perforce is great, but you should see the cost in downtime from SVN we had this year on a 10 man team.
Commits alone took 2-3 times longer, since we don't have a NAS for storage in house we use the net. and have to use SSL. By switching to perforce we are actually saving money by reducing the downtime of team members.
Hey man if you can afford that price tag then sure, by all means, more power to you
I mean, since we have more than 5 users, it does cost us a bit of money. But when your spending 1-2 hours extra a week submitting content or backing content out. @ 40$-60$ an hour per programmer it becomes cost effective pretty quick.
hi
this is for a gamejam so 5 users is great... i do have a question, i got perforce up and running on my desktop and in ue4... im runing a server etc... now on my other laptop i logged in and i can see the project files however i dont see the workspace
do i just create a new workspace , what am i supposed to do to actually pull the project?
@molten marsh what are you using for continuos integration?
Jenkins.
awesome downloading now
👍
thanks
and i figured it out that im supposed to create a new workspace where that project will be synced to, after that its just right click and some other button to download it all
My Ubuntu laptop has a Perforce that I've been using for years but all of a sudden the Ethernet connection to the router doesn't work anymore, so I might have to setup some kind of emergency Perforce server on my regular PC or otherwise consider some other alternative for this game jam coming up tomorrow.
It's the dumbest thing because when I connect it directly to the modem it's fine, but when I plug it into the router it just cannot for the life of it establish a connection anymore. I've gone through like 5 pages worth of Google search results and nothing helps.

Formatted and reinstalled a fresh distro and am going through the rigmarole of getting the Perforce server setup again. I successfully backed up and recovered everything, but unfortunately it seems that the Perforce service does not run automatically on boot anymore like it used to because I don't see it anywhere in ps -ejH | grep p4
Yeah, there's no perforce service conf in my /etc/init
whew it took me all day but I finally fixed the internet connection, backed up the perforce data, reformatted the laptop, reinstalled a fresh ubuntu distro, reinstalled perforce, recovered all of the server data, configured the server, and setup the upstart process to run the server in the background even when the laptop lid is closed and the screen is turned off.
😓
sounds like a normal linux experience
so how important is it to setup a typemap for ue4 in p4v?
for our game jam
we are using a launcher editor build 4.20.1 and not a github 1
very, otherwise it won't know what types the files are
i mean its been working so far though
okay i shouldnt argue this
so how bad is it that i added the typemap AFTER syncing the project with my team?
the typemap only affects files added after setting it up
might have to fix up the type of some of them manually
ill just pretend everything is fine
Any advice for SVN hosts?
Looking for something either very cheap or preferably free
4 users
probably gonna use tortoise svn to interface with it
Was gonna try git with bitbucket but I have no idea how to setup LFS and I don't have enough experience with UE4 to know which files i shout gitignore
@inner linden ive worked for a year on a raspberry pi with perforce installed
self-hosted
worked fine
I need it for the gamejam in an hour I unfortunately don't have a pi
oh
Great idea though.
in that case sadly i cant help you with the hosts
maybe you could rent a cloud server
in digital ocean or whatever
I was thinking of renting from OVH
but that takes a while to setup...
for the lurkers
all the 3 and 2 models will run perforce just fine. I used a raspi 2 and then a 3, the 3 was faster
for memory, either a big SD card
or a usb disc/pendrive
I thought perforce wasn't free?
free for 5 users
But how do you get to that option
also you can put git there too
Helix Core (P4D) is a free version control platform that stores and manages access to versioned files, tracks user operations, and records all activity in a centralized database. Download P4D now to get started.
you gotta take this and put it on a server/vps
plus the client of course
Where is the client downloaded at?
same download website
That looks like the server stuff
Helix Visual Client gives you visibility and control over your assets. Use the P4V download for time-lapse and revision views, insight into your project metadata, and a powerful GUI.
installs the ui, command line client, admin tool
I see
just can't create more than 5 users
I see.
Thanks.
I'll go host a month worth of OVH then
Which server architecture would you assume it to be the most stable?
I could just setup a quick debian distro
Alright
they don't offer packages for 18.04 yet for some reason
I'm assuming there's no backwards compatibility either, eh?
So if I setup a later version of ubuntu will it allow me to use the 16.04 files?
Might not be worth the time it takes to experiment during the jam.
I'll fuck around with it on a new ver of ubuntu afterwards
@dusk dove thanks
btw
What should I call my perforce service name?
@inner linden Honestly I usually just leave the default.
I think it defaults to master or something?
I wonder if I can stop the configuration
I called it PerforceMaster
hahaha
I should be able to change it later though, right?
I imagine so, but I've never done it.
I really appreciate the new Perforce installer script. It used to be a more manual process.
What does unicode-mode do?
Is that anything I need to care about?
They say you can't turn it off in the install docs
For now I'll leave it off and change it later
if needed
That's the best approach to take if you don't know. You can always turn it on, but once it's on you can't deactivate it.
So I have a question does perforce run automatically on the server or do I need to start it in a screen
and leave it running
just reattach later with -r or whatever
If you're following the official docs and ran the post-install script, it will run automatically once you're done.
I used to use the screen attach method years ago when I first started - got it from an old tutorial.
Well I did the configurration
it says that i can now connect to the service or manage the service using the p4dctl utility
Yeah. It should run automatically, but you can use p4dctl to manage it which is handy.
It's for starting/stopping the service, stuff like that.
So now I need to grab the windows client and I should be able to interact with the service right?
Right.
Most people use P4V.
But it comes with a command line utility, too.
Keep in mind p4dctl is different from p4.
p4dctl is only for managing the service that's running on your Linux server.
p4 can be used locally to interact with your Perforce depot on the command line, if you prefer that over the visual client.
Oh, okay. I see.
Oh, I should ask, is there any conflict if my super user (name) and perforce user name are the same
or is that literally the same user
I don't know if that's just a login for the server side
or if it's an actual user account too
for making edits and stuff
super user name for perforce, that is.
God it's confusing, I don't do enough on ubuntu so my questions are gonna be super dumb.
The superuser is a regular account that can be used to commit stuff to the depot.
It just has full admin access.
Oh, okay. Thanks.
When you download the client, it will come with an app called P4Admin. You can use that to manage depots, users, and get basic stats from your client machine. 😃
Neat! When I try to connect it says the server is using SSL
so I need to provide my SSL login/pass to P4V I suppose?
You just need to add ssl: to the address of your server.
I'm in!
\o/
So now I assume I can go into UE4
source control
go with perforce and then plug in my settings
What is a workspace? Is that anything I need to fill? Or can that be left empty?
A workspace is something you create through your preferred client (like P4V). It's basically a mapping of files in your depot to a location on your client machine.
It's how Perforce tracks the local version of your project.
Oh, okay then. Instead of bothering you about all of this, which I apologize for by the way, is there a guide that details setting it up with UE4?
I'm not sure how many steps away I am from the finish line and I definitely don't want to impose.
Check the pins, there are a couple of tutorials in there
It's OK. Happy to help.
Allar has a good guide on his blog, but it's quite old at this point.
It's old, but it's still probably the best guide out there.
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
Scroll down to the section about connecting to the server. He briefly goes over workspace creation and some basic security settings.
Make sure you set up your workspace to ignore Intermediate and Saved. those folders don't need to be versioned.
kk
My perfroce looks like it has a few different steps
it didn't prompt me to setup a user
For P4V, right?
Pretty sure there are some differences in the process now. That tutorial is 4 years old.
yeah
Ah, no worries then. Shouldnt' be too big of a deal
Oh by the way in his video it's like 8 gigs but in mine it's only like 1.8 gigs
he's uploading the actual engine right?
Not just a project
Either that or just a larger project.
I don't remember off the top of my head what he uploaded in the video. 😅
For some reason pressing reconcile offline work doesn't seem to work after providing a .ignore
Mostly uassets and some other stuff
Project is small anyways so no biggie
So how can I now pull files from the server into a different workspace to try them out and make sure it uploaded right?
Reconcile Offline Work has always been weird for me, too.
As for testing things out, just create a second workspace and map it to a different directory. 😄
At least hopefully it's not something I did 😅
So yeah I have a second workspace but I don't know how to pull files from the server
Do I have to clone it or something
similar to git
If your .p4ignore isn't working, you can ignore directories from the workspace settings.
Ugh, I always hate this part. No, it's not simple like cloning in git.
It drives me nuts. lol
Well I have to get these files to my other team mates
(My artist quit lul so I can't say artist)
Trying to remember how you pull down all files... 
Somehow I always manage to forget. You'd think I would write it down by now!
haha no worries
One sec.
Sure!
They do have a new git-like "personal server" feature with cloning, but I've never used it.
So I think I need to add new users to my perforce server
for the team member and then somehow download the files onto their rigs so they can run the editor
Yeah, you'll need to add a user for each team member.
And they'll all need to go through the same process: download P4V, login, set up a workspace, sync the files.
Probably not the best solution, but I think if you check "Automatically get all revisions" when you set up a workspace, it will pull all the files. I think.
For an existing workspace, you can right-click > Edit Workspace and do it there.
I don't use either of those features. 😅
I think they're for issue management and bug tracking.
That won't pull the whole project in a blank workspace.
Did you try checking Automatically get all revisions in the workspace settings?
It seems get revision and specifiying the commit with all the files worked
Not sure where that option is by the way.
Ah, right. That works, too.
When you create a workspace, it's a little check box at the bottom left corner.
To edit existing workspaces, you have to show the Workspaces tab.
View > Workspaces
Get Latest Revision actually grabbed all the files
when I tried it a second time to grab ss's for the other guy
Hahah.
gotta make sure you got the workspace root folder selected in tree view when you click get revision
Perhaps that's it.
After 4 years, I still question my Perforce knowledge.
So this basically is only for one project at a time and not like github where you can have multiple, I assume?
you can make multiple depots on the same server
but you can only connect with one server at a time
Ah, okay. How can I go about deleting test workspaces?
I assume deleting the root dir doesn't do much
view->workspaces
wtf
Making yas put up with me hahah
my depot folder has over 100+ checkpoint.xxx files in it
well they're numbered
like lets be honest
how is that not a thing already
Clearly each x indicates kisses.
@inner linden Just to add to your worries, make sure you Perforce server is set to back up properly (and that you can restore). The last thing you want is to lose a whole depot with no chance of recovery.
You mean like the VPS itself?
Also quick question, inside UE4 my workspace isn't populating.
Any particular reason why?
Ah, I needed to add ssl:
in ue4
With a VPS you can just snapshot the disk periodically, but this isn’t a “proper” Perforce backup. Whilst it may work, ideally you should run the proper backup process and store the result somewhere away from the VPS.
Good idea. I need to do that for my local personal files too at some point.
I was thinking AWS but i have no idea their price
Like I'd love to buy 100 gigs of space from them and just pay them monthly but they don't do that they charge per gb per month or something
AWS isn’t too bad for P4 hosting but the disk space can ramp up the price. Pretty easy to setup snapshots through their console. You can follow various tutorials for automated backups and then store them on S3 or Glacier.
I use DigitalOcean and recommend them.
AWS has a free period for 12 months depending on what you use.
I also use digital ocean for other applications and they are excellent.
DO has add-on block storage now, so you can expand as you need more space.
I'm using OVH at the moment for the VPS
since they do 2gigs of ram instead of 1
for 5 bucks
That's the only reason lol
Same storage size I think
I used them back when hosting game servers
never had any complaints from users*
And I mean at least their prices ramp up linearly too like 8gigs is only 20 bucks
Back in the day it'd be l ike 40 bucks for that kind of hosting
and by back in the day I mean like 4 years ago
Main reason I’m using AWS at the moment is so I can spin up Build Servers in AWS and connect to P4 on a fast internal network.
Yeah, VPS hosting has gotten really cheap and powerful in recent years.
I love it.
Way more affordable than it used to be.
The reason I want to use AWS is for my own personal CDN so I can upload files with ShareX
Dropbox is lame
I use Imgur for my ShareX uploads. A personal CDN would be cool if you set up your own short URL, too. 😄
ShareX is such a good tool.
I want a way to do a direct link
but without a discord preview
I know the obvious answer is to not use the direct link option
but I don't want dropboxes lame interface
that takes forever to load
That's why I use Imgur personally.
Conversion sucks
takes time
I like being able to cap a video and share it in like 2 seconds
Dropbox is a 0.8 - 1.8second delay
Well that'd certainly be nice.
Yeah a 10s clip was 3mb and took less than a second to upload
the larger files can be like 3-5 seconds though (2-3 minutes)
Depends on what you're doing I find the mp4 compression is so random
Never a big file, don't get me wrong, but the file sizes definitely are very inconsistent.
I know what you mean.
I originally was uploading to gfycat but they got mad at me and stopped letting me upload for an entire night
That prompted me to search for other means of uploading, turns out dropbox wasn't only no quantity / data limit but they were insanely faster
I think it takes like 20 seconds to upload to gfycat and have it converted
it also has like a innate 45 second file limit
Oh wow.
Hey I have to get back to work, but I'll be in and out of here if you have more Perforce questions.
Thanks for your help!
Anytime. 😄
needs a new one
Im working on one
But I want to cover Git too
But no one has a standard git process and all the info is whack
sounds like using git
Git is great. There just aren't enough Unreal devs using it.
It's getting better. Certainly perfectly usable.
Binary support is still rough, though.
It's fine for small projects.
binary support will always be fail until they integrate it properly instead of this silly lfs hooks thing
What's wrong with LFS exactly?
the locks feature especially is unusable slow
I tried using it with the editor plugin and it took 2 minutes to rename a folder
with like 6 files in it
lfs also doesn't compress the data so it'll quickly become ginormous for both the storage and bandwidth
I'm pretty sure LFS compresses files. 🤔
Maybe it's just not as compressed as Perforce.
also the perforce integration in the editor works flawlessly while the git one was constantly messing up or even crashing it
I agree about the plugin.
I had a rough experience, too.
The newer one is much better, but I haven't used it enough to compare stability.
For a long time, the editor came with a very old version of the plugin.
Not sure why.
But it includes a newer version now.
Honestly, my biggest gripe about using git with binary files is that you don't get the nice first-class experience you get with text.
You lose file state tracking, for example.
file state tracking?
For example: if I modify a text file, git detects that it changed. If I undo those changes and save again, git sees the file as unchanged again.
oh
With binary files, every time you save it gets marked as changed regardless of file state.
It's not aware of undoing changes and such.
yeah that's what I mean with lfs being this hooks nonsense instead of a proper component of git
it's just not that good
Ah, OK. We're on the same page then.
and when you have things like a merge conflict it presents you the diff between the 2 lfs hashes, like what are you supposed to do with that lol
Right. That's not really a fault with LFS specifically.
It's just that git has no idea what's in the file since it's not text.
I don't know what kind of work it will take to fix that. There are so many binary file formats.
I would just love to see deep integration with .uassets. Fuck, that'd be awesome.
it could do it like perforce and give you both files so you can open them in a tool that's useful
At least we can diff blueprints.
But that's it.
Lots of other asset types in UE4 that, honestly, I'm not sure how you'd ever diff them. Not even Perforce can do that.
That's not a git-specific problem.
the editor plugin can do it a little
it converts them to the text format you get on copy paste, and passes the 2 versions to p4merge
Well yeah, but to me that's not useful.
That really only tells you that the file's changed. You can't expect any reasonable developer to read that and know what is different.
its not useful too often
I think you'd have to just write your own diff/merge for your asset types.
Probably. With plugins and such.
effectively thats why you can diff BP
I have to wonder if they're encouraging that with the editor scripting API, actually. It has a ton of hooks for source control.
maybe it could open a details view on both versions and compare them
I just dream of a future where I can use GitHub for even the largest UE4 projects.
It's such a nice platform.
Just stop using as much BP 
sure when they add a normal scripting language
Or art

no art
write the textures in c++
seems like the new text based uasset format will dump the texture data as base64
They were working on a new mergable file format at some point.
But that was on their old roadmap.
Haven't heard anything about it in ages, although there's the new mesh format as well.
I think that's something different, though.
there's been a ton of commits on it merged in 4.20
you can now export an asset to the text format and look at it
idk if it's able to load them yet
Oh I had no idea.
I thought they ditched the new file format.
Unless you're talking about the new mesh format. Or is that the same thing?
the mesh description is unrelated
OK.
I forgot how to enable the option
but while I was testing 4.20 I found a thing in the content browser context menu to save to text format
Ohhh, interesting.
and it would make a .utextasset next to the .uasset
the format is not human editable beyond changing some simple values
but it's text
thats good enough
so it gets diffed through git
very important for all the blueprint files
still need locks though if you aren't working alone
One of the tidbits of info
that I've run into regarding Git / GitHub
which no one has mentioned to me so far but is kinda hella important when doing research on this
is that GitHub has a 1GB storage limit
And say if you push a 500MB file (a large map with built lighting)
Then you make 1MB of changes to it
Then push that 500MB file again
You will exhaust your 1GB storage limit
Because Git of course has to store both copies
GitHub then offers $5 per month "Data Packs" to allow for increased storage
$5 for 50GB of storage/bandwidth per month
And due to Git storing every copy of every file
Hosting a large project on GitHub would actually be more expensive than many other solutions :o
Thought I'd ask a question to see if anyone has a better solution for me.
So when I'm connected to source control I can't seem to sync the root Contents folder from within the engine, it was a pain having to sync every subfolder inside Contents so instead I just made a folder so it goes Contents>Game>rest of my folders for assets so I can just sync the entire game folder at once.
Problem now is adding marketplace assets and things from other projects. They all go into the top level contents folder and I can't seem to migrate them to the next folder down, which is leaving my imported assets inside Contents and the rest of my assets inside Contents>Game. If i try to move it into this folder with Migrate, it breaks all the references.
How do other people handle this? Starting to realise it might not have been the best idea to move all of my initial contents one folder deep but not really sure how is the best way to set up my folders. Cheers.
@wild hound I use git (gitlab.com) for SCM. Easiest way to prevent sync of Marketplace assets is to add the entire folder to a global .gitignore file. You definitely don't want to mess around with 3rd part file/folder layouts, that'll break UE in a jiffy.
@burnt shadow, try using Gitlab.com instead. I have several projects with > 2.5GB of files in them and can have multiple private projects for free.
Gitlab has a 10GB limit per project, no project count limit
Git is also completely unrelated to GitHub
So you can work just like with Perforce and have your own server
Gitlab.com, the Github competitor
You can also self host it as its own piece of software also called GitLab :p
But yeah, the official site has limits
gitlab.com is often slow or not working properly
Hi everyone. I'm setting up a git repository for an existing UE4.20 project. I would prefer to use SourceTree for all commits, pushes and pulls. I already have a GitHub account.
Now, how do I go about cloning my project to GitHub using SourceTree and sharing it to another team member? I'm getting distracted as whether UE's Source Control needs to be activated or not. If someone can write simple step-by-steps, it would be highly appreciated and I'll promise to tell a joke.
You don't have to use the editor integration, no.
Especially with Git, I've found that it can be a bit flaky anyways.
I've personally always just used either the VS integration or the command line, but if you want to use SourceTree that's fine too.
What are you having trouble with that's not really covered by other guides online?
@fresh garnet
Apparently everything sorted itself out. Thank you anyways @median heart . Here's a joke:
Knock knock.
Who's there?
An extraterrestrial.
Extraterrestrial who?
What - how many extraterrestrials do you know?
badum tshhhhh clap clap
@burnt shadow Git just is not fantastic for game development. Perhaps for the code side of things it would be great, but without a clean and sane way manage your content along side it with locking it will always be a crapshoot. Plust with perforce you can setup Unreal Game Sync which is a huge boon to anyones pipeline if they can get it all working. Makes distribution and global knowledge about builds so much better.
LFS is kind of the solution, but yeah UGS is awesome
The biggest problem with Git for content is that LFS sucks
At least compared to Perforce
Git for code is top notch, there's a reason every serious project is there now
Has anyone use Plastic SCM much?
I've been talking to Perforce, but it seems a bit heavy handed. Plastic SCM seems to be a good alternative, but I have no experience with it
working source control is kinda fun
its like a multiplayer make a game
why teach your kids roblox when you can teach them unreal editor
@summer terrace Haven't personally tried but I didn't hear anything good about it
If anything, it's probably not mature enough
how to transfer c++ source code using perforce?
so far i know perforce only transfer content folder
or did i missed something?
Uh, no
You should put your entire project into Perforce, not Content
Ignoring Intermediate & Saved
Whether you version binaries or just the source code is up to you
Yo, so how's Merging with Blueprints coming along?
We usually take turns, but if you want to work on a new feature in a different branch, you can't really do that anymore.
And I'm not sure if some Merge Tool for Blueprints has surfaced over the years.
Google seems to say "no".
The Diff tool exists, so I wonder what keeps Epic or who ever wants to from giving us a merge tool
the answer is probably still "you can't do that"
So what do bigger UE4 BP projects do if they want to add a new feature but don't want to add it into the running main code to not kill it?
I mean, C++ is all cool, but we are limited to BPs atm, which I can't change
Just artificially component-ize code.
That way, each segment is in a different .uasset
@reef oriole Does your Git Plugin allow Blueprint Merging in the way of actively saying "Use X of Version#1 and Y of Version#2."?
Cause it lists it in the feature description
So basically the same way as you would merge 2 versions of C++ files
@fiery prism Yeah that's not always possible though
Specially if the Feature is big enough to touch multiple files
At some points it will overlap with the active dev of the main branch
I mean even with components you can end up with two branches adding different components to the character
Aye. Most of the projects I've worked on have either addressed it via proper mix of BP and C++, fragmenting as described, or just being really careful about touching BP.
Nothing really good for a project to switch to, though.
Yeah our C++ is basically everything that is not in Blueprints
Exposed Variables, Functions and Classes that are only in C++.
The rest stays in Blueprints atm
have to see what Sebastian answers
Might have to ping him on Twitter
Unreal Engine 4 Git LFS 2 Source Control Plugin (beta)
Cause that lists "Merging Conflicts of Blueprints"
Hope it's not just "Accept Target or Source" for the whole thing
I'd be really curious how much that handles, and if it would invisibly break BP internals
Thing is, a DIFF tool exists
So you can DIFF two Versions of Blueprints and it shows precisely what changed
So I wonder why can't that be used to "merge"
It would only work in the Editor at which point the whole COPY PASTE stuff of node would work
But who cares?
I actually am kinda surprised a SC provider hasn't come out with a BP diff tool. It'd bring a lot of UE users to their service.
There is a diff tool already
He means like P4
The one built into the UE4 editor?
Like a P4 tool
Cause that thing is a joke
p4diff-BP
^
I'm talking about a tool provided by your SC service.
So I can diff BP from inside P4V
without opening the editor
that only matters though, if people are going to be interacting with SC outside the editor.
That would require any sort of service to be able to read uassets
Yeah I know, which is entirely possible. Just kinda surprised someone hasn't done it. I'd think Perforce of all services would be the one to do it
They are already buddy buddy with UE4
the uasset format changes all the time though
the editor is the best tool that exists to read it
a bp diff/merge tool should be built on the existing unreal frameworks
there is a merge tool in UE, open up any BP and you select File->Merge
You can also run the diff tool by running UE4Editor.exe -diff <File1> <File2>, might work for merging as well
Well let's have a look at it then
Yeah that only accepts one of the two
It doesn't allow to choose based on a conflict basis
You can look at all conflicts and then say "Accept Target or Source" for the whole blueprint
@smoky trench
Ahh bugger, thought you could modifying the resulting file in that editor
Swear I have in the past (but I tried to do that then and it crashed >.<)
Yeah I just looked at it, they just override.
However they do give access to a Changes List
So I wonder if parts of that can be applied to a Blueprint
So only accept one of two differences.
That would be awesome
No @faint cairn, the git plugin in fact only allow to choose witch version to choose in case of a merge conflict
the Unreal APIs is not designed to just let you select two random versions
- One usefull thing to have would be the ability to launch the Blueprint Visual Diff tool in standalone; it would be always up to date, and integrated in the Editor, but also callable directly from your source control tool
- Another tool that should not be to hard to shape would be a similar Visual Diff viewer for Materials
Well ue4 had a diff tool that seems to find all diffs.
Making that standalone is just a matter of replacing the references it grabs from the project with things you select
Question is if blueprints allow you to select the merge on a conflict basis, rather than the whole bp
Idk how they work internally. It would need to have the graph be modified as a temp graph with version of each bp version and then you would need to override the actual graph with the merged one
Similar to how text files do it
But that's just me guessing
@reef oriole
But no, the visual diff does not allow any edit, nor selecting base on each conflict: you have to select the whole bp version you want.
That is, it is done at the file level (select which version) and not inside the graph itself.
The problem is that's it's not mergeable by design
It would need a text format, with a file layout that makes sense
But the more you go into that direction, the more you just get C++ back
the new text format isn't mergable either
A mergeable text format for Blueprint is really basically C++ - a text file cut into functions, with a layout that isn't noisy, unlikely to change a lot with minor modifications
Like I always say, source control is half of why I do heavily C++
exporting a simple widget blueprint to the new text format gives you a 1.5MB file with all this nonsense in it
I'm sure K2Node_VariableGet_1925 won't be renamed if you copy-paste a getter node around, breaking merges forever !
But ue4 has internally a way of looking through the blueprint and finding diffs. Why cant I take a part of the bp and swap it out with another? As said I don't know how bps work internally.
probably because they don't need that at epic so haven't made a thing that does it
But is it possible
Example: Could I access BP XY and code wise remove a function from it and save it again?
Just theoretical
Not if epic has something for it
most likely could
after finding the undocumented api to do that that changes every single version
Does every client have to do p4 set P4IGNORE=.p4ignore.txt to enable the perforce ignore file? Or do I only have to do that on the server?
every client
Thanks channie 😃
@winged tiger Can also ignore files on a stream level if you don't want to set that up per client
e.g.
@smoky trench That is only available for streams?
That is good to know, I am working on moving to streams soon
May be available for the other types if they have a view you can modify butttt i've only ever used streams, sorry!
I appreciate the info tho since I plan on moving to streams 😃
are there any good sources out there for explaining all the ways to use a git repo? branches, conflict errors, merge
This guide has everything (look through the chapters). If you need more examples then this helps to explain the terminology etc which you can then search for.
thank you!
Hey, I pulled the engine source and built the solution. it builds the engine in a subfolder of the repo and now I have 87k changes which need to be commited to my local version (which is crashing github desktop) what can I do?
for some reason git add . git commit "" isnt working
however I left it on overnight and it commited
you can fix the types though
I think I saw a python script somewhere that applies typemap changes to all files that require a change
is it worth connecting to a source control system inside UE, i already use git but it says git support is beta
i think it has been beta for a long time
yeah ^.^ @dusk dove
https://github.com/jackknobel/P4Scripts/blob/master/P4Re-typemap.py
@vague whale Always smart to have a source control system, if for nothing else than to keep your work backed up and versioned. Especially if you are going to work with a team though its really important, and while git can be used, its not very good at handling UE4's binaries. Perforce is the preferred method.
the only issue with perforce is pricing, but you can easily host a home server ... https://www.youtube.com/watch?v=HOaDZEG49Z4
Ever wanted to work with friends on an Unreal Engine 4 project but just couldn't figure out source control? Look no further! Collaborate with your friends, w...
this guy does the whole 9, setting it up, hosting the server, port forwarding , the whole shebang
and hosting from home is free... soo
Yup. I am using an Amazon Lightsail vpn to host ours right now. Its really affordable.
And perforce is completely free up to 5 users as far as licensing. You have to be careful cause CI accounts and such count against that, so does the default admin account so make sure you use every slot
Went with windows server on Lightsail because of wanting to host the Unreal Game Sync meta server as well, but you can get pretty decent linux vpn with them very cheap, or go with a host like kimsufi who will get you an actual dedicated linux box for very cheap as well. That was our previous solution before needing windows.
Any Git pros have recommendations on how I could compress the git history of the UE repo whilst still retaining the ability to merge upstream UE easily (via Fast-Forwarding)?
Basically I'd like to compress all commits before 4.19 into effectively one commit (in order to reduce repo size).
Is this at all possible in a reasonable manner? (Every suggestion online says to use interactive mode and that's just a heinous task)
If it's not possible any other suggestions for what I can do?
INB4 "you should use perforce". Yes I know, I'm well versed in P4 but the reality is i'm using git.
Any help is much appreciated, thanks!
Git BFG is a tool that helps rewriting history in volume
But if you really want one commit, just create a new repo, commit the current state
Will that make merging from upstream UE a right pain because the history/commits don't match?
guys. I got weird issue with perforce, never faced this before.
so my wrong perforce setup somehow is saved in the project and it can't be altered(or the config file is read-only, so the changes doesn't apply properly)
and each restart of the engine I must go into source control settings and reset my setup to the proper one.
could anyone help with this? maybe there's some source control file exist, which could be re-created?
found out the solution - removed 'saved' folder. problem solved.
@buoyant ice Hey btw is there any guide on how to properly setup Unreal Game Sync? (The official documentation does not explain how to build the installer for example)
@wanton ridge sorry but there is now way to rewrite the history of a Git repository whithout messing with orther clones of it
BFG is awesome but cannot go around this "issue" because this is in fact a feature wanted by Linus Torvald:
SHA1 shignature of your whole history, that ensure that no one can ever touch the history without you knowning
@reef oriole Urgh, hoped I could compress the history to one commit and as long as that SHA1 signature matches the parent CL of the next CL in the history it would be hunky dory
hey, I've recently stumbled upon UE4 asset workflow issue working with SVN. I've asked the question here:
https://www.reddit.com/r/unrealengine/comments/9asacl/ue4_assets_workflow_using_svn/
if anyone knew the solution it would be great. Cheers guys!
@iron bronze its all in the vs solution, just click on the installer project and hit build. I am still working on getting it all working 100% and I plan to write up some documentation or tutorials once I fully understand it all because the existing documentation leaves a lot of things unsaid.
@buoyant ice much appreciated 😃 I've managed to build the app (with some made up icon sheets since there is no source available) but not the installer: the folder is empty.
What does everyone use for online source control for very small teams? Like two or three people?
I'd like to use SVN so I can store meshes and such
Still use perforce for teams of 1
or 2
Nothing will screw you more than having two people working on binary files at the same time without the ability to do conflict resolution.
We use SVN because I was lazy and non-techies couldn't figure out git
But perforce seems like a great choice
If you can get Unreal Game Sync working it makes things really friendly for artists/designers.
SVN works, but it's just kinda meh
Once that is set up and the project is synced up to the workspace you dont ever have to have them inside perforce again.
Hmm I downloaded perforce, but I don't understand where things are stored? like do I connect to remote repo kind of like github?
yes
Ah ah, sorry @wanton ridge:
"hoped I could compress the history to one commit and as long as that SHA1 signature matches the parent CL of the next CL in the history it would be hunky dory"
That's exactly the problem: to find a new history that match the SHA1 signature, you would have to "crack" it, but it is a crypto hash, meant to be very hard to crack!
But even though it is already considered weakened, it is far from easy to defeat it
So this has probably been covered a hundred times and I guess the answer is, you gotta put up with it, but anyway...
Am I missing something, or does the combination of Perforce + UE4 assets mean you're gonna be seriously abusing server storage space and network connection?
It seems like any small change to a property or some metadata on a huge texture asset means the whole thing being uploaded/downloaded by everyone else/stored an extra time on the server.
It certainly seems like it from transfer times, least as far as upload/download.
Storage I don't know, but I do know we just ran out of server space as a result of running resave packages commandlet on our content.
And perforce page suggests that only text files use deltas for storage.
That's possible
I don't use Perforce myself, but people here keep claiming Perforce is better than Git LFS because it doesn't store the whole file every time
Hmm, don't know then. It's funny though, I keep wondering why the hell P4 seems to do things so inefficiently in comparison to git.
I've not used LFS and obviously code/binary is very different, but I still can't comprehend why P4 seems to insist on doing everything on the server and never caching anything locally.
Dunno either.
becouse if you cache locally you bloat the fuck of the local user
this is a thing with LFS
GIT essentially works by having a 100% working local server
and then you sync the stuff in the local server with the "remote" server
if you use LFS, its storing the full files over and over again per commit, on the client
so if you have a 5 gb project and commit everything twice, your .git hidden folder is now 15 gb
this happens to every artist
and will bloat very very hard
thats why a central approach is better
the bloat is kept to the server ONLY
and your artists can be on SSDs
if you run out of space you throw a couple more 4 TB hard discs to the server
important to know that you can "clean" your local .git folder
to remove the bloat
but in general LFS is not a solution, its a huge hack
if you are truly unable to use perforce (due to cost or whatever), i would suggest SVN instead
artists love the simplicity of SVN
but branching is a pain..
tbh no one should care about bloat on the disk 🤷 a 1TB disk costs like $40 these days
You're going to have all your company's production on disks that cost maybe a day's worth of an artist's pay
Meanwhile, the 3Ds license clocks in at what, $4000 now ?
No idea why disk size is even a topic
@brittle raft SSDs
you really, really want to have the game assets in an SSD
and even better, in an NVM fast ssd
Still cheap
but you can only have 1, wich they go to like 1 TB
of course that 1 TB is enough
but you still dont want to bloat your artists
if i couldnt use perforce, i would be using SVN...
i wish there was a way to merge git + svn
like use SVN for the content folder and git for the code
and they are properly synced
2 repos doesnt count
ive found that LFS, due to its hacky nature, is really prone to slowing down the more files you have
You don't need an NVM disk.
and in ue4, every file is binary
its specially bad if you buy asset packs like anims or assets, wich just add a shit-ton of small files
And of course you can use Git + SVN - two repos. Works fine.
Programmers routinely commit in multiple repos. I have like 20 opened right now in Sourcetree.
but then its not synced, and that causes considerable issues unless you are SUPER strict and doo something like a identifier tag or whatever
yes but multiple repos are one thing
1 project with Git + SVN is a huge issue
lets say you are tracking a bug
and you are rolling back the code
It's not a huge issue at all
but you also need to roll back the assets
if they arent synced, getting both repos to the correct commit can be annoying
They are always synced
Because you only push compiled code on the SVN rep
Not source code
but you do push blueprints
wich depend on specific versions of the code
so in commit ABC of git you added X function and later uploaded a SVN commit using that function
thats where stuff really gets fucked
Update the C++ code in Git, compile, commit binary in SVN, done
I have done it
Literally
it's fine
so do i
is how i had the Open Tournament project
but i did have issues with the "roll back to specific version for testing" part
It's not like there's lots of choices either. Git is pretty obvious a choice for code, and it's pretty bad for large art teams
I disagree that code & art need to be in lockstep too
Your C++ team should treat Blueprint like a client, not break old APIs until the Blueprint has updated
Also something I've experience doing - worst case, the C++ team updates the high level code themselves
Interesting stuff. We've been using Git/Perforce for code/assets, but it's only two of us currently. Been wondering about possible syncing issues like that for when we take on more people.
And @noble knoll yeah that definitely sounds like overkill with LFS. But Perforce doesn't appear to even cache the most recently checked out revision, which seems insane.
I ran resave packages commandlet on our content, decided to bail out and revert. Perforce is like, "Okay you just wanna revert files to last revision you checked out? Sure, just let me download 100GB again...".
That's a good point but I think for most places their P4 instance would be on site @near night and if it isn't a P4 Proxy server would be setup. So whilst still a pain better to pull over the local net then having that 100gb located on disk along side the existing repo (admittedly it would be compressed but still)
@brittle raft how does it work for artists/designers on your team. Do they sync both repos or do you have a script that does it for them?
@near night holy shit you are right that's insane 😮
As an engineer that solution (multiple VCS') sounds ok, but for applying that to non-engineers sounds like it has a huge potential for failures
Yeah I think you're right @smoky trench. I'm getting the impression that Perforce is just very much aimed at teams with much larger infrastructure.
Yeah you're certainly not wrong on that, the price alone is already meant for bigger teams/companies 😛
It also insists on uploading everything in a changelist, only to determine on the server that 90% of files were unchanged. So they very clearly don't seem to make much effort to minimize network use.
We ended up paying for it because it was straight up more cost effective then the troubles we had with git. (daily issues)
Interesting, in P4V you can turn on icon changing if the file is modified and of course go revert unchanged files before a push. But yeah it's not ideal tho I'm sure there is some reason for that madness
Yup, I think there is just a very clear decision to run pretty much all logic and operations on the server not the client.
To be fair, a lot of these problems are only really serious because they're compounded by UE4's really naive binary asset system. Changed a metadata property on that 100MB texture asset? 100MB upload...
Nope, currently our source git repo and Helix server for assets are entirely separate. Like I say it's only two of us at this point and I'm the only coder, so a manual solution is fine for the moment.
Yeah makes sense!
You can make that behavior default at workspace level
btw, about perforce + git
due to the demand, there is actually an official way to merge them
and use git commands and git workflow on a perforce server
it will just translate the commands
I'll look into that, thanks.
And @iron bronze yeah problem is, that still uploads everything in the changelist from what I've seen, and then makes the determination on the server.
You sure it uploads everything to the server? My guess is it generates a hash client side and compares it to the server's
Because I ran a quick test on my slow p4 server and it seems faster than uploading a couple hundred MB over the internet
Well, that would make a lot more sense. It's possible I'm wrong, but I definitely got that impression from the little testing I did a while back.
@noble knoll I've set p4 + git combo up and had them talk to eachother
its not worth it
Hello everyone,
I'm trying to submit files over 100 MB to github, but they get neither detected by Github Desktop nor Gitkraken
lfs is set up
any ideas?
Not detected? Are they excluded from addition in git ignore? Are they in the repo? Is the repo properly initialised and setup.
They aren't excluded in the gitignore file, since they are .uasset files and other smaller .uasset files get detected
They don't get detected in the sense that it just doesn't show them as changes; when I drag a folder in all smaller files get marked as changes, but the bigger ones don't show up
I think the repo was set up properly, but I'm not sure since it wasn't me who set it up
anyone know how i can see a log of what github desktop is doing?
im committing my project for the first time and the first big commit just showed up in the history tab
but it still says committing to master while using 100% cpu and 0% network
so i assume its still scanning stuff
does it make sense to use case sensitive mode in perforce for unreal? 🤔
How did you setup github desktop for lfs in the first place? I can't seem to get it working at all
any one have any good tips on versioning and perforce with CI builds?
never found a great way to track version numbers and such in unreal
I'd highly recommend looking into UE's build graph if you're using CI. But to answer your question you can run the UpdateLocalVersion commandlet
https://docs.unrealengine.com/en-us/Programming/UnrealArchitecture/Versioning-of-Assets-and-Packages#updatelocalversioncommandlet
@wanton ridge Thanks! thats great info
I am using buildgraph with TeamCity just not really great at that stuff. Im good to go when it comes to game programming C++/Blueprint etc but the tool chain world and CI is something ive never messed with so its been a slow painful process getting that all up and running along with UGS.
haha, yeah know those feels. I know a reasonable amount about Build Graph if you need a hand with it in the future
I don't know much about TeamCity but know a bunch of jenkins stuff
Thanks I might take you p on it just to make sure im not making my life more difficult than it should be.
TeamCity is basically the same as jenkins but plays better with Helix and I find it less cluttered.
For one off things BuildGraph is probably abit over kill, but if you want a full CI pipeline then 100% use it
Right now I have to set up so if I submit with certain tags like [BUILD] in our dev stream it will build the binaries for distribution via UGS so artists and such dont have to compi8le anything, and in the release streams im trying to set it up so that [DEPLOY] tags will build client and dedicated servers and push them out to their respective hosts etc.
RE: Team City yeah fair enough.
Ahh nice, are you using the example BuildEditorAndTools script?
Nice
Is there a way to get the changelist number inside Unreal via BP?
I want to base my games version number off the change list and it would be nice if I didn't have to update it all the time as it would just update when I commit.
OOTB not to my knowledge but you can access it in C++ via FEngineVersion::Current() so wouldn't be too hard to create a function wrapper for that
Ok this is a long shot, anyone developing for NX as a studio, and dealing with large files across p4
@rough leaf, by NX I assume you do mean Switch? Working with it here, have used both git and P4 projects with it. What sort of large files are you working with?
Hi jack, sorry for super late reply, I was wondering if we needed to add some binaries to p4 or let them be buitl locally, but we did som testing and realised we didn;t need to have some random local files on p4, to save us sync time
hello everyone !
I'm facing weird issue using perforce..
I have posted oin answer hub as well ..
perforce not submiting all
all file, *
kindly have a look , let me know if you guys have any idea to fix it
thanks
o/
anyone here with experience setting up a modern perforce server on Ubuntu?
all the resources online that i've found are quite outdated and perforce wants you to install it differently now
you just need to follow the "package based installation" guide now
some things that would make sense to do after that are
- disable creating new users or enumerating users
- enable parallel sync on the server
- set up something to create daily checkpoints and make a backup
- set up a typemap that makes sense for unreal
I don't think there are any guides covering all of these at once
@burnt shadow said he was working on an updated guide a while ago, not sure if anything happened to it
that's actually the guide I'm follow now lol, from 2014
well, I got the server up
it is running
but I can't connect to it remotely
via P4V
maybe you accidentally firewalled it (I did that lol)
enabling the firewall on your ubuntu server without adding an exception for 1666
oh
I don't think I've even added a firewall
unless it's there already
I set it up on Vultr
ah shoot, would'ya look at that
ah, nope, it's shut down
so that shouldn't be the issue here
WSAECONNREFUSED
maybe I gotta set the ip in my $P4PORT?
AHA!
that was it
sorry for the spam
welp, that guide is still working well, you just need to install perforce using the new install guide by perforce
Oh shoot. I forgot to set up the typelist before submitting my files. @dusk dove is there any way to remove the current change?
nvm I got it
What a rollercoaster
It's my dramatic nature 💁
anyway, @burnt shadow kudos to you, your guide still works flawlessly
as long as you just install perforce as a package
aight
Lol. Propagating changes from an updated typemap is one of the weak points of P4. The only way to really handle it for already submitted files is to use the search function in p4v to get all the files of that file type and set the new permissions and submit. Any new files will respect the typemap update but you have to manually apply it to files already in the depot
there's a python script pinned in this channel to automate that process
Anyone here familiar with why a root account on a linux server, when running ls / dir, would yield no results upon just logging in?
I've tried CD'ing into # and home but no success
dirs not found
Its fucked
@inner linden sudoing or actually logged in as root?
If sudoing, you probably need to sudo the ls as well to see what root does, IIRC.
Question: Is there a way to filter for "new" objects or files that not under source control yet (yellow question mark) ?
Not that im aware of.
You can use the "checked out" filter which will show marked for add and edited but unfortunately I don't know of anything that will show just marked for add 😦
NOT "checked out" maybe?
I am having trouble loading https://github.com/orgs/EpicGames/teams/developers anyone else?
@proud forum Yes, that link hasn't worked for a while now. Use this https://github.com/orgs/EpicGames/ or https://github.com/EpicGames
I usually work with Git and I'm looking into moving to Perforce since it's better with binary files and unreal but i never got to host anything on web before
it uses a virtual machine not just cloud storage right?
I mean there is not service like github for it as far as I know and you have to host it on a virtual machine you rent
yes
@stoic rover Perforce and Git are both ultimately just software.
They have no reliance on being on virtual machines or on the internet or any such thing. That's just convention.
Correct, there is no SaaS option for Perforce hosting (that I know of).
But you can even just run the Perforce server on your own machine. Wouldn't be very good for having backups though.
Assembla offer a hosted perforce, but it’s not cheap! https://www.assembla.com/perforce?utm_medium=PPC&utm_source=Google&utm_campaign=18-Q3-PPC-Assembla-Overview<=Content<d=webpage-Assembla-Overview-PPC&gclid=EAIaIQobChMIjMmQjIGq3QIVBp3tCh1VYACpEAAYASAEEgJtrvD_BwE
Assembla is the only Perforce Helix Core provider in the Cloud. Fully managed Perforce in the Cloud for Game and VR development teams.
@rose wave I can get 4 cpus, 8 GB ram and 160 SSD on DigitalOcean with that price haha
and work with my team on it too without having to pay it per user since we are only 5
but thanks!
Yup, I said it was expensive 😉 I believe they are the only ones to offer the solution so like you said, it’s that or host your own (which most people do).
Something to keep in mind though is that most people will setup perforce and leave it at that. However, you MUST ensure that you have good backups. Enabling digital ocean snapshots / backups is a start, but it’s not enough. You need to ensure the proper P4 backup process is run and the output stored somewhere off that machine.
assembla is a scam, don't use it
@dusk dove How is Assembla a scam?
https://i.imgur.com/h4Oj0nC.png they're just reselling the free license for more than a real one costs
@dusk dove It costs more because they are providing more value on top of the Perforce license.
Hosting, lots of storage, project management tools, etc.
yes, however if your team is smaller than 5 users they still collect the same amount of money from you while not having to pay for perforce (making a new server with 5 users is free after all)
so, since this pricing isn't
1-5 users: $4.50/month
6-20 users: 44.50/month
I'm gonna assume it's a scam
There may not be a practical way to pass that 5-user free license on to their customers.
I mean yeah, it's possible they just don't want to have a separate pricing tier and this is easier for them.
It probably comes down to how the licensing works.
also seems somewhat suspicious that it ends at 20 users, the maximum number of free users some slightly older version had
If providing this service requires them to be the actual license holders, then business model makes sense.
that too
But then you have to manage it yourself. 😛
oh wow so hard
takes barely a few minutes to setup and then you are done
hail the Allar guide on perforcering on a cloud server
For most people, doing it right, securing and maintaining it is not easy.
And for most people, paying for someone to take care of that for you is well worth it.
And a good portion of that monthly fee is the Perforce license, too.
I'd recommend VSTS for VCS with git/subversion, code hosting (with git-lfs, no limits), team management, tasking and even build and release automation if you're going to pay per month
you could setup an p4 server locally tho.. just saying hehe
i've heard only bad things about assembla
IIRC one story was during a longer game jam event of some kind where the group had some issues with their repository so it became inaccessible for them during the final days of the jam
and it took days to resolve the issue
this was years ago though so maybe they have improved since then
yup not a fan of assembla, we had already locked in a year license with them and they then tried to charge us on top of our existing service when they started charging for P4.
That and I found the service slow because, at the time anyway, they didn't appear to have any OCE servers
any word on where developers are hosting github content now? Also, how does SourceTree compare to other git visualizers?
just got it set up for a test project after many hours of updates on OS to get everything aligned for dependencies
imo sourcetree or tortoisegit is as good as it gets for a gui right now, gitkraken still had too many issues a few months ago when I tested it
if you want to stick with github for the project itself, you'll need to setup git-lfs for it and rent enough space from github
k, thanks for the feedback @elder robin
We're using a Perforce server, and trying to restructure our project. However, one of the team members is getting the following error when trying to fix up redirectors:
redirector could not be checked out or marked for delete
What could be causing this, and how could it get fixed? He does have all the permissions in the server needed to check out and delete the file...
Apparently there was an issue with the folders used for the workspace, where it was linked to a different folder, fixed now
Are there any plugins which allow you to run lfs diff on animations like you can with blueprints?
Hey popping in for the first time.
Does any one have preferences or pros and cons to source control in unreal. I started a VR project using Git as source control but it has significant issues doing any kind of merging because blueprints cannot do a git diff as far as I know.
Are there best practices? Should we just switch to perforce or other options?
Perforce 4 lyf
Yeah Perforce is the industry standard, but @grim mica you can diff blueprints if you initiate Git inside UE4's editor
https://www.unrealengine.com/en-US/blog/diffing-blueprints?sessionInvalidated=true
And if you want to use Git LFS 2 you can use this Plugin
https://github.com/SRombauts/UE4GitPlugin
Perforce is a better option anyway
LFS 2 ?
appearantly the lfs is version 2
I wonder how they got to v2 with it still not really being good
there is nothing they can do, really
other than creating a git branch , like "bingit" or whatever, wich has LFS stuff built in and works decently instead of being an abomination
that's exactly how lfs should be done
a core git feature
I really don't understand why it was made differently
becouse its just a git addon
making a full git branch is no joke
you are doing a different source control system at that point
well obviously the goal would be to put it back into main git when it's done
Hey can anyone in here tell me the rough cost of getting 5 additional perforce clients supported?
We need to get a total of 10
And only have 5 right now.
it's not 5 additional ones
you have to get a license for 10 users then
people here claim it is 40/user/month
making that an absolutely insane 4800/year
¯_(ツ)_/¯
Thank you~ @solar yew
Hey guys, my team recently stumbled upon issue with using SVN editor source code plugin, and working with graphics assets. I described it precisely here:
https://answers.unrealengine.com/oauth/authorized?code=f3a50f5fd16141a3855f91f7852e9bea
has anyone had similar issues?
Hey, can anyone share workflow using perforce for small team up to 5 users?
Hey guys I want to switch from GitHub to gitlab. I made an account and migrated my code over. I'm using gitkraken but can't seem to figure out a way to have gitkraken push to and use gitlab instead of github
@vocal smelt i think the docs cover it pretty well: https://docs.unrealengine.com/en-us/Engine/Basics/SourceControl/Perforce
you'll want to enable exclusive file locking so you don't stomp each others work
what they don't cover is p4 administration. journals, checkpoints, backups, CI/CD...
I finally got gitlab added properly on gitkraken..the problem is that gitlab is now 2 commits behind. I'm sort of new to this, so which one should I choose to get gitlab to catch up to the current commit? Fast Forward?
I want to get gitlab caught up, then remove github.
or at least stop pushing to it
@limpid obsidian , ty, i've read this article. And now i have server on my computer. So, i have questions:
- Do i need to initialize personal servers on other computers or it would be better to communicate directly with the depot on server?
- I want to use streams. What is the workflow? When streams should be created? Do i need to create a stream depot on the server?
@vocal smelt i would not setup a server on my home computer...you should check out Digital Ocean
streams are for more advanced codeline management (https://www.perforce.com/video-tutorials/mainline-model-tofu-scale). a classic depot with a single mainline should be fine. you can always create a streaming depot in the future if your needs change
this is a good book on the basics: http://shop.oreilly.com/product/9780596101855.do
but be careful. you may find yourself becoming a p4 admin/build engineer
😛
gitkraken may or may not use your public key
like it be using gitlab / github https authentication through oauth
so i posted a goal on my patreon on this issue of perforce and CI/CD
it's something i see people struggle with quite often, so i'm gauging the interest
I've noticed a number of people struggling with the basics of Perforce and the workflows around it. Many haven't even heard of CI/CD. If you're serious about developing a game in UE4, consider this goal: https://t.co/mj8ePAj0Oa
(bit of a side-step from my Niagara tuts, but something I do daily at my job)
@limpid obsidian ty very much)
Okay so i think i am finally wrapping my head around this
Perforce is my version control server locally on our servers.
which i can local repos which my team can work from
however i can download the Perforce Git connector to connect to my Git Private Repo.
correct?
no
you don't use git at all
perforce has multiple components, p4d runs on your server to version all the files, p4v is what you use on your pc to sync/submit changes
thats what i have setup
but i was looking for cloud based repos since where the local server is sitting has awful upload speeds
local ISP restrictions