#source-control
1 messages · Page 56 of 1
it's looking for a uproject file, either locally or in a workspace. IIRC everyone on the project's engine requires a source build, UGS is in 4.XX/Engine/Source/Programs/UnrealGameSync. Also I think the perforce depot needs to be a stream depot, instead of a standard
Learn how to get started using UnrealGameSync.
What "Client" stands for in Rider's perforce plugin?
corresponds to P4CLIENT variable, which is the workspace name @bitter sun
Thanks @woven sluice 👍
sidenote, using the P4CONFIG option can be a lot more convenient (populate P4CONFIG environment variable, use a text file in project root to permanently hold your perforce settings nicely per project instead of entering them directly in rider)
For perforce, I'm getting "There are outstanding changes in the target which will be overwritten if you proceed with copying. It is recommended you perform a merge prior to copying." during a stream copy from a child stream to its parent stream, except I have already merged parent to child, and there are no outstanding changes in my client's change list for either stream. What should I do in this case? I don't want to force copy if something can break. I've had issues in the past forcing things before. Any suggestions?
If it was me and I wasnt sure what was going on I'd probably make a manual copy of each stream on disk and run windiff on them to make sure there was actually nothing different...
Pretty sure we already told you that you shouldn't be using branching/streams though...? Why do you keep using these? (Except virtual streams, they're fantastic)
hmm, ok I will run a diff. I'm not branching anymore, but I am using inherited streams, this was how I set up my project initially. I did not realize you suggested not to use streams in general. I use them so that I can keep source code out of the art stream. I will check if virtual streams allows for that as well.
So that diff catches a file that is problematic I think, that p4 thinks is already resolved between each individual stream but it's different between the two streams. Someone has it locked though, so will have to wait for him to unlock. Hopefully that's the problem.
Virtual streams looks nice and can do the excludes, but it does force me to work with the artists files as they check them in. Still thinking about that.
I might also break stuff for them?
oh hmm wait, u actually still do merge and copy on virtual streams I see, thought it acted on the parent streams immediately but it is deferred until you do these commands
I feel like you're over thinking everything, what are you concerned about? (Does your normal workflow involve constantly submitting code that doesn't compile?)
Virtual streams don't do merge and copy, they act on the same files
Mostly is that I have to check in dev-binaries for the artists. but I usually just compile with debug binaries. When I forget to check in dev binaries, their editor crashes. But I'll just have to try the virtual streams I don't think I have a good grasp of where they are different vs. regular streams.
virtual streams are like a symlink of the original stream, but modified with stuff optionally cut out. it sounds like you're going to want to set up CI soon. the setup I ended up building for our small team is roughly like this:
Mainline stream contains everything as usual
Coders stream, virtual, contains everything except Binaries folder
Designers stream, virtual, contains everything except Source folder
JenkinsDev stream, virtual, contains everything except Content folder
Perforce runs a trigger whenever someone commits any .h, .cpp or .cs file to launch our CI system (Jenkins) which gets the latest code changes, builds dev binaries, and submits them for us. the only thing Coders have to worry about is submitting code that doesn't compile.
Yeah you're right, I should set that up. I have been putting off learning Jenkins to do CI but it's starting to make more sense.
thanks for explaining how you do it. I'll try to mirror that when I set it up
in the grand scheme it's a fairly low-end setup but it's been really robust for us in early-mid dev now for half a year
I coded a little discord bot that posts commits and build progress 😄 been planning on putting it on github eventually but... life
Sounds cool. Code too messy to github for now? 😄 You guys using discord to communicate too I'm guessing
yeah python is about a mile away from being my best language...
Hi
What is the best tools .. or way .. for my ojective ?
for Virtual production i need to create à tool for manage some Unreal parameters
but i need an external program .. or .. tool .. or private session i dont know for manage some parameters not in the editor directly
like Chroma Key ..
position of the camera .. or sort of parameters
i know some virtual studios use really cost products like Pixotop or such things
but how to make a sort of UI to control externaly some parameters ? like DMX .. position of lights etc . ?
what is the best way ?
There is the Web control interface possibility like this
but is there a 'Program " way control possible ?
i have found an israel studio with this intention .. but seems to be "in dev and not downloadable for the moment
Hello ladies and gentlemen.
I am using Animation Starter Pack while prototyping my game.
Some of my assets reference assets of Animation Starter Pack.
I want to commit my assets to git repository.
I wonder, if I have to commit Animation Starter Pack referenced assets too.
I would love to store just my assets in repository as Animation Starter Pack can be easily downloaded separately.
Is there a way to achieve it?
@stark mural .gitignore?
But not sure why you wouldnt just store it in the repo
You can also self host a git instance
Oh, I actually didn't find any information about that, but I will look it up. For now I went for perforce self hosting
Hey guys, does anyone know how to work from distance collaboratively in a unreal project with perforce? or at least point me in a way that i can do it, please
Anybody have experience running Unreal Multi-User Server? I'm having trouble persisting changes to a project that uses Git LFS 2 with File-locking. When I press 'persist changes' I get error messages in the Message Browser that show that I cannot copy files from the temporary state to the persisted project content. Any ideas or otherwise suggestions on where to look?
It doesn't seem to be an issue with file-locking... and I can see that the temporarily stored assets are available on my local machine... but just in one of the hashed temporary folders, rather than in the project content folder
Maybe the multi user server binary itself needs to be given write permissions to the project folder? No idea. Seems strange. It definitely has write permissions to its own subfolder already. So...
this may not be a source control issue, but using github, sometimes .cpp files will not show up/load in editor? the files are right there in the folder, just unreal thinks they dont exist. only one or two as well, not all of them. any idea how to A get them to load and (if possible) B make sure it stops happening again?
I just had to learn this, here's the tutorial I used https://youtu.be/GsdS71tdGj8
Digital Ocean link: https://m.do.co/c/9c32421cec91
Perforce docs: https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html?fbclid=IwAR0meqmgIgK4Ic3eewVv-vpm7EQGJl0uKTNQmDc99Jx9s0wTQ12ByiYvRkY
Try my C++ Survival Game Course:
http://bit.ly/unrealsurvival
Discord:
https://discord.gg/meFRZfm
can i get some help with installing 4.26.1 source build i download that version and when i extract it and go to generate the files it said something is missing or not downloaded
@crystal sand run setup.bat first
It needs to grab additional files
(readme mentions this, along with the whole process, on the github repo)
thx
Trying to set up Azure DevOps git repos, my first initial project push worked no problem with LFS, but my next push keeps failing with these errors. when searching, the only solutions I could find were to increase lfs.dialtimeout and lfs.tlstimeout to a high value, push still fails.
It says completed with errors but the changed files are not showing in the repo. Could it be because I moved the default template into another folder inside unreal?
Has anyone had issues with git and uassets? I had a strange issue where I was not able to see the changed file in the commit/merge to main. Im looking into perforce now because it cost me a day of research to basically end up just deleting the branch and start over. So Im asking more for curiosity at this point
@ornate willow try this
git config lfs.dialtimeout 600
git config lfs.tlstimeout 600
git config lfs.activitytimeout 600
git config lfs.keepalive 600
Are there any limits on single file size or total storage size for Git LFS? 文件詳細資料 ⚠ 請勿編輯此區段。 這是 docs.microsoft.com ➟ GitHub 問題連結的必要項。 ID: 96e60bfd-765f-81ad-312d-f46ef9a66ddc Version Independent I...
git config http.version HTTP/1.1
What are your git attributes and git ignore files looking like at the moment?
I just did the unreaengine hit ignore
Gitignore*
Should I add other folders to it?
These are my folders
I’ve ignored the plugins cos it had binaries in it
Is there a way to push just the latest commit?
@red maple These are the current settings I am using, the git ignore only has a couple of minor differences for a syncing software used by a client. But nothing that would affect you.
You can force a push if you need to, but it depends if there are other people working on the project who's work you might erase.
But to check, you have git lfs installed and initialized for this repository?
Yeah all installed and initialised, thank you for the help
Let me know if those files work, if they don't then you could force a push and I can walk you through that process. But that is not the recommended method if it can be avoided
Okay, I’ll give them a go, cheers dude
Trying now, I’ll let y know how it goes, my git files were just text files so maybe it’ll work now?
Still getting the same error
I’ll try force a push tomorrow
I think Dieter told you the problem like 60 seconds after your first message 👀
@blazing quail @mystic sparrow, thank you for your replies. Strangely enough, the issue was that the host URL that Azure DevOps gives you does not work as it should with LFS. For some reason, I needed to change my host URL to https://{organisation}.visualstudio.com
Idk why, but many users report that the new URL they give you ( https://dev.azure/ {organisation} ) doesn't work with LFS, you have to use their old visualstudio.com, bizarre (because it's not documented on their pages at all) but it works!
Odd 🤔
Anyone here use TeamCity?
If so I have a question for you: Are you aware of a way to trigger jobs based on changes in a given set of streams but have TeamCity not sync anything?
If I set the checkout rules to be -:. so it doesn't sync anything then the triggers don't seem to work. The triggers seem to be based on the checkout rules.
?
Option is under Build configuration settings -> Version Control Settings
I just... wow...
OK, going to go try that, I am very much sad that I missed something so obvious
Thank you
No worries. I'm not sure it'll do exactly what you want but it's worth a shot.
it is indeed
So by not checking out files it doesn't create a Perforce workspace
it also then doesn't set any of the env variables for Perforce, such as the p4 port
Is there a lfs/bfg command that removes unreachable objects based on the current commit?
RElatively new to SC, is it normal to have to save all in a project before SC will 'see' anything needs submitted ?
I just added as a test, I modeled a polygonal object
Can you do a hook that creates a blank one, then pulls via a script rather than teamcity?
if using editor integration yes
you cant detect changes that arent saved?
its been a very long time since I used teamcity tho
I ended up doing what Siliex suggested and then just synced what I needed via Powershell
yup
This is a super hacky script, but it works as a proof of concept:
$triggerStream = "%teamcity.build.branch%"
$triggerCL = "%build.vcs.number%"
$escapedStream = "$triggerStream".replace("/", "+")
$p4ClientName = "%teamcity.agent.hostname%-dev-binaries-%teamcity.build.default.checkoutDir%"
$clientSpec = "%vcsroot.workspace-options%"
$clientSpec += "`nOwner: %vcsroot.user%"
$clientSpec += "`nStream: //Squad/Dev-Binaries"
$clientSpec += "`nRoot: %system.teamcity.build.checkoutDir%"
$clientSpec += "`nClient: $p4ClientName"
$clientSpec | p4 client -i
$addFile = $false
p4 -c "$p4ClientName" sync -f "...#head"
if (Test-Path -Path "$escapedStream.zip") {
p4 -c "$p4ClientName" revert -k "$escapedStream.zip"
p4 -c "$p4ClientName" sync -k "$escapedStream.zip"
p4 -c "$p4ClientName" edit "$escapedStream.zip"
Remove-Item -Path "$escapedStream.zip"
} else {
$addFile = $true
}
7z.exe a "$escapedStream.zip" ".\Squad" ".\UnrealEngine" -r
if ($addFile) {
p4 -c "$p4ClientName" add "$escapedStream.zip"
}
p4 -c "$p4ClientName" submit -d "[CL $triggerCL] Precompiled binaries $triggerStream"
@simple lodge I guess I thought SC monitored that stuff itself, but ya
Nah you have to save the file before its marked for checkin
@river charm
Perforce gives one year free AWS server
Its slow, but a good choice if you are comfortable with it
Hello, what do you people use for source control? I'm very confortable with git, but github hates the big files (uassets) in my project. Also tried git-LFS but it doesn't work and complains I'm already over the quota, asking for $$$, so... what do you do?
Thanks, I'll check it out. I really like git, but I guess I'll have to give perforce a shot
Git with a Git server backed by LFS is a really great way to go. You just have to make sure you configure it right. Lots of people really enjoy self hosting GitLab and using its Git LFS system.
for perforce, when I make a new depot for each project, should I make sure its a stream depot type?
It will be easier to manage branches later if you start with streams right off the bat
^^
You don't have to, but generally speaking even if you don't plan on using streams now, having it be a stream depot at least gives you the option to do that down the road without having to make a new depot.
Has anyone else had to git-filter-repo a bunch of missing lfs OID's because old LFS files were moved/renamed?
Hi!! Any beginner friendly alternative to perforce or git?
I need to work with friends and they will most likely test and add some sounds etc..
idk if there's something more beginner friendly than git with a GUI
Ive had issues with git not reading certain files in the workspace, specifically like uasset widgets and such though
And its not just me, a bunch of people even with lfs were having trouble online
was that with git, or with git-lfs
did you have file locking with lfs?
aside from the usual configuration shenanigans, those 3 could make git work in vastly different ways
Git is the friendliest and most used for SCM in general. That being said, my experience with the git integration in the engine was god awful. Even with locking I’d only recommend it for teams of less then 5 and also have everyone heavily communicating what they edited. Handling merges is not a fun time.
If you wanted a free and quick setup, azure Devops really is the best way to go. Unlimited storage(all other providers have caps for lfs) and all you need to do to turn it on is add a single file to your project folder
I wouldn't call git friendly, but it certainly is the most commonly used VCS these days (outside the game industry, at least). Honestly I don't know if I'd call any widely-used VCS "beginner friendly" but if you've never touched a VCS before git is probably the way to go simply because everyone uses it and there are lots of good GUIs that help smooth over the sharp edges.
I'd argue perforce is actually much easier to use, but requires that someone know how to administrate the server as there's only one managed hosting service (assembla) and it's not cheap.
Hello there,
I'm trying to sync Plastic fresh repo with Git, but when it downloads all the content and you open project all the assets are invalid (you don't see them and if you try to load them in c++ constructorhelpers it fires a warning about no such asset). Anyone know how to fix this ?
Plastic and Git are 2 different things or am I wrong?
do you have the files on disc
and are they like 1 kb big
You are not wrong
cause in git something like this is often caused by a failed LFS pull
They may be using this, though, to sync the two: https://www.plasticscm.com/documentation/gitsync/plastic-scm-version-control-gitsync-guide
Yeah, they syncing between each other.
More accurately Plastic can pull from git and push to it, pretending its a usual git user.
well is your repo using git lfs, if that lfs pull fails you get all your assets as just 1kb file pointers which would explain your situation
Yeah, seems like. But what is the work around?
Strange how I didn't notice that even though I familiar whith this lfs stuff
just try a manual git lfs pull in your command line
After this Plastic thinks I changed files and wants me to commit changes (all the content). It makes no sense and will f up repo history. I don't want that.
do you have a .gitatttributes file
cause that file marks what should go in lfs storage and what not
but that file should normally be included in your repo if set up properly
although it would still show as changed
so that's weird that it's saying you changed everything
Yes I do.
I don't know why it acts like this, hope anyone here tried to sync git with lfs and Plastic.
I've contacted support, I'll give you a shot when it will be solved, but would appreciate any experience you had in this question.
Also, do u mark uassets as binary files or as text in Plastic?
they are binary files
text files in an SCM would be so that they could be merged as ASCII, which .uassets definitely can't
I know, but by default it tracks them as text somehow, that's why I ask
No idea - I'm pretty convinced they should be binary
Same. Thx
👍
I'm afraid the git LFS support operation only works for GitHub repos for now. SO I think it may be the key to the problem. - Support. 😢
Don't know if this is the channel to get information on trying to connect two computer from two locations out of state to use the unreal engine .
And that both can use the same assets
well yeah, use any form of cloud hosted source control
Ok all relay that to my friend so we can have it set up
@river charm mercurial, on local machine, easy to setup and use.
i didnt even know where i was
Has anyone used Helix Core AWS AMI yet?
I currently use bitbucket git, with lfs and will be adding more people soon. I've done git merges with game engines or 'binaries' before and it sucked. I've heard perforce is what I should probably be using as I add people.
Perforce doesn't solve that problem, it just natively has file locking. Git LFS supports locks as well.
If your only reason to move to perforce is file locking, try setting it up with git LFS first
Thanks. I'll check that out.
I hate git, but I need to do something.. I'd like to diff 2 tags in the same repository, remotely (if possible), make a patch and then apply the patch to a local checkout of another repo
how can I do this ?
and the I'd check out current 4.26 branch from Epic's repo and apply patch to it
not true -> I run multiple lfs repos outside of gitlab
It means Plastic SCM can sync with only GIT repos using LFS.
Oh right thought you meant LFS in general
So what's the best practice to not get merge conflicts? Work in separate folders? Subtract/add the .umap to the git ignore?
For any binary files, use LFS locks
Is there any doc on if/how LFS locks work across branches/forks? I never got around to testing it myself, so I'm asking if anyone already has the answer.
They don't.
I am using Tortoise Git
this is what I get when browsing referenced and comparing tags:
lol, no one uses git here? really?
I'm not sure if you were hoping for someone to give you an answer, but if so, it helps if you ask a question?
So. If the two tags are in the same repo, you can google git diff references which will generate diffs between two commits. I can't remember the exact command. You can also create a branch from the later tag, then checkout the previous tag, then do a pull request against the other branch. You can't really move commits from one repo to another, but you can sure copy and paste files 😉
@daring lagoon yeeh, that's what I had to do and now that I tried patch and merge, I get a lot of conflicts
my guess is that UE4 code is as clusterf#ck as is and adding another clusterf#ck SDK code from Oculus doesn't help really
I guess I'll just wait for official release from Oculus
yeah sometimes.. you have to deal with conflics
i don't alter the UE engine code
so less troublesome on my end.. but in my day job.. i've had to deal with some clusters
using something like beyond compare, or gitkraken or rider for unreal might help with the conflics
Bitbucket has a nice pull request UI too that helps figure out conflics
one way to minimize conflics is to make minor changes and wrap things. Like insert a function or an overload, then write your custom code in a diff class
or massive comment blocks
nah, I don't usually deal with engine besides cloning and compiling, but Oculus got stuck on 4.26.0 and current Epic's 4.26 branch got a lot of fixes since 4.26.0 release day
so I simply wanted to get Oculus integration out of 4.26.0 and put it into Epic's 4.26.2
I see
You can't really move commits from one repo to another
Doesn't that just require you to add a new remote and pushing to it?
I am guessing the first 4 lines are very bad.... but then the rest of the commit seems to go ahead anyway?
All this happened since I accidentally pulled the plug on my PC while I had project settings open
hey has anyone ever setup their own perforce server?
is git config local? will running git config http.version HTTP/1.1 only apply to me or will it go to all users?
The git config command is a convenience function that is used to set Git configuration values on a global or local project level.
99% sure yes, only for you
Even if it's in the project .git config, as you can configure all kinds of things for yourself there
Email and authentication strategy being examples
Will let someone who knows 100% comment though 😄
Racking my brain to try and remember if there's any config commands that are actually persistent across users that would pull the repo.
Yes plenty of people have, including myself. There's a pretty good video on YouTube if that's your thing.
I was 99% also, and checked those same pages. The config exists in the root of the repo. I was getting strange behavior across 2 repos that implied that there was some kind of global config, and turns out the GUI I'm using for that had a global setting
I've found a few. Finally got a connection from one machine to the other on the same local network. I'd be curious to see which YouTube video it is that you recommend though.
I was having a hell of a time with the windows firewall. I ended up having to create a "rule" in the settings to allow traffic on port 1666. Does that sound okay? Should I be restricting it to perforce traffic somehow or is leaving the whole port open like that okay?
This is a decent video, closest to what I would actually do. https://www.youtube.com/watch?v=GsdS71tdGj8
I always work through the latest official docs myself, and I have setup on Linux cloud VM not my local machine.
I have setup on a local linux VM running on VirtualBox many times this might be the easiest and it produces a VM you can port to other machines easily.
https://www.perforce.com/manuals/p4sag/Content/P4SAG/chapter.install.html
Regarding exposing the port, yes that's what you need to do, and if you want other people to connect to your local machine you need to forward the port on your router.
A couple of security tips if you want:
- Configure the perforce server for SSL - this is an important step.
- Don't use default port of 1666 - use something random like 27389
[edit: forgot how difficult finding the correct p4 docs is - the P4SAG (Server Administration Guide) is the one to follow]
Does anyone here know how to properly setup the "Metadata Service" for UGS? https://docs.unrealengine.com/en-US/ProductionPipelines/DeployingTheEngine/UnrealGameSync/Reference/index.html
This page describes how to configure UGS for deployment as a studio.
The documentation is super undetailed..
I have a branch that uses some plugins other branches do not, will there be issues when merging these two branches? Or is there going to be some inconvenience?
When I encountered this, it creates a plugin dependency. So when you merge your branch with Plugin1 and Plugin2, but the others on the main branch only have Plugin1, when they open the project they will need to install the plugin or not be able to open the project. You can remedy this by disabling the plugin in the .uproject file (via text editor) when merging the branch, but any content that relies on that plugin most likely won't work for the others. The most common occurrence of this is some programmers using Rider and some using Visual Studio
granted this was a while ago, so if you have a safe environment to test this it may be worth the test
did you enable bSendTelemetry on your server?
Deployment settings for UGS are specified in Engine/Source/Programs/UnrealGameSync/UnrealGameSync/DeploymentSettings.cs. You can modify this file with settings for your own team, then compile them into the executables you distribute.
Looks like it's already set up by default, you just need to enable it
Is it possible to have the contents/content browser of a project hosted in another computer? Let's say a storage server for an example.
Has anyone here pointed a Digital Ocean droplet at a spaces volume? Wondering if it worked out.
Running Perforce on the Droplet
Can't speak for DO specifically but I have a perforce server on a linode with storage on a block storage volume. Works well enough but it is slower than local storage. Probably fine for a small team though, as long as you aren't constantly submitting new stuff.
I was more asking how to install and get the metadata service working in a windows server
There are 0 information about that part.
if you have UGS working, (you can see that screen in p4v) the metadata service is installed and waiting to be activated by enabling bSendTelemetry in Engine/Source/Programs/UnrealGameSync/UnrealGameSync/DeploymentSettings.cs
if your team is all getting the source build (required), then when you enable and deploy the new source build of the engine, when everyone builds it the metadata service will be running
Is that service running within engine or ugs? @ornate willow
Yes, we're all getting source build at the moment, but I didn't enable bSendTelemetry for our UGS builds
/// <summary>
/// SQL connection string used to connect to the database for telemetry and review data. The 'Program' class is a partial class, to allow an
/// opportunistically included C# source file in NotForLicensees/ProgramSettings.cs to override this value in a static constructor.
/// </summary>
public static readonly string ApiUrl = null;
Also there is something like that, I'll probably need to create a mysql database?
Also I couldn't find bSendTelemetry variable in Engine/Source/Programs/UnrealGameSync/UnrealGameSync/DeploymentSettings.cs
There are ways to make them cross branch, but its not in core lfs spec.
Generally you just work in mainline for any art assets/bp's, code can work in branches
so.. been 1/2 way across the internet.. can't seem to understand wtf this is talking about file(s) not in client view.
when trying to add a file
everywhere says to go to edit workspace and add the tree to the view...
nm.. just figured it out
i needed to create the depot folder locally
ug..
is there a way to do the -f force for the wildcards in the p4 client ui?
so I added ```depot\UE4Root\Engine\Source\ThirdParty\DotNetZip\Examples\C#\CreateZip\CreateZip.csproj' contains wildcards [@#%].
Can't add filenames with wildcards [@#%] in them.
Use -f option to force add.
says this \depot\UE4Root\Engine\Source\ThirdParty\DotNetZip\Examples\C#\CreateZip\CreateZip.cs //depot/UE4Root/Engine/Source/ThirdParty/DotNetZip/Examples/C%23/CreateZip/CreateZip.cs#1 - currently opened for add
Seems pretty obvious
you have the #
if you do on commandline you probably need to escape it/force
I think there is a tickbox somewhere in p4v for it
you wouldn't happen to know where
right now.. im trying reconcile in hopes it does the force for me
yes. I use that currently, but the lock for lfs is much more yucky with the ue4 integration right now
so.. trying perforce out
if it sucks.. ill go back
GIT LFS lock is very yucky with UE intergration. you will love perforce, but you won't love how much it's going to cost you to have more then 5 people on the team
With AzureDevOps git repos, how does the $6/per user/per month work? Does each user account pay their $6? Or does the org/project owner pay it?
org pays it
perfect, just didn't want to be blindsided.
cheers🍻
does everyone need to run this command to enable LFS locks? or is there a way to push it to everyone's config?
well I have only 2 so far and spend is about $40/month on bitbucket git
so perforce aws.. we will see
perforce is free for 5 users, you will need to continue to pay for hosting, I would REALLY recommend staying on bitbucket if they have something for hosting like an EC2 instance for p4d. the dynamic pricing of amazon is a pain to keep track of when you are just trying to get stuff done. Also Linode has some really great pricing right now
Does anyone use Azure DevOps CD pipelines? Are they worth it? Have you broken out of the 1800 minutes per month free tier?
I've used ado pipelines, they're fine. They work the way you'd expect any similar system to work (and github's CI solution is actually built on some of the same tech). The UI for browsing logs is kind of awful, though you really have to have some massive logs and long runtimes for it to become an issue.
I don't recommend using a hosted runner for unreal though. You'll burn entirely through your CI credits just downloading the engine. Also you can't install your own software which may or may not be required.
Self-hosted runners are fine though, since you have full control over the hardware and can preinstall (or at least cache) stuff like unreal.
This is true, p4 has a better integration. At some point I want to make some big improvements to the locking in UE4 for git but been busy with other work.
that seems, inefficient. Can probably do 10-20 users on that if you know what you doing with stuffs.
A good ballpark is $2.50/user/month if you are being reasonably cost optimised
thank you siliex
Sure. Most of the money is storage for lfs in bitbucket. Perforce is hosted in AWS which I manage stuff for my day job there so cost isn’t a big deal. Easy enough to buy a small reserved instance for the year.
Let me know when that’s out. I’d def use it
Does the UE4 git integration actually work with LFS?
It keeps giving me checkout prompts in the editor, seems related to how it defines 'checked out' in git.
i dont think it works right now well
i basically didn't choose the integration and did git command line
the git plugin in editor is not very advanced
meanwhile.. restructuring my perforce folders LOL
hey does anyone have a good workflow diagram of perforce
Okay.. figured out the issue.. I was following an old doc which did not have me setup stream depots.. going to go fix that now LOL
the UE4 plugin doesn't support LFS locking. You can try sebastians version of the plugin, but I've tried it twice now. Even when it does work it's too slow to be a viable solution
Whats the benifit of stream over standard if your not using UGS?
What is ugs? Also it seems to act more like git with its representation of branches
Yet to get it setup to try out
Been purging depot all day
Streams are useful because they avoid having to setup workspaces manually and virtual streams are super useful for different roles and build machines etc
Ahh thank you. that sounds so nice, I really miss p4 😫
How can I update my git LFS installation through commandline? or am I safe to uninstall and reinstall and just prune then checkout all LFS content with the new installation?
can't find anything online thats not updating it on linux with a custom script..
The version that comes with Unreal is outdated. I recommend downloading the latest version from the developer.
That version does have a couple crashes but it’s not awful, it is. A bit slow though due to how UE4 works
Thanks everyone for the info. Yeah I can't use locking anyway since repo is on BitBucket, but seems the bundled plugin doesn't even work properly without locking. Will give the other one a go.
why wouldn't locking work on bitbucket?
it is just git
do you have git lfs enabled?
there's no locking support in cloud hosted bitbucket
orly
it's just the way the cookie crumbles
well glad I made the jump to perforce LOL
miss that cereal
copying engine source to another hdd to get in my new stream!
🙂
little things
hey I forgot to thank you for this the other day, I saw this in a forum somewhere and didn't think it was the same issue we had, but this command ended up fixing our issues.
Legend! Thank you!
so I am using plastic and I have an issue, how does one handle changes that don't need to be committed but you still want to update workspace ?
Hello, I am learning to use Source control and Git with LFS files - it is working fine but, my collegue reimports static mesh and I can not see changed static mesh only the log.
- We are working in separate levels
- we are using standart plugin (not the LFS 2)
- our project is opened from my computer and also on collegue computer'
The same issue has occured with Material instance.
Thank you fowrward for any help!
Are you on the same branch?
make sure to do a git pull, and then check git log to see if his changes got there
also make sure he did a git add to add the file, git commit to commit it.. then git push to push it to remote
Dear Daddy, thanks a lot I will try it out!
it doesnt go "in" the repo, until he adds, commits and pushes, you then need to do a fetch/pull (make sure UE is closed)
then regen project files, build project editor and open project and it will show up
Ou! We left UE4 still open!
I mean if you use the plugin UE open is probably ok, but id recommend using Tortoisegit or some other external tool
And is there any source control system, that we could realtime see changes in content browser?
Look at the first line, is this something it always says (meaning it's disabled up until I commit something, then it reenables for the commit) or is this an error?
does this just mean something is up with the engine content? idk
I think perforce may with streams. It seems to poll for updated similar to a git fetch every so often. But I haven’t tested yet
It does not. There are no source control systems that give live updates, that'd break the workflow of preparing and submitting changes. The closest thing is multi user editing but that is not a replacement for source control.
Thanks a lot, basically this answer solved all my problems! I hope that in the Future with better internet connection and UE5 will be realtime source control (without any issues) just standart.
It won't, don't expect that to happen. "realtime" source control isn't desired in most circumstances, learn to use the tools that already exist.
Or look into multi-user editing, but again that's not a replacement for source control.
We have tested it through softether VPN, but there are still some issues :/ Anyway thanks a lot!
Just use a shared dropbox folder

pls no
does git have some sort of mechanism for fetching commits that haven't been pushed yet from another computer on the same LAN?
I'd like to share code between my test computers and main computer without having to push it to my repo
You can pull from across the network, but it depends on having some way to access those files. Either a network fileshare or ssh would probably be the easiest ways.
cool, how do I set that up?
Setup a file share (right click directory -> properties -> sharing). Then make sure the share works on the other computer (Win+R, enter \\COMPUTERNAME).
Then add the computer's fileshare as a new remote - git remote add some-remote-name //COMPUTER/ShareName/path/to/git/dir
then run git fetch some-remote-name which will grab everything so that you can work with it locally.
path-to-git is path to the .git or the actual dir w/ .git in it?
It is way easier to setup a branch then push the branch
even if its short lived
git doesnt, but you could share the whole drive and just work off the same repo
its much easier than trying to remote pull over lan
I've got my answer yesterday and it worked
remote over lan took 2 minutes to set up and works like a charm
About Perforce.
Lately I have the issue that when trying to save a file (that hasn't been modified) Source control tells me that "The following assets are writable on disk but not checked out from source control: ...".
The problem comes when moving files to another folder. The redirect gets created and the same thing happens that the asset hasn't been changed and gets not checked out.
In my changelist I have stated that my moved file has been removed and another (the same file) object has been created in another file. With that, I loose my history of changes for that file.
Not sure why that "The following assets are writable on disk but not checked out from source control: ..." is keep coming. It didn't occurred in the past really.
Has anyone successfully built a game, with a team, using the multi-user editing server for unreal? Having some problems currently getting started but I want to know if it is even worth it
Not sure what you mean. Do you want to get an earlier version of a file? Just view the earlier version? Compare versions?
no for user a i want to show latest version
for user b i want to show a diff version of the file
is that possible @merry verge
that... doesn't really make sense
I guess you could map separate files or directories into a client view but I seriously question why.
And that won't map different versions of the same file, it'll map two different files with the same name into one location locally.
You can tell perforce to download an earlier version of a file (that's the entire point of source control - having history available) but it sounds like that isn't what you want.
I'm at the point where my project is too big for github (1gb). Are there any other free alternative for source control? I've got a spare 1tb laptop I could use but I've got no clue how I would set it up for source control.
hands down azure devops, make a new org, then a new repo, they offer unlimited storage for organizations with 5 or less users, after 5 people its only $6 per user per month
its a git repo so everything should already be similar to you, just another host really
@blissful ember please don't DM me or others in this server, ask your question, if you don't get an answer find another place outside of this discord to ask your question
I've never seen that, but we run Fixup Redirectors after any move etc.
What's the best way to update a project to a newer version of UE4 while working under P4V?
If using perforce, just update it. Branching is pointless
Usually when you upgrade much stuff breaks, can be good to get the fixes done in a branch
but its a valid point
git init 😛
does something happen if I pull and my internet goes off in the middle of it?
the pull is going at 46kb/s
When your internet comes back you can finish the pull.
alright thanks
About Binaries in Source Control. I didn't got smart from googling about it.
C++ Programmer can submit their Binaries, so Artist (non Programmers) don't need to compile the Binaries right?
- Which Binaries files are needed to be pushed?
- Do the non programmers not compile the necessary C++ binaries when just starting the .uproject?
Since the binaries aren't automatically checked out, it seems to be a very forgettable thing to check them out on every C++ commit.
I would say it's better for non programmers to compile the binaries themselves right? The necessary part is just for them to install the C++ prerequisites (Visual Studio) correct?
Submitting binaries has a really big drawback, each time you submit your code, you need to also update the binaries. Especially for fast iteration it would be better, if design just syncs the code and runs a build script for the editor.
Also if I'm not mistaking will just submitting the binaries not work, I think you would need to package an editor build but no Idea how that works. For small teams I would just give design some sort of a build script they run after sync
"2. Do the non programmers not compile the necessary C++ binaries when just starting the .uproject?"
So that (2.) is not true. They need to run a build script.
Is it necessary to have the C++ prerequisites installed? Or is the build script enough?
@unborn relic "For small teams..". Why not for big teams?
build script = have a script that just start the compiler, so they need the c++ pre stuff
What we did was have our build machine automatically compile on merging in a new branch, it would then put it's binaries in a separate folder, and the artists had a git hook that would automatically move it to the right folder on their pc
because for big teams you would release tested editors instead of using each commit that might break stuff
okay, thanks for the Input @unborn relic @rotund bobcat 😃
The build script uses the path to the engines RunUAT.bat:
"[EnginePath]\Engine\Engine\Build\BatchFiles\RunUAT.bat" BuildGraph
right? So everyone who wants to use the build script needs to modify the engine path inside their buildScript.bat.
Isn't their a more elegant solution? Where Artist for example don't need to do that much (modifying the buildScript.bat) stuff to just compile C++ binaries?
Well I wrote a tool to where you once configure your environment and then all our scripts (bash scripts) will read those env values
okay
my BuildProject.bat:
"C:\Program Files\Epic Games\UE_4.26\Engine\Build\BatchFiles\RunUAT.bat" BuildGraph
-Script="C:\UE_Git\UnrealEngine\Engine\Build\Graph\Examples\Building.xml"
-target="Compile UnrealHeaderTool"
exited out with the Error: ERROR: Missing -Script= parameter for BuildGraph
Why? 🥲
that's what I use
function buildeditor()
{
(
$UNREAL_ENGINE_ROOT/Engine/Build/BatchFiles/Build.bat -Target="$PROJECT_NAMEEditor Win64 Development -Project=\"$PROJECT_ROOT/$PROJECT_NAME.uproject\"" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild
)
}
would you recommend svn or perforce for binary test builds?
If you have the budget or are <5/20 users you can use perforce. Its much more tightly integrated
Hey folks, I'm wondering if anyone has a link to a good sample github repo template/example for small side projects? I'm doing UE4/c++ tutorials and would like to have my repositories set up in the best manner, with a good readme, etc.
I work as a software dev and am familiar with version / source control (mostly TFS) but am not familiar with the best way to present this kind of stuff for career reasons.
only thing you really "need" is a .ignore file. Rest is basically preference
Hey everyone, We're using Perforce hosted on Digital Ocean and I've been looking into Multi User Editing remotely. Does any one have an idea of if it would be possible to compile a MUE Linux server to host on a VPC? Or if anyone has any experience with remote multi user editing any help would be greatly appreciated!
all it requires is UE4, and perforce for locking
so you can just run it on a vm I would imagine
Or probably easier way is use a VPN with layer2 virtualisation
Hi, I updated the source version of Github because I couldn't enter my project. Now I can enter to my project but I can't modify all assets that were changed on the other source version. What can I do?
hi. Does anyone use p4 with Rider for UE? If so.. is there a way to use the p4ignore file?
Doesn't seem to be respecting the p4ignore
I'm using to official helix plugin vs the community one
Did you have any luck with getting the MetadataServer up and running? I'm having some odd issues with getting the DB and IIS Initialized. I have a lot of the same setup issues are you (not haveing bSendTelemetry and such)
Sorry, really late on this but locks are branch agnostic. For the duration that the lock is active, no one can modify the file. Once it is unlocked, anyone can modify the file even if their branch does not have the latest changes to that file. So it's best to use an approach like Epic did with their Perforce plugin, where different branches are checked for file revisions to make sure your branch has the latest version of a file.
@torn dock Nope, we ended up not using metadata stuff 🙂 It's not crucial for the development in my opinion, but nice extra to have. Shame on Epic Games, they didn't give much detail about a proper setup for database & metadata server.
I even didn't bother with setting up a windows server just for that, I think it's a bit overkill, our perforce server is running on linux.
The central server has the Authoritative copy of the project. Then a program like Perforce allows you to access that copy of the project to sync to. This then allows you to make changes to that project.
mentioned this here.
Yes I saw your answer but I didn't feel it was detailed enough and could be misleading in some ways
I'd pick one. Either branches or locks. Keeps it simpler.
Does UE4 supports Git LFS locking?
How do you guys deal reconciling art asset naming with the game source control? For example, we want to be able to track art assets, so we want to use Prefix_BaseAssetName_Variant_Version_Creator_YY_MM_Suffix to name all our art assets, but once they go into UE and perforce, we want to use it's versioning system. Updating an asset means we now have two assets with different names since the updated asset is no longer the same name as the original asset.
Or is this just totally the wrong approach?
Note that the artists are not using source control (Mostly because perforce is unholy expensive for more than 5 people),
If someone with experience is willing to have a VC with me about this, it would also be very helpful 🙂
"Updating" as in just renaming?... You know about redirectors and the fix up redirectors command? No idea how you'll find a successful workflow with some people off perforce and some in though... (I feel your pain :/ )
Everyone using UE will be using source control, but artists only working outside of UE won't.
So basically just manually rename assets on the first time they are imported?
For asset updates, import them and then use the "Replace References" tool to replace the original asset?
Or am I manually renaming the new updated asset and redirecting references to it?
Wouldn't that break the versioning/changelog in perforce?
I guess it's unclear to me if your concern is about (re?)naming the source file or the .uasset file?
perforce isn't dumb, it will know when you just move an existing file. If the binary file contents change "too much" (at the same time as the move) it will become a new file. I don't know the details much more than that
Perforce doesn't quite work like that. Git works like that - it tries to follow renames "magically" by checking file contents.
Perforce rename operations (technically an integrate + delete) are explicit and history will follow the file around as long as you're renaming through perforce itself. Regardless of how much the file changes.
But yeah... just rename the assets in unreal (with source control enabled), fix up redirectors afterwards, and you should be fine. Version history will be kept - if you submit the files and then go into P4V you can view the full file history from before the rename.
Additionally, you can just click the "reimport" or "reimport with new file" options in the right click menu for assets if you need to update the asset from the source files. No reason to import the source file again separately - just let unreal reimport it into the current asset.
? you don't have to "rename through perforce itself". or are we talking about different things and there's some different functionality i'm unaware of if you use that instead of letting it detect the move?
Unless you're using reconcile offline work, perforce doesn't "detect" anything by itself
Are you talking about moving things through unreal's content browser? I should have been a bit more clear - I'm including that as "using perforce itself"
because unreal, with perforce integration enabled, will automatically do the p4 rename (err, integrate) when you move something
ok, that's fair - I always use reconcile offline work. it marks one file for add and one file for delete, and when it preps the commit somehow internally it runs the comparisons and links them
ah yeah, that'll do what you said
I avoid reconcile where possible because it's slow and not always perfect
I don't think reconcile offline work is required for that though but maybe, i've never tested otherwise
it's flawless for me
just run on subfolder for speed
perforce doesn't do any scanning for changed files automatically like git
not by default at least
no but it does the comparison with files in the changelist i think
so as long as you're not adding in one changelist and deleting in another (doing the move in multiple weird steps 😄 )
yeah, it does detect moves with that
if i'm just renaming a file it's [arguably
] simple. rename it in winblows, run reconcile offline work on the folder it's in, check that it detected changes OK (it always does), press add to changelist, carry on. Maybe it would be even simpler for me if I used rename in P4V but I r la-z
I'm testing out Git LFS on my project but it seems like every single git command I'm using are extremely slow now. Do you guys have any idea why? I pushed like 2Gb of data / 5938 files just as a test.
Actually, it seems to be a WSL issue. On Linux it works just fine. I should probably try on regular Git for windows.
If you're using WSL1 that's probably why, the filesystem layer is slow due to ntfs weirdness
Hello everyone, i'm currently using a looping video as my MainMenu cinematic. It works perfectly fine on my computer! However, when I submit it to source control, others seem to receive the FileMediaSource related to the given video, but it doesn't run on their computer and doesn't function properly in the MainMenu.
Also, it seems that the file media source uses the absolute FilePath on my computer. Could that be the source of the problem? How can this be fixed? Thank you! 🙂
I would also like to add that we are using perforce as source control.
The FileMediaSource is only a link to the actual file. Media sources aren't imported like textures or 3d models, they stay source files. You need to manually add the actual file to perforce as well.
Make sure to put all those files into Content/Movies on disk otherwise they won't get packaged. The file path should be relative in that case.
hi !! Ive just installed and made a setup of the perforce server with digital ocean etc... BUT the project i'm trying to add is an existing one with a lot of stuff on it.. how can i add an existing project to perforce ?
Digital Ocean link: https://m.do.co/c/9c32421cec91
Perforce docs: https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html?fbclid=IwAR0meqmgIgK4Ic3eewVv-vpm7EQGJl0uKTNQmDc99Jx9s0wTQ12ByiYvRkY
Try my C++ Survival Game Course:
http://bit.ly/unrealsurvival
Discord:
https://discord.gg/meFRZfm
following this tutorial btw
There is a beta plugin, but its not great right now
use git for windows, with Lfs, make sure lfs is enabled and its fine. I have repos with thousands of commits and 50+gb of files and its still fine. And yes WSL1 is pretty bad.
create the workspace, then move files in, run p4 add and profit?
is by far the easiest way to initially add a project to source control
ok amzing thanks a lot
i have 8204 files thought...
can i delete intermediate /saved etc?
setup a p4 ignore
but yes binaries, intermediate, saved and ddc shouldnt be in the repo generally
*at least for remote studios
This is probably a decent starting point: https://github.com/mattmarcin/ue4-perforce/blob/master/.p4ignore
ok so my saved data wont disapear if i set them to ignore ?
thanks a lot i admire people helping others on such dry subjects as source control ^^
unless you clear it locally it wont
saved shouldnt have anything in that cant be regenerated though
ok amazing thanks i"ll try that and i'll make a save somewhere else in case something breaks
I need help with multi user editing, so far me and my friend managed to setup SoftEther VPN and connected to the session successfully even got the files and everything synced.
The problem is now he got disconnected from the session and when he rejoins he gets kicked off the VPN and it gets up to this stage (see image below)
We dont have any source control setup. Could it be that it has to fetch to many files via VPN and it crashes, and could that be fixed using source control?
You need to be synced on the exact same repo point when you start
if he is getting kicked off VPN check the vpn server, can be its not powerful enough to sync all changes
Is your ssd getting full, also that’s a fairly large amount of files
Ye but each file submission requires more than a single iop
So if you have a drive that has relatively bad iops rating it will chug
Looks like it’s getting kinda full to me
The progress bar thing is likely a Ui feature
As a drive fills it has to do more wear levelling
Which means a single write could cause additional writes as it’s wear levelled
I rarely go over 65% usage on my drives
50gb is fairly small, once you get over a certain size a dedicated machine (or if solo dev a dedicated drive) are good calls
A drive or a vps?
Probably 20 bucks a month
Or just buy an extra m2 ssd and Chuck it in
Depends what you can find, can probably find something with like 1tb of space for that
Just bear in mind you’ll have to wait on upload, so if you have crappy net it’s gonna be unfun
Other option is build a mini nas and just host p4 on there
lucky you
you can buy a $200 bestbuy special, drop a 2tb ssd in it and just laugh is also a good option as a solo dev
Sounds a little expensive but if its a high spec drive its not that outta whack?
I think 0 is auto detect, but will be some p4 configure thing, I don't regularly use perforce so would have to check docs
HoJo probably knows off the top of his head
There's an option in p4v to enable parallel upload but it's disabled by default.
Or if you use the CMD line then just lookup what the option you need to use is in the docs
actually I'm wrong, it used to be disabled by default in p4v but now it appears to be enabled.
You likely need to enable it on the server. p4 configure net.parallel.max=8 or whatever.
but tbh parallel will only speed things up in certain cases.
This article is an ok summary of the parallel aspects but it's quite technical and doesn't give many practical tips: https://community.perforce.com/s/article/9064
If you're hosting on Windows you should also investigate the TCP configuration vars (linux will use autotune automatically)
i need advice on version control
which host is simple to work with
i'm prepared to pay monthly fees for storage space
and i wanna use source tree
I am getting started with source control (perforce), all I am using it for is collaboration between myself and one more person. what is the proper workflow to work with umap files?
@jolly fog asking about umap files, because if you do anything in the level it gets checked out, so how do I make it so both people can make changes to the level
you don't, not at the same time at least
there's multi user editing though, that's a way to work with multiple people on the same map at the same time
Default is 1, so no parallel
@ isn't .umap a binary file too ?
Get multiple users on different computers into a shared Unreal Editor session, collaborating live to build content together.
only 1 person at a time can edit binary files
what jerval means is filling your map with blueprints, and then another guy edits the blueprints, so that would update the stuff in the map
that's what source control is for
answering Dieter
perforce doesn't have a free package with 1Gb storage, that's sad
Bitbucket has
but if there's a solution, i'm all ears
lol , i was gonna say that
I think this is a short intro https://youtu.be/MPIpOdNmNGE
In this webinar, Senior Technical Marketing Manager Daryl Obert and Technical Artist Matthew Doyle demonstrate a unique collaboration workflow in Unreal Engine.
The Multi-User Editor is a powerful tool that enables multiple artists to make changes simultaneously to the same Unreal Engine project safely and reliably. Updates happen on the fly f...
hi
"Unable to save package to ../../../../../../Users/j/Perforce/Desktop/UsefulFilesSabotage/Content/SabotageV2.umap because the file is read-only!" Any idea on how to solve this issue ?
inside unreal after trying to add a cube
ok thanks a lot
i work on it with a friend
ouhh sweet
thanks a lot man
do i need to submit to perforce + unreal every time ?
and do i need to close the project before submitting ? because i got this message "//Desktop/UsefulFilesSabotage/Content/SabotageV2.umap was altered during the course of the submit. Verify the contents of the changelist and retry the submit."
Just rent and dedi and install perforce or get some git source control
most of the cost of p4 is the licensing fees
you really shouldnt do that
youll end up losing eachothers changes
A perforce license alone, which you would self-host, is about $25 per user per month
After having a teammate lost anoooother load of changes due to some crazy git lfs error that only happens to him I am considering swallowing my pride and paying for perforce but... I can't find any pricing 🤔
How does this work? I get it that I have to host it myself and I will have to pay that server but they also state that I need to buy the helix core but I can't find where or how expensive it is :S
Perforce is free for up to 5 users and 20 workspaces
anything beyond that there is no public pricing, you need to contact perforce's sales team
unless you use assembla which hosts things for you for $$$
any tutorials on how to set up svn with unreal? 🤣
Ok, quick joke aside: have any of you had an issue with svn that was solved /avoided by using perforce?
they say that their price pays the time you don't spend fixing svn but I don't know what prolems arise with svn 😬
its almost certainly recoverable if he hasnt messed with the repo
as to pricing, I think around $500/yr from memory for subscription licensing or like $1.4k for first year of perpetual
That's the thing, I don't know how it happens but when I am called the repo is always in a broken rebase state, the stash is a mangled mess and his changes are nowhere to be found, not commited, not stashed, not anywhere 🤷♀️
You can probably still recover them, by going through the innerworkings of git
If it wasn't commited, not staged, not stashed, nor as floating changes... Can it still be somewhere?
(This change wasn't thaaat critical, but it's nice to know if git ever deciedes to fail me)
yes, you will have to poke around, but its findable (probably)
depending exactly what they did
I would assume the person has made a commit (within the internals of git) though as you'd have to do a commit before initiating rebase.
Anyone have any warnings to give, general suggestions or anything they think I should be aware of before switching to SVN for my Unreal projects? or a suggestion for another choice? I'm concerned about pricing with Perforce as team size grows beyond 5. I have perforce setup on Digital Oceans Droplets and am planning to switch to SVN later today rather than waiting until team size grows to a point where Perforce is no longer practical. Please @ me with any responses. Thanks.
If you qualify for the free Perforce license with less than 5 users then setting it up as a droplet on Digital Oceans is $5/month plus $10 /100GB of storage ($0.10/GB USD configurable to any size) and includes about 1TB/month of transfer (~$5/tb transfer). I have one now and it averages about $0.50/ day.
If you have the old binary you can use perforce 20/20 license
On SVN vs GitLFS vs Perforce,
Perforce has the "best" in editor support and the like
GitLFS is very usable for a decently large team
SVN is ancient and not sure why anyone would use it, its not really "better" than gitlfs
I personally haven't had any issue with lfs, works great and it's fast as kek.
Howeeeever... my coworker keeps breaking his changes so I need something else 😦
Doesn't the 20/20 licence has a limit on the file number? (1000 files max)
dont think so
Yes.
How big do I need the storage to be? 
since perforce doesn't store deltas shouldn't it chomp on my space real fast?
neither p4 or gitlfs store deltas but its honestly fine so long as you dont just import 100,000 assets
gitlfs is hosted by gitlab and I can cover my eyes and pretend it's a beautiful world where disk space doesn't matter 
if I setup p4 I need to configure the VM, make sure we don't run out of space, make backups....
I wanted to make games 
if you are multiple devs backups are a bit less important tbh (using git)
as everyone has a repo history
I mean you should still have a proper 3/2/1 strategy (personally I use 4/3/2), but its very hard to lose a lot of data with a small to mid sized git team
Hey everyone! Im having to connect to 2 different perforce servers and i am wondering is there any option of having "favorites" in source control or perhaps adding multiple servers to select from (like a dropdown) ?
You can
its in the dropdown where you choose in p4v iirc
top right -> connections
I meant in UE, sorry
Hi guys, I am facing some issues. I had to reinstall windows on my server computer and I have directupdate running along with Perforce+Jira both installed on the computer ready to go. The issue I am facing is that despite port forwarding on the network router and creating inbound rules in firewall, both ports for Jira and Perforce remain closed. I already checked if the IPv4 Address matched the router's port forwarding internal IP address and it does, so I'm not entirely sure what could be causing the problem here. If anyone can help me out, that would be great, because our entire team's work has been halted for a day due to this
If P4v loses connection during a commit and I hit “reconnect” - does it start all over or does it pick up where it left off?
Question to the cool perforce kids: one depot per project or only one depot with a folder per project? 
Names... Names everywhere...
What are streams? :pphands:
A more structured branching model that perforce offers compared to normal depots. https://www.perforce.com/manuals/p4v/Content/P4V/streams.about.html
that's the docs specifically for p4v but the main docs don't give as good of an overview.
streams are usually the right choice these days - classic depots don't really have the concept of branches. Instead you just create a folder in the depot and integrate files into it (integrate being perforce's branch-like operation, but it operates per-file unlike git).
Streams also involve integrations but enforce an actual branching model beyond "integrate files into another folder somewhere"
What's the best way to distribute packaged project with Perforce? The P4Ignore settings for a UE4 project rather conflicts with a packaged projects (e.g. it itgnores the binary folder)
Ah might it just be creating a new depot?
don't think you need version control for releases, just use a NAS or smth like that to store your builds and delete the older ones at some point
We would like to be able to be able to deploy a build quickly over several computers without having to copy/pasting it from a NAS
Where is the difference, you deploy binaries, there is no real diff, in the end its uploading and downloading anyway
You could say that yes, but if we're quickly iterating, it's much easier to just "Get Latest Revision" on 5 computers rather than deleting the old build and redownloading the new one on each one
Speaking, the P4IGNORE system variable applies to all depots doesn't it
So that's not really a solution
I could just tell you how to set this up with git, since for git you can have a gitignore for each folder
Same, it might just be one those #JustPerforceThings
Hi guys, I am facing some issues. I had to reinstall windows on my server computer and I have directupdate running along with Perforce+Jira both installed on the computer ready to go. The issue I am facing is that despite port forwarding on the network router and creating inbound rules in firewall, both ports for Jira and Perforce remain closed. I already checked if the IPv4 Address matched the router's port forwarding internal IP address and it does, so I'm not entirely sure what could be causing the problem here. If anyone can help me out, that would be great, because our entire team's work has been halted for a day due to this
No one has any ideas here?
😅
use canyouseeme to test your portforwarding and then it's all on your router config 😬
https://canyouseeme.org/
P4ignore can point to a filename which supports nesting, same as git ignore.
I'm working in a project that uses git, which in turn uses a plugin that is setup in a different repository. Now, my problem is that the Blueprint assets contained in this inner repository are not "seen" ny the UE editor, meaning that I cannot diff them against the remote branch, for example...
Does anyone know any solution to this?
Basically, it's like I can't do any action. For example, I definitely know that this BP has differences with respect to the origin, but it doesn't let me do anything with it
I've been trying to trick it by using the blueprint diff tool directly from command line:
UE4Editor.exe <uproject> -diff <left> <right>
But it seems to NOT work, probably for the same reason (the editor boots up, but it seems like the 'diff' part is ignored)
huuhh I reinstalled windows and cloned my project but something's off here, why are there so many deletions, everything seemed to work in the editor though...
IIRC the in-editor plugin uses a single remote/repo setup, doing submodules/subtrees etc in editor is probably not gonna work
@simple lodge Yeah, I thought as much, so there's no workaround I imagine 😦
I cant think of one thats especially sane aside from editing the gitplugin -> but it would make it even slower than it already is
It might work if you do some trickery in git, but thats a very non trivial operation
Does anyone have any anecdotal feedback on using SVN with Unreal and a small team?
We currently use perforce but we've hit the 5 users, and I'd like to evaluate our options before committing to the cost of continuing with perforce.
havent tried SVN in years, but gitlfs is mostly workable with even fairly large teams of ~30-40 peeps
p4 has better in editor integration for sure though
I tried Git previously on a non-Unreal project and I found myself having to fix user issues on an almost daily basis - for that reason I'm very put off git
what issues?
It was a couple of years ago now, but confusion with the UI and the processes to follow for syncing and merging etc.
But also some wierd problems I cant remember the specifics.
With Perforce we've had maybe 2 or 3 issues in the past 12 months - it's completely hands off
Have a look at rebase workflow, perforce is strictly better but its also very expensive
p4 also works with UGS etc
yeah, my personal choice is to stick with p4 (I've used it for nearly 20 years now 🙂 ) but the cost from 5 to 6 users is eye watering
Whats the cost per user for perp? like $1500 first year?
but that said, the cost of switching the team to Git and the regular issues probably outweighs the cost of the license
Waiting for a quote now, but it used to be something like £25 per user per month
hmm ok maybe it won't be so bad
^^ per user
oof oh yeah ok
can you let me know what they quote ya either way, its been a few years since I did much p4 stuff
I think we were paying $995 for first year then $285yr maintenance but that was a large company with a lotta licenses and about 6 yrs ago
We’re paying way more than that now. I think we’re paying about $4000 a year (subscription) for about 10 licenses
yea thats perp licensing
i said subscription was like £400/usr/yr
to use multiple branches of the same repo at the same time you use working trees https://git-scm.com/docs/git-worktree
Yup - you get 5 seats free
Once you want 6 seats, you need to pay for all 6, though
That's why it's such a big jump from 5 to 6 seats. Going from 6 to 7 is much smaller
When you are working on a forked GitHub repository you will need to update your files frequently. Learn how to update your GitHub fork using a reverse pull request.
back in the day I used p4 python and made a super simple client for peeps
had like 4 functions
Help, I've locked myself out of my perforce server
I tried to change my Superuser's password, and I guess it failed, and now I can't get in at all
I can't run any admin commands because running any commands requires me to enter a password that doesn't work
I took a look at that, unfortunately I can't run the commands mentioned in the article
I need to log in to run p4 -u login
If resetting an existing super user's password, use any existing Perforce user account that you know the password for to reset the super user password with the p4 passwd command.
Hi, UK here looking for a recommended vps provider for perforce.
Currently have a vps setup and working for our ue4 project but looking for other options and providers. Any input would be appreciated thanks
Whichever one you trust with data and or has good support tbh
OVH is usually a decent shout as you get a lot for your $$, their support is a bit shit though
Just make sure you have some offsite backups
Why does perforce hates me? 
I am trying to install helix-p4d following the perforce guide
but there is no such thing as helix-p4d
(the guide i'm following https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html)
did you add the perforce repo
to your sources.list.d
and did you run apt-get update to update the list of available packages @foggy niche
if you have, try apt-cache search helix- and see if any of the many helix packages are listed
all of perforce's packages start with helix-. helix-p4d, helix-p4dctl, helix-cli, etc.
ah
you can use an older distro's version if they still have it
not that it's the safest thing to do
(and then swap back to focal once things are fixed)
Hey there! When I enable a plugin in Unreal, I don't see any file changes in p4 and I wasn't asked to check any changes out using perforce. I am trying to enable a plugin for the whole team. How do I go about making that change so that everyone on the team doesnt' have to individually enable the plugins?
Did you enable perforce in the editor? Is the uproject file checked in to perforce?
Have you tried manually checking-out the uproject file and then enabling the plugin?
Yeah. Perforce is enabled in editor. The uproject file is checked into perforce already.
Trying this now. Thank you!.
Oh I'm dumb... I think it was already checked out and I didn't realize it. Thank you!
Any Perforce users around to help? I had to re-build my PC last weekend and forgot to check in a few changes before wiping the OS and P4 install. All the files for the project were on a different drive so not lost, but they remain as a blue checkmark in P4 on the new install. So far, it seems there's not real issue, but that workspace doesn't exist anymore so I'd like to remove the blue check. Any way to do that?
p4 revert -C {Workspace name to revert checkout files without these brackets} //...
For example
p4 revert -C DevilsD_Workspace //...
This will revert all files for the DevilsD_Workspace workspace.
You must execute this command as a Superuser or Admin
Will that change the files or just remove the hold that workspace has on the files? I've been doing work on them with non-exclusive checkout and don't want to lose any work
This reverts them in the workspace that was lost.
You can then easily do a Reconcile offline work in your own Workspace and pickup your changes if they arent in any form of checkout for you.
If they are non exclusive checkout by you, thats fine.
yikes, you're getting over my head (not hard to do). I just checked in the work I was doing and then backed everything up so we'll see how this goes. 🙂 I think I get it, but not sure what's gonna come out the other end. Thanks for the info.
Its reverting it for the lost workspace, so no actual changes will be made to any files
Since the lost workspace is gone, nothing changes other than the fact they were checked out by a workspace that doesnt exist.
that's what I figured, since they don't actually exist as far as that workspace knows
gotcha
Typically its a good idea to backup if your unsure how an operation is going to affect something.
At least backup locally, you can always revert any operations. The great thing about source control.
yeah, it's when I think I know and am just plain wrong that always gets me 🙂
Sweet, that worked perfectly. Thank you so much
👍
if you "kept" the workspace as-is (you said it was on a different drive) you could have just edited the workspace and changed the PC to your new PC instead
P4 didn't have that workspace since it was reinstalled too. I looked at doing that. I screwed up not checking stuff in, but didn't realized that until it was too late 😦 Devils' solution seems to have fixed me though. Although I did just have an issue with UE4 thinking I was on that old workspace so it thought things weren't checked out. Easy fix for that though, just changed the UE4 editor workspace to my new one
what do you mean? you said the files had a blue checkmark so your server was still going I assume?
Yeah
I mean Devil's solution was fine obviously, just there might be slightly easier ways to "move" a workspace in the future :]
<-- Massive amateur. If it's a command-line solution, I'm not gonna find it. I didn't see anything poking around in the admin app that was an easy button push. All good now, but I'll keep that in mind if I ever make that mistake again. Hopefully smart enough not to do that.
yeah all good P4 is complex. if you edit an existing workspace, the Host field is the computer name for the workspace, and the Workspace Root is the other important one - if you moved a folder to another drive on a new PC you would edit both to try and move it for example
Is that accessible in the Admin app or only through the command line?
I only see users, but nothing about what workspaces exist on the server admin
does subversion only send deltas when doing commits and updates of binary files?
When setting up a new perforce depot for a project... should i pick "local" or "stream"? 🤔
You should research the difference between classic depots and stream depots. I think most people prefer using stream, but it's good to learn a bit about both
it seems that streams can do branches and classics can't

no reason to not go streams
Unless you don't need branches, then classic is totally fine. 🙂
If you do need branches, take the time to learn about streams. They're a little strange but they can be quite powerful, and there are different types.
For example, there are virtual streams, which allow you to map a filtered set of files to a workspace. If you put all your source files on the depot — Let's say Blender, Photoshop, and audio files — you can use a virtual stream to ensure your audio folks don't pull down Blender and Photoshop files that they don't need, saving them time.
ohhhh, artists not seeing eeeeverything sounds really good 
uhm... helix sync can't see streams?
there goes my plan 🤣
oh, no wait, it has to be an allwrite workspace 
Can I add and remove files from perforce in the same changelist? 🤔
Yes?
I hadn't found the "reconcile offline work" thingy yet 😅
ok, anybody here uses helix sync? 🤔
when you open it it says "ask your administrator to create a workspace for you" but I don't have access to the workspace folder in my artist computer
is there a way the artist can pick his own workspace folder with sync?
(yeah, this is more of a perforce question than ue4, sorry 😬 )
gooootem: Workspace root: Replace with sync-null. This enables you to select the local workspace folder in Helix Sync later.
Hi All,
Currently have Perforce fully setup and working, but whenever i want to package my project I have to make a backup and remove read-only off all files and folders to get it to compile.
Is there anyway to do this directly from my source? as making the backup everytime can be time consuming
You probably have intermediate files checked in which you shouldn't. Search for p4ignore and unreal.
@cyan jay tyvm, will look into that
I wanted to upload a large file to github(assets from marketplace)
And i have this error
So I'm trying to do a pull request from your JonBranchV2 branch to my ChrisL branch. There are some merge conflicts. No problem, however I just wanna know what I should delete.
[/Script/Engine.UserInterfaceSettings]
<<<<<<< JonBranchV2
RenderFocusRule=Never
RenderFocusRule=NavigationOnly
ChrisL_Branch
I want to keep what's incoming from Jon's branch. what do I delete?
@rotund bobcat "your JonBranchV2 branch? who's you in this case?
but I guess you should keep RenderFocusRule=Never"
My branch is ChrisL and Jon made a few changes that I want in my branch.
And for the record, I need to get this task out of my way and can't afford to wait 30min or 6 hours. I have stuff to do and I need to get a simple answer
just keep RenderFocusRule=Never
all the rest can go
everyone has stuff to do man lol
So you're above everyone else, good for you 
Cool, appreciate it man. I know I know. He's waiting for the anims I made and I haven't had my branch updated in over a week and there is a pile of merge conflicts I need to address
seems like you should keep your local checkout more up to date
check you have enough space purchased, also looks like youa rent using lfs
we had a rule where our artists were required to update at least once a day
prevents giant merge issues
Indeed, I don't disagree there. Also, he seems to not update his branch or at least push his changes every day either (which is bad behavior on his end)
Just remember, this isnt paid support, you dont get to set deadlines for people who are helping yo for free
Just so we're clear, I axe the bolded lines, correct. I want to bring in whatever he worked on into my branch. @rotund bobcat
[/Script/Engine.UserInterfaceSettings]
<<<<<<< JonBranchV2
RenderFocusRule=Never
=======
RenderFocusRule=NavigationOnly
>>>>>>> ChrisL_Branch
If you do the merge in VS code it will give you accept current/incoming change
Which might be easier than doing it by hand
VSCode is great merge tool
but yeah I think that should be correct
you can always ask Jon what he wrote there
If you have to do a lot of merges, use gitkraken
Aye, not disagreeing there, but alas it's best (for now) that I use the github website for it. I need to pull some serious tutorial time into VS soon, but not today
VS code merges are incredibly simple, but you what works for you
For sure, I am a artist first, blueprint programmer second and I need to slowly learn C++ written and go ham on VS
I appreciate you guys walking me through it. I have resolved conflicts before, I usually make games solo, and don't have to worry about it.
It's just been a long time and I always forget which lines to axe haha
just to be clear don't use VS for merges, VS Code is an entirely different application which is super light weight and has great git support. VS does not yet.
Hi! I am using DO to host perforce server and all were fine half a year. but few days ago perforce's behavior is so strange . Its hanging and cant reach the server = so the editor hanging as well =((. (if visual client already running its blinking like its has no internet connection)
login via cmd is successful but visual client isn't appear as window and only exist as process . Server ping is successful.
if I am enabling VPN - all becomes fine.
wtf ? thanks!
I have never heard anything like this. Is it the same for all p4 users?
If VPN fixes it it's probably a DO configuration problem. But you could maybe check the p4d logs.
nope. only for me and my internet provider(if I am using mobile - all is ok). I am using 3 machines to work with perforce and periodically(it starts few days ago) has this issue. For years I am working with perforce without any issues at all. Thanks, I'll check the log next time
sounds like bad isp peering
you might be able to get away with using a vpn or maybe able to get away with migrating the machine to a new IP/datacenter
I think the same. Its only about one internet provider.
i have a project sample and working perforce server
how i can upload my project to perforce?
by creating new folder in perfoce?
and uploading that project to folder
Hey guys. I am a git user and I'm used to the way git merges files line by line. Now I have seen that under Perforce the Blueprints have a "merge" function. After fiddling with it for about 2 hours my friend and me just quit it, convinced that it was still "work in progress". But the feature exists since 5 years ago. My problem with it was, that I could navigate each conflict with "next" however my only options were to apply the changes from source or target, which would either discard remote changes or completely override my local changes. Defeating the whole purpose of merging in the first place. What am I missing? The lack of documentation concerning this is unnerving.
your depot and unreal-folder need to have matching names. Otherwise perforce wont detect the mapping in the workfolder and think you are elsewhere. That's how I have done it. I even combined a git repo with two perforce depots this way within one workspace 🙂
i want to create a new folder in depot
@tepid dove
i already created a new folder under my local root called test
As far as I understand, you cannot directly affect the depot, so you need to make the changes within your workspace. The way the mapping works is /rootfolder/<depot-name>. Make sure that you have that properly set up. Once the mapping is correct you can add a folder in your explorer and you can "Mark it for Add" and then submit it. However keep in mind that the folder needs files to be registered!
how to pull perforce branch @tepid dove
or how to switch the branch perforce
to new branch
because my repository folder in depot is there
Does you folder contain files?
Yes, for example test/unrealproject/*
hm. Wanna clear in Private Chat?
but i don't have test folder in depot
sure thanks
This was the solution to @willow obsidian 's Problem 🙂
u guys didn't tag 4.26.2-release yet?
woops I'm an idiot, forgot I gotta fetch upstream
hi anyone ever had that problem ?
havent connected in a few days, was working perfectly before that
Connection Error
Connect to server failed; check $P4PORT.
TCP connect to perforce:1666 failed.
Hôte inconnu.
OK
if i click on work disconnected i got taht
I am a bit at a loss, I have been using the same .gitignore file for several projects and it worked fine the whole time however for this one project, the intermediates/saved and bins keep getting pushed
I am using this and it is in the main folder directory
maybe someone added the files in it to tracking by accident?
@rotund bobcat Thanks for the clue! you were 100% right, they were ignored AND tracked and the tracking takes priority over the ignore
still can't connect.. any idea ?
That server is local I assume?
Are you an admin? Can you access it with P4Admin?
yes 🙂 im the owner
P4Admin won't connect either?
this is connected.. that's why it's weird
Port correct? Tried with numeric IP?
Is that really the whole error message btw? Your username seems to be missing
cmd as admin -> p4 set -> Check $P4USER
If not set/incorrect, set with p4 set P4USER=usernamehere
thanks the username should be the same as the one in the users ?
Exactly
right now it's set as destktop
Nope, it's your Perforce user
ok great i'll try to change it
but before it was working perfectly that's what id on't understand
i just had a 10 days holidays
ok thanks a lot man you are a savior
"p4 set P4USER=usernamehere" should i type that in command ?
weird..
Seems like it reverted to your default settings
ah cool
In the Perforce login, the ssl: prefix is missing (it should be ssl:perforce:1666, if even at that, it seems like you have your server external?)
(See your error screenshot)
i have the server on digital ocean
You don't have to use the command line btw
Open P4V, close the error (Work Disconnected), Connections on the top menu -> New Connection -> insert your correct server data
It would be perforce:1666 if your server would be local, which is not the case ofc if it's hosted on DO
only p4v admin
On that error message you can just click "Work Disconnected" to the right, it should then open up
okcool ill check that thanks
No worries!
it's not openning // 😢
OK one sec
CMD as admin again -> p4 login -h serveripaddresshere usernamehere
(Replacing placeholders ofc)
I guess his env variables got reset
I've had an issue where P4V decides to reset itself every few days
just put in the right server and it should be fine
You can't escape me @merry verge 👀
Yeah, P4V is weird with that stuff though, I know that too well
It's been annoying, every few days it resets back to the light theme and forgets what editor I have configured 😦
just perforce things
The heck?
I believe it stores those in the user folder, might wanna check on that
yeah, probably. Something must be clearing it out every so often...
darn gremlins in my computer
Haha
Probably something like CCleaner that treats it as a temp folder or something
Or it's actually in AppData somewhere
it's in the user folder in .p4qt. For some reason. Well, at least I can make a backup now for when it inevitably wipes itself.
Check Event Viewer on occurrence!
not a bad idea
sorry i had to go
still this when i try to access it
ok
ahah im not very talented with finding the right way
and i don't really know which username to use
thos are the 3 username i ahve
and this is on top of my connection
i don't understand how could SSL have been activated.. before it was working perfectly
SSL was disabled before? I'd highly recommend using it
Your username is missing in cmd
Can you send me an output of p4 set?
sure
You'd be using Hadrien in that case above though
That admin user is only for P4Admin I suppose
yeah i guess it's the name of my computer
p4 set P4USER=Hadrien
tried with all usernames
Then try p4 login without any parameters
ok 🙂
You can just copy my messages
Said like a true Hollywood hacking movie actor!
Now we can all sleep in peace again
Just a lot of past headaches
i will be sending flowers to your doorstep
No worries
Don't worry!
Any Git users out there able to help me navigate an error in this utterly hateful source control software?
Trying to do a simple fetch operation in SourceTree, which fails after around 10-15mins with the following output:
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch upstream
fatal: Out of memory, malloc failed (tried to allocate 15640272 bytes)
fatal: index-pack failed```
This is fetching from my fork of the engine, and the upstream (epics)
I've already cloned my origin, so that's on disk already, fetching the "origin" stream alone works fine - fetching upstream crashes and burns as above.
After navigating several Stack Overflow posts I've even tried the following settings in .gitconfig to no avail:
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
windowMemory = 512m
packsizelimit = 3g
deltaCacheSize = 512m
threads = 1
window = 0
[http]
postbuffer = 50000000```
Git.exe eats up about 3.5Gb of RAM before quitting
How is this even possible.
size != size on disk, that's normal
tldr: size is the "theoretical" space taken up in bytes, size on disk is the actual physical space as defined by sectors on the disk.
i don't know what exactly your ?? is about 😄 but windows layman's GB to byte is three conversions of 1000 to 1024 (K M G) which is a factor of 1.074 from GB to bytes
one of us must have got it
The question is more why the hell is Git storing 77.8gb of files in a folder at all
Even when built the engine doesn't take up that much space with all intermediatte files combined
After wiping the repository from my HDD and cloning it again it's back to a more sensible 6GB
Getting where that was coming from with TreeSize or something would've been interesting
it's essentially all the files in .git/objects/pack There are a lot of large files prefixed with tmp_ which makes me think all the failed fetches I've done has just left junk on the drive.
Trying a 64-bit version of Git.. maybe that will make all the difference
Is Git 32 bit by default? O.O
Unbelievable.. the 64-bit version worked.
Well with SourceTree it uses an "embedded" version, but for some reason it downloads the 32-bit version not 64-bit.
<.<
Glad you got it tho
I wonder if manually running a gc would have cleaned up the temp files
Yeah should have tried it really before downloading everything 3/4 times 😄
I'm a sucker for a clean slate though
look up git rm --cached
its normal enough unless you do shallow clone, my source engine builds are typically > 300gb once used for a bit
Is there a command to remove/cleanup those files? It seems bonkers to me that SC should be allowed to just eat through space like that.
Speaking from the position of a Perforce advocate 😄
Just my engine fork essentially, everything else i use P4 for
you could remove all the history if you don't need it
so it is basically as if you made a shallow clone
that would reduce the disk size
Id advise against that, 1 the history is actually very small (only a couple gb), its the temp files - also you will run into broken repo issues and other bits
i am thinking about deploying perforce on a vm for a 2(1) people, i was wondering what spec machine people use?
Hey guys, which source control system works well with UE - according to your experiences?
Perforce is best integrated, but costs a lot of money once you go over 5 users
second most popular is probably Git
well
the plugin for the editor
I use git with unreal, but I use an external GUI and the command line
so it's still safe to use?
ok
lol okay, so it's the first time ever i use source control and Git.... so i did stage and commit my project folder... what now? Where can i check up on my "committed" code online?
i find that git eats a lot of disk space
i am debating about deploying my own perforce server, maybe subversion i am not sure
I host a P4 server on digital ocean. Cost < £20 a month. You can skirt around the five-user-limit by sharing accounts if you wanted to.
Unless your team is solely programmers Git isn't an option for most people tbh.
depends on your structure and workflow and amount of people really
perforce is obviously the better choice, I just mention git cause it can get costly
I have 3x teams of 30+ on Git, it works but P4 does have a slightly better workflow - however it is hella expensive
Hi @simple lodge, do you have documentation on the workflow, setup, etc, with Git? Thanks
LFS, with some things added to aid locking - most people are using SourceTree to push/pull
And then just some twaeks to the git config to make it work better
if you are <5 and sure you wont go over, or have $$ perforce is a bit friendlier
biggest pain points thats left is engine integration and the fact about once every 2-3 weeks I have to spend ~30mins fixing someones repo
at some point when I have free time I might well do a blog entry on it
I am making a startup with 3d services and a game. I would like to setup right system from the beginning that allow wrought without changing systems and expand with time.
This is gonna be hard to hear if you dont have so much $$, but if you are going to go above ~50 people or store large amounts of 3d assets/renders, just use perforce
I have the workflow with perforce but I would like to know with Git too.
basiclaly everyone works in master, use rebase not merge workflow
pain points are managing locks (I wrote a little SourceTree integration thing) and the artist occasionally breakling a rebase that I have to go fix
@simple lodge Do you split the projects in multiple repositories?
Got it. I can easily force merge them, but it is the time spent getting in that frame of mind and making sure I don't bust something.
1 game repo, 1 for art
team leaders can create repos should they so desire, but not surw how many do
is anyone using the openssh server in Win 10 along w/ git? it seems like the git credential manager won't work when calling it logged in from ssh
curious if there's a workaround
fatal: Failed to enumerate credentials. [0x520]
So.. Git breaks after doing only 3 commits... wow... feels very unreliable
I'm using github for source control right now but I have exceeded the 1gb limit. Is it possible to somehow create my own server to store the project while still being able to use github for it's interface. I've got a spare laptop I could run as a server but I don't know how to set that stuff up and I can't find much on the internet.
this wouldn't happen to be open source somewhere.. would it? :3
dont use those settings by the way, those are all pretty harmful

