#source-control
1 messages · Page 55 of 1
it's a lot more artist friendly in my experience as well
as in non-programmer people
I am in the middle of something once I done that I'll move over to perforce than
I guess it wont be that difficult to get used to it after git
😬
will it ? 😄
because they different git is decentralized and perforce is centralized
not sure if I can create branches in perforce
you can but generally don't - they are very heavyweight
Trunk based development is the way to go usually
I've used perforce for many years so I'm very comfortable with it, but I know some people struggle initially. Also, setting up the server will involve a bit of learning on your behalf!
This is my goto reference for getting started in a way that won't cause problems later on.
https://www.perforce.com/blog/vcs/how-use-unreal-engine-4-perforce
also checked this channel's pinned messages
will do thanks for the answers!
"In Helix Core, branches are done at the file hierarchy level. Your team members can pick and choose specific files to checkout and submit back into the repository. Exclusive checkouts give developers visibility into what other people are working on. And with granular permissions down to the file level, admins can keep their most important files protected. "
In perforce, you can't just branch off and do anything you want, you can only edit specific files, right?
and then merge it back
I have installed marketplace plugins to a source built engine. they work fine in editor but do not package as they are built with 4.25.0 and I am on 4.25.4. These plugins do work in launcher version 4.25.4. How can I get these plugins to package on source build and why do they work on same version from launcher?
yeah as I say don't use branches in p4. you need to branch the entire depot. it doesn't work like git where a branch just have the differences in the files you've changed.
just have everyone work in the main branch
but on different files only right?
well in p4 if you follow the guide I linked then all binary files will be 'exclusive checkout' which means only one person can edit at a time
and I guess it requires the use of the same engine version
Thanks for your reply, I checked p4a, nothing is in the depot that shouldn't be. I just checked the typemap, and it's completely empty, I know I set one up initially... wtf happened.. From here, now that the typemap is set up properly, should I run p4 snap? That was what my searches brought me too, but I couldn't quite understand if it would save space or increase space in our situation
best way to keep merge conflicts from happening is to not use one of the generally available gitattributes out there
LFS messes up assets so they are unreadable until you checkout the file again if theres a conflict
if you use the binary merge driver in git, it keeps the files in conflicted state and checks out your own copy
so you can resolve the conflict in editor if you want
@pine citrus
also make sure you use the Git LFS 2 plugin which isnt built in yet
that will let you easily resolve merge conflicts
note these attributes
I need the help of a git expert here. We had a guy who was doing some map work. He forgot to pull changes made several days ago then went to work on the map. He realized he couldn't push or pull since there were conflicting changes. I told him to stash his map, pull and then push. Instead he went back and checked out the commit from 7 days ago and now we've got this mess sitting on his machine. The changes he made were making a new master material and material instances, so I think even with a reset those would be fine since those files weren't in the repo before. All new work. his icon is the black one. We need... I have no idea. I'm pretty sure those 1200 changes aren't all materials and material instances. Probably something else mixed in there from checking out that commit. Any ideas?
hey there ! Has anyone installed perforce server on Debian here ? Or is it much much better to do it on Ubuntu ?
I'm wondering how long is it to install and configure a perforce server
this thing looks like to be a bit old but it looks like it let you setting up a server pretty easily
there's some blog posts etc that are a bit out of date tbh and will cause you some problems
I'd recommend using the official perforce docs. Using packaging is very straightforward.
You want to install helix-p4d
https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html
If I change something in an already pushed asset(which is quite big one, around 50 megabyte) and push it again, dose that mean it will add a new 50 megabyte to my cloud server? I'm using Plastic SCM btw and I was wondering if it overrides it or accounts it as a new asset.(I'm relatively new to source control)
Source control means you can go back to older versions, so yes it keeps the old versions around
in perforce you can 'obliterate' old versions if you want to free up server disk space
In perforce you can simply set it up automatically to only keep a certain number of revisions for a certain file type... I think in plastic it's possible to somehow archive old revisions and store them elsewhere, but I've never used it
Hey...so...unfortunately I had to take a longer break after setting up Perforce for my project, so I couldn´t write up a tutorial for my team members about setting everything up on their side.
And now I´m already stuck at the very first question...
Do they even need to bother with the p4v client, or do they simply need to log into source control within Unreal with the credentials provided by me?
I guess they only need to use the p4v client to set up their local workspace.
Yes, they need to install perforce, unreal doesn't include it
You're on the right track
Yeah, makes sense. I was just hoping I could shortcut this...:)
And they´ll also need pv4 to fetch the initial files I suppose.
Ok, lost again...Since I only installed the full package on my pc, when I set everything up, I´m not sure if I´m missing anything now, as I want to set up a test client.
I just downloaded the p4v client and only installed only p4v, not PVAdmin or PVMerge.
Put in my server adress and a user I had created and I get this error messag:
Connect to server failed; check $P4PORT.
TCP connect to 144.91.122.138:1666 failed.
connect: 144.91.122.138:1666: WSAECONNREFUSED
If I try to connect via p4v on my workstation, from which I installed everything, it works.
I´m not on my homenetwork with the newly setup client either, so maybe its just a networking issue.
Any pointers would be appreciated!
If it's running on another network through a router... Port is forwarded?
I´m not at home with the laptop I´m trying to setup and to test it on another system, I just connected with my workstation at home through remote desktop, running the client there worked like a charm.
I´m trying a workstation at the office in a min, just need to install p4v. If it runs there as well, its a network issue at where I´m at right now.
If your home network runs through a router, and you didn't forward the port on the router, then yes that'll be your answer
Aight, seems to be a networking issue with the local network. I use a router at home and I haven´t configured any port forwarding, so no idea whats the problem here.
As long as my team mates don´t have the same networking issues, I´ll be fine....:)
Troubleshooting! Yay!
Well, you just said the problem: you haven't configured any port forwarding
Or do you mean you don't know how to do that - Just Google it
(Have to be at home to adjust your router obviously)
Well, it works on my workstation at home AND the workstation at the office. Neither of which is on a network with any portforwarding.
So, I think its a different issue.
oh, I thought you said you were using the office workstation by RDP'ing into your home workstation (so you were still accessing P4D locally), maybe I misunderstood
nono, just RDPing to my home workstation and starting p4v there..
Another quick question....There is still no way to revert an asset to a previous version, directly from within Unreal Engine, or is there? I´m talking about binaries specifically (maps for example).
so it does not work from your office workstation then right? only on your home workstation. you'll be fine, just forward your router's port when you get home.
can't answer that one, whenever I'm doing anything semi-advanced like running undos I usually prefer to just go to P4V. I doubt you can do it in the engine but not sure.
you should be able to right click on the asset then go into the source control submenu
and there will be a revert option usually
With binaries? I just tried with a map and there was only a diff against other version option, which didn't work.
I'll check again tomorrow.
yeah, you can only see binaries in the content browser
maybe it only works on the git plugin
Hi guys, Is there any repository that offers more than 10GB?
Currently my project is stored on Gitlab but I am running out of space
I've seen people here say Azure Devops (?) has free unlimited space for small teams, sounds too good to be true and haven't looked into it myself
it does, I believe it's limited by number of people rather than space
there are resource throughput limits but that's not for storage space, and it takes a lot to hit those limits (you're pretty much just rate-limited for spamming certain endpoints... so just don't try to push hundreds of times in a few minutes)
There are more details here: https://docs.microsoft.com/en-us/azure/devops/repos/git/limits?view=azure-devops
tldr: pushes are limited to 5GB at a time but the repo itself doesn't have a size limit. Git LFS is excluded from the push limit.
Thanks!
If anybody is interested, finally found the solution to my Windows->Linux server move. Might be of use to somebody:
https://stackoverflow.com/questions/65586008/perforce-cross-migration-from-windows-to-linux-fails-to-replay-checkpoint/65643840#65643840
Were you switching to case-sensitive too, or is that just an issue for the SO user?
yeah switching to case-sensitive
Can I ask why? I understand case sensitive servers are not normally recommended if Windows is one of the client platforms.
I just wanted to run it as natively to Linux as possible. I don't plan on going back to windows (it was setup by someone else originally). I also don't want to pass -C1 to every argument etc etc
If anyone on your team is developing on Windows it's recommended to have case insensitive server. My team are all on Windows but server is Linux (case insensitive).
oh, what, why
I don't know, maybe it will work fine, but I'd worry you might have issues if someone has someFile.txt and someone else has SomeFile.txt
or if someone commits sOmEfIlE.txt and you rename it to SomeFile.txt then it may be possible to upload both to the server and I'm not sure what will happen when windows users try to pull both files
I guess if it becomes an issue I can always change it later. It's only my personal server so just me
Hi, I'm trying to remove an old workspace but still can't, I have this error message "Client 'DesktopWorkspace' has files opened. To delete the client, revert any opened files and delete any pending changes first. An administrator may specify -f to force the delete of another user's client."
I have super admin permissions, but still can't use the -f argument
$ p4 client -d -f DesktopWorkspace
You don't have permission for this operation.
I don't know what the best practice advice would be but sometimes if I have to brute force my way out of crap like that I just go change the host setting of the workspace to my new/current PC, then hamfist my way around in P4V until I can set the workspace back to no changes, then delete it normally
easiest of course if you still have access to the actual PC with that workspace to just go revert it there
OK, I reverted the workspace therefore I can delete it now
I deleted the folder without deleting the workspace so I couldn't delete it
By the way, is there any tips to submit only changed file without marking each file one by one ?
in p4v you can use "reconcile offline work", but it's slow.
You'll have a better time if you setup whatever tools you're using to automatically add/remove/etc files from a changelist.
But I have so many popup with "checkout" "make writeable" in Unreal. I don't understand a single thing of this
So I try to use the P4V soft
When i'm trying to open an blueprint or assets, I have some popup that scare me, I hate this type of workflow
oh. don't be scared of that
That's annoying
use it though
I don't know what that is for
the normal workflow for perforce is you have to check-out files before editing them
that's all you're seeing - unreal is prompting you to check out the files
Check out mean locking it ?
We don't have translation in french, or I don't find it
Check-out doesn't necessarily mean lock
Check-out means the file is added to your default changelist
Even if i'm not changing it ? just opening it
when you're working in P4V everything is in one of three states:
Not checked out (file will be read-only in windows and perforce believes that you are not working on it)
Checked out (file is writable in windows and perforce has it listed in a changelist for you)
Writeable (file is writable in windows, but perforce does not think you're working on it and has not added the file to a changelist)
If you're being prompted to check-out a file, then unreal thinks the file needs changing for whatever reason.
Unreal thinking ? smart AI? x)
I found an checkbox in editor settings to check out every opening file, but I don't know if that's a good way of doing
making stuff Writeable without Checking It Out is where teams get into trouble because that enables multiple people to work on it at the same time -- the team member who made it Writeable without Checking it Out should assume that their edits will be lost when they have to overwrite their file when the other team member who properly used Check Out submits their edits
Ok , that's why i'm out of sync sometimes, because i click on "Make writeable" instead of check out
if that doesn't make sense maybe I can explain another way
I use Writeable all the time if I want to make "throwaway" changes to some blueprint
but if you are ever making a real change you want saved, don't do it unless you check out the file properly
(also - I only "use writeable all the time" if another team member has it checked out - even for throwaway edits I would normally check out the file if I can, just because it make it easier to revert it later)
But you're going to have a blueprint diff then ?
Your writeable version on your local, and the team member made changing that will be submit to the depot
if I do that, then when I "Get Latest" or pull changes, P4V will prompt me with something like "Warning! This local file is marked writeable and could contain unknown changes, getting latest will overwrite this file, do you wish to proceed?"
since I knew I was making throwaway changes and know what I'm doing this is fine to me
OK, Do you use the control source plugin on UE4 or P4V ?
Everyone is a little different... personally, I allow UE4 prompts in editor to help me with checking stuff out. I close editor and use P4V for submitting changelists and pulling latest
if I know I'm going to need to check out a hundred things I might do it in P4V before opening the editor I guess but doesn't really matter
OKK now maybe last question
I deleted an image/asset/file in the windows folder directly
How to say to perforce server that I deleted this file, because I can't see it in the Workspace now
Reconcile offline work ?
OK
And btw, when i'm submitting, I always have to unselect the p4ignore file
Is there a reason for that ?
You can specify your ignore file in your ignore file if you wish
Is that something you do?
Yes
I have quick question- I am paying for git storage in github- if I remove repository that I payed storage for and if I create new repo, will I lose the storage that I payed for?
I think you can contract GitHub support to reset your data quota in those sorts of scenarios. I recall talking to them about it before.
Hey guys, this isn´t completely source control related, but it still concerns it, so....
I´m still a bit fuzzy about how to work with the developer folder and imported content from megascans or marketplace.
I would suggest my team to only work in the developer folder for experimentation and asset testing, as that doesn´t get synced by perforce.
I´d also suggest to import all external content into the developer folder.
But I´m also supposed to fix up redirectors, after moving stuff around.
And I have frequently gotten erros, when testing this workflow.
So, lets say I import some assets into a map inside the dev folder.
Now I´m done experimenting with it and wanna bring it into the main content folder.
Do I simply copy the assets I´m using and then click "fix up redirectors"?
Or do I rather migrate them from the dev folder to the correct folder?
What are the best practices here?
You have to migrate, copy won't maintain links.
I'd suggest checking Dev folder into source control too, otherwise it will be a regular source of errors when things are accidentally referenced.
Ok, migrating inside of the same project is working then I guess.
I don´t think checking in dev folders is a good idea either.
Isn´t there a way to prevent people from referencing stuff from the developer folder?
I mean, lets say I wanna create a desert landscape.
Now I just import the whole megascans library with dozens of desert assets into the project. But in the end I´ll just use 3 rocks from the whole pack.
I don´t wanna then have to clean the whole project of the dozens of assets I don´t use, I just wanna migrate the 3 rocks, that are actually going to be used.
I got the idea from allars styleguide and he suggests to simply filter out developer folders in the content browser.
But of course, that doesn´t work, if you are the person working on the assets inthe developer folder and then accidentally reference them in a map in the main content folder...
Or...will it simply give you an error, when you´re trying to save the map in the main content folder, as it can´t check in the stuff from the dev folder...(if the dev folder is excluded from syncing in perforce)?
Not in front of the project right now, or I would just try this out...
Hi, are there those here that do version control of uassets without perforce?
We have our own CMS and want to know the ins and outs of managing uassets ourselves. Is there any good docs around on the topic?
it's a bit of a strange question - curious what do you use, if not one of the common solutions (git, perforce, plastic, svn)? at the end of the day content assets are just binary files, so as long as two people never work on the same file at the same time it could be safe? 
None of the above, we have a custom database. A basic question I have is: Given an asset in the Content Browser, how does UE interface with any given version control system so that one may collect the asset and all its dependencies and present them to the source control code to handle for things like checkin/checkout/diffing/etc.?
I realize it's a big topic 🙂
The source control system doesn't really have anything to do with dependency resolution. When you save a file, the active source control plugin has an opportunity to check whether the file needs to be checked-out (or whatever the operation is for the given provider). If unreal needs to save multiple files, it'll ask the provider about each individual file. There's some extra stuff around showing the status of each file in the content browser and hooks to let you submit/view history/etc but the basic stuff is just hooking when unreal wants to save a file.
There may be some more complex scenarios - for example, moving a file in perforce involves a p4 integrate, but not all SCC providers require that.
If you're trying to integrate your own custom scc provider I suggest looking at the official plugins. For example, perforce: https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Plugins/Developer/PerforceSourceControl
Nice, I'll look at that. Thank you.
(P4) Trying to set up a new workspace on a different server. Whenever I try to run p4 configure set dm.user.noautocreate=2 - it tries to run it as the user for server A. I'm trying to set it for a different workspace in a different server. How can I stop this?
I think I got it - I had the wrong p4port cmd line set
I have gone and somehow gotten my local git repo and what the UE4Editor think exist as a Collection out-of-sync (or at least that's what I am deducing from the symptoms). Can someone help me get rid of this crap?
So, I was messing around in my Content Browser and I noticed a feature that I'd never used before: Collections. I thought it sounded potentially useful, so I created one (a shared one) without knowing anything about it, and tried to add a directory to it (my first guess was that it was a collection of symlinks... apparently no it's not). From that point onward, I have neither been able to actually add anything to it nor delete it, and now it remains as this:
When I try to delete it, it gives me:
when I open up a shell window at the project root and enter git status, there is nothing listed anywhere that references it.
so I don't think that it was actually added to git
but it certainly seems that the problem (the reason why I can't delete it) is tied to git somehow.
Hence why I am posting this #here
I get the exact same error message as before when I try to change its type to Local:
This error: #source-control message
When I hit Refresh, nothing happens. No log message; no nothin.
I have tried closing the editor, rebuilding the project; it still remains as a zombie in my Content Browser...
Last thing I thought of that I haven't tried: build clean && build. Here goes...
Okay, so that didn't fix it, but I did get this:
Synced up my local git. Just pushed it to my remote as well. git status returns 0.
But it's still there
Yay! I found it. It was in Content/Collections/ lol.
Exit editor.
rm -f Content/Collections/EngineCommon.collection
Relaunch editor.
Collection gone!
🥳
heya, so, I´ve been struggling with this all of yesterday and I can´t find a solution I really like.
Working on a shortfilm project, a lot of the ways to source control isn´t really what we want/need.
Here is the issue:
lets say, "Bill" works on an environment used in that shortfilm named "Desert".
He creates a folder insider the projects content folder named "Desert".
Now he starts importing assets he precreated, but imports a content pack for deserts with 50gb worth of photogrammetry assets (hey, quixel).
Now he starts playing around, trying to find great compositions, trying out assets, creating materials and all that shit.
After a month or so, that folder is now 200 gb big, but he only uses 5 rocks from that huge desert pack he imported and wants to clean up the project.
If all of this wasn´t source controlled...he would now simply migrate the level to a clean project and then maybe remigrate that back to the old file.
But they are using perforce for source control, every single file from those huge packs were checked in.
So now, if he would just remigrate the "cleaned up" level, he would also still have to have a perforce admin go down and delete/obliterate every single rock from that desert pack, that has NOT been used.
How would you deal with this use case scenario?
my ideas so far:
A) Create an "Assets" folder and a "temp_assets" folder inside of the "Desert" folder.
B) import/migrate all the outside stuff first into the "temp_assets" folder. Once the level is ready to be used in production, simply copy over all the assets from the" temp_assets" folder, that are being used, to the "assets" folder and click on "fix up redirectors".
C) There still needs to be clean up to be done, but at least all the stuff that needs to be cleaned up, hopefully can be deleted/obliterated, by just deleting the "temp_assets" folder.
Or is there a way to show all unused assets and delete them this way?
Originally I was intending to use the "developers " folder for that process, but its excluded from source control, so that just led to issues when testing it.
I feel like there should be a simpler solution and I´m just overthinking it...
If you're really set on this developers folder idea then perhaps writing some validation that walks the entire level and checks nothing is cross referenced from the 'main' folder is a good idea.
What I try to encourage for situations like you describe is actually prototype in a separate project that is not in source control.
When they are happy they can Migrate a level from dev project to the main project and that will bring all dependencies.
Or you can wing it and hope your art team is diligent, but sounds like you have struggled with that already?
Well...I have struggled it with it myself and I figure I might be the most tech savvy of our artists...:)
I´m not set on the developer folder, I was just following Allars blog and that obviously points to more code related stuff.
In fact, the more I think of it, the less I like it and the more I tend toward a more "brute force" approach.
Just import all the assets directly into the environment folders for each level.
That might me an initial submit of way more assets than we will need in the end, but on the other hand, there is no chance of breaking references easily and we have revision history from the beginnin til the end.
Because if they start working in outside projects, they could just fck it up locally, or they might just leave the project, without ever submitting anything useful to the main depot (which tends to happen with these online collaborations).
At some point, wether because I´m getting OCD from all the chaos, or wether we actually run out of storage space on our remote server, some poor "cleanup-monkey" will still have to go through all these assets and delete/obliterate any redundancies.
Apparently there is still no simple solution to just filter for unused assets in Unreal, which would make this process a lot easier.
Everywhere I looked they just said "migrate to clean project and then migrate back in", which seems fine for any local stored projects, but like a nightmare for something that is source controlled by perforce...
Unless...This plugin here actually works.
Only 3 reviews, seems weird for something that seems so useful/basic for me...
Yeah, well, unless someone can tell me, wether its actually not a big deal to clean up a map/project via migrating it back and forth using source control, this might become a bit off topic now.
...also there already is a filter in Unreal "Not used in any level"...not sure what the plugin would be useful then...
any hosting recommendations for Brazil? digital ocean, vultr, linode, nobody has datacenters near there
https://aws.amazon.com/about-aws/global-infrastructure/regions_az/ and if you click "south america" on the map and scroll down, you'll see the datacenters there
That's what we currently have and are looking to break from, our project is 3 gigs yet AWS keeps giving us warnings that we are at 28 gigs, about to break 30gigs, and get kicked out of the free tier
Anyone good with Perforce able to help me with a problem with locked files? I am trying to unlock a file using p4 unlock -f but it says that it is not opened in that changelist. How can I find the changelist it is open in (I don't think there is one) and how can I unlocked it?
Changing provider/data centre is not going to fix the size of your depot.
My guess is you either store DLL/exe in there without typemap +S2 or you have a lot of assets deleted.
Don't forget deleted assets still take up space unless you 'obliterate' them.
I have had this problem. I'll look at my notes on my pc and get back to you in about an hour.
Thank you.
It might be an orphaned lock which I have seen a few times. Run this to check p4 opened -x
if it shows anything with *orphaned* then you can unlock as admin by running p4 -c WORKSPACE unlock -f -x //depot/path_to_asset
replace WORKSPACE with the workspace the file is locked under
Thank you for that. I will try ASAP.
nps I have used perforce for ~15 years and until recently I never saw this problem.
According to perforce support it should only happen in certain cases with Edge servers etc, but we have a simple setup with a single server on AWS, but one of my devs has had this problem 4 or 5 times in the past year.
In my opinion it's related to shelving, but it is so rare we never managed to track it down exactly.
I was wondering if anyone knows why some people if they are building plugins sent to them through source control just cant build them, no matter how often we reinstall visual studio and all necessary extension for it.
Am I missing additional dependencies? Because for 95% of my team we never encounter that issue, but by two ppl basically. And consistently 😄
what kind of errors do they get when building them
non
immediatly goes to unable to build, go build from source
its litterally a blip, cant even read the logs
I also tested giving full user access to the folder /read / write
didnt change a thing
what are you/they looking at that only shows "a blip" ?
You know when the popup comes "These Plugins have to be rebuild"? Thats what we can see and then afterwards the build LOG shows up for 1 second or so and just goes away, revealing the error message "couldnt build, build from source"
any documentation on that - didnt have to do that before at any point 🙂
hm, no coders on your team?
right click on uproject, click generate solution files. Open the .sln file in visual studio, build. it's going to be confusing if nobody has ever actually opened visual studio before :\
also I think sometimes these errors might be caused by things like using mismatching engine/plugin versions or things like that
I´ll try that tomorrow with one of them
And thanks for the help btw 🙂
anyone know what ballpark pricing differences are between PlastiSCM and Perforce?
depends on many things - they never make it easy 🙂
Don't know about Plastic, but p4 is free for 5 users and as soon as you exceed that you start paying ~$30 per month per user I think
so that 6th person makes the whole thing VERY expensive
depending on your circumstances of course
if you're paying an engineer $10k per month then an extra $30 is not a problem 🙂
well shit, I'd love to make 10k a month lol, unfortunately don't live in the muricas, but thanks for the info
I am trying to organize my folder structure... do you usually keep your materials in a dedicated materials folder or just next to the mesh that uses said material? 🤔
I suggest looking at http://ue4.style
tldr: use prefixes, don't use asset-type-specific-folders
I come from that website, where it has a "MaterialLibrary" folder 🤣
right, and specifically it says that you should be putting things like master materials, widely-used material functions, etc there. But if something is specific to a model it probably belongs with the model.
in gitbash, i went to git commit . and i get this prompt, how do i send it out? using the enter button only adds carriage returns...
:wq! then enter
kill me...
it's called vim btw, the text editor
but there's guis for git, you shouldn't really be using the cmd line
try smartgit, it's great and free
is there a way to shelve conflicts? >.>
i just wanna pull
the asset i want to stash needs merge
yeah, i don't even want merge, just delete mine...
or smartgit
I've found sourcetree to be horribly slow
don't know why I've stuck w/ it for 3 years but then I've found smartgit and the world's a better place
</ad>
nah even when reset cannot progress further
i reset, then stash, then pull
no, its closed
how do i do that?
and then waht?
can i just delete my folder and pull as if a new user?
ugh, gitlab used to give out the commands to do that when you create the project... no clue where they put them afterwards
i am getting old
i've had to go through maybe 5 different git GUIs and then the command prompt and each time easy operations are blocked to the users
Not strictly source related, but I recently ran an issue with a map, where the lighting didn´t seem to be checked in: After every restart, it kept resetting, even though the revision history showed that it had been correctly checked in.
Took me a while to realize, that I had used the "sun&sky" blueprint from the editor, which apparently is located in the engine content folder, which was not included in source control...
So, my question would be:
How do I avoid this? Or rather: How do I filter out all engine content, not just from the content browser, but als from the editor menus?
And how do I use the sun&sky actor correctly in a source controlled scene? Can I just migrate it out and remigrate it, so its in the source controlled part of the project?
Well, specifically the problem comes about when someone changes content in the Engine folder.
I don't think there's a good solution for that other than checking Engine folder into source control.
You can set Engine Content to read-only then at least users will get a warning about it.
@arctic minnow just do
git fetch
git reset --hard origin/master
that will reset you to the latest changes
i ended up cloning it again
we had both worked on the same actor and i personally only added a reroute node
so i lost nothing
but ty for the response
Right. I might have altered the bluprint in the scene slightly, can´t remember exactly. But any reason to not just migrate the Blueprints in question? That would mainly be the sun&sky component as well as the HDRI backdrop.
Ideally the team should really just filter out the engine content and only use whats in the shared folder of the project.
sure, if you want to modify it you need to migrate into your own project first. Just pointing out it's not always clear when content is from Engine not own folder, especially when you're using lots of content packs anyway.
Hm. Yeah. Damn content packs....thats a good point. I´ll have to sleep on that...
Does that really happen? Content packs referencing engine content? Should they not be migrated out of a clean project, hence eliminating any original references to any engine content assets?
not necessarily, I just mean content packs tends to lead to content all over the place and it's easy to accidentally reference engine asset
Also...unrelated question...
When using perforce, I will see any changes to existing assets in Unreal engine directly, without the need to ever touch the P4V client.
But newly added assets will only show up in the P4V client, so basically, before working on anything, my team would always need to check via P4V if there is any new content.
Is there no way to do that check directly from within Unreal Engine, or did I just miss that?
not that I know of, but maybe 🤷
AIght, I´ll keep looking...
Yes the team will need to use either p4v (or UGS etc) to grab latest assets, the Unreal integration is only for handling local changes and additions.
Damn. That should be a built in feature...:)
I don't think so when you realise all the ways in which it can go wrong!
That's why Epic built Unreal GameSync
Hm, don´t quite get it. Is it another service like perforce, or just another GUI to use with something like perforce?
I come from a film making background, so alot of the source control specific ideas don´t necessarily follow the game engine logic.
There is probably gonna be more changes coming to that area, as the engine expands into these ares more (like VP for Mandalorian stuff).
UGS is a GUI for perforce that Epic made to simplify workflow for them. It's complicated to setup tho.
Is there any recommended gitignore for UE4 C++ project?
Ty
I use Perforce. Every time I open my project in VS, I get the following error from Helix: "You do not have the latest revision of the solution file." It prompts me to Get Latest, Don't Get Latest, or Cancel. If I click Get Latest, it moves forward and everything works fine. But why does it keep doing this?
You should not checkin sln file for Unreal, they are generated locally. Look for Unreal p4ignore file.
Hello guys, I use github with my collaborator and we pay for 100gb storage, we have this for now
but he can't push update
cus he gets this error
You're hitting a file size limit. I believe github has a limit of 2GB per file with LFS
I take that back, it depends on the github plan
@jolly fog Is your repository set up to use LFS?
have you set up your .gitattributes correctly
okay
git attributes is what needs to to go in LFS
so what is gitattributes
so you're probably just still pushing everything to your repo instead of lfs
idk
something like this for example https://github.com/MOZGIII/ue4-gitignore/blob/master/.gitattributes
a file like that should be in your repo
@jolly fog did you add lfs later in your project? if so you need to migrate all assets to LFS
yeah that's a pain in the ass tbh
especially the rewriting the history part to make sure your lfs files are no longer in the repo
"git lfs" does that for you no?
yeah the "git lfs migrate" tool is there for that!
I installed lfs
idk more info about it
Also I will be charged on 26 january for the space, I want to pay it today because I want my collaborator to push the update-is there a way today to pay the bill not on 26th?
For perforce, is it problematic if I sync an older revision, then copy back files from a manual backup that was made from a later revision, then continue working and commit a new change after a while?
- Sync to older revision
- Delete all files
- Copy back manual backup of latest revision (newer than revision in point 1)
- Continue work
In other words, does it track the currently active revision, causing a detached HEAD with the steps above?
@jolly fog with that price/month you should just try self hosting git with gitea + lfs.
When setting up Perforce with Digital Ocean, is the connection unencrypted (unlike GIT via SSH) by default? If so, anyone know how to secure it?
Hello,
On Perforce, do you guys know if its possible to import+ a stream into multiple folders in another? I wanted something like this in my stream map
share...
import+ ProjectA/Plugins/... //Plugins/main/...
import+ Projectb/Plugins/... //Plugins/main/...
how can i add 3rd party cpp code? which is not created inside ue?
Would also like to know this
You will know if it's encrypted if you connect to ssl:ipaddress:port in p4v
if it's not you can enable it by following something like this https://community.perforce.com/s/article/2596
but it depends on how you setup perforce in the first place
Hello , how to push my map file which is 181.58 MB in github
the size limit is 100 MB
Use lfs
@cyan jay Cheers, will give it a go
@merry verge i have lfs installed and i did "git lfs track *"
but the push is rejected
thx i m trying this
how I can do it?
@jolly fog
- Get your self a server. VPS will do just fine.
- Gather some basic linux knowledge.
- Follow steps here to install docker and gitea. https://www.stevestreeting.com/2020/08/09/my-ue4-vcs-setup---gitea---git---lfs---locking/
The case for self-hosting VCS For game development, I like hosting my own source code repositories. The reason? They get big really fast. We’re hardly making AAA assets but even so, things adds up very quickly unless you’re doing something low-fi.
Big files mean increased storage costs, and slower network transfer speeds if you use remote hosted...
if you need any recommendations bout vps providers, send me pm
Hey I’m looking to pay someone with experience in working with ue4 & GIT to help set up version control & GIT for a couple indie devs. I’m having trouble collaboration with some friends, any help would be appreciated. And preferably can walk us through a good process for pushing changes. Thanks!
Hi,
Our team of 12 programmers and 9 artists -- all college students -- just moved from Git to Perforce. We extensively used branching in git but the lack of LFS made work pretty miserable. Yeah, we've been using git without LFS for 8+ months. 
Now we're in Perforce and have a "classical" depot set up. I've been trying to figure out how our workflow would translate from git to perforce and I'm really struggling to wrap my head around branching. I've been reading about streams, and they seem a lot like git branches we're familiar with, but I feel like I don't know enough to make a workflow decision that will affect everyone on the team. We've been having so many issues with VCS over the past year, it's exhausting.
What kind of workflow and depot setup (streams vs regular) would you recommend for a group of students trying to keep things relatively straight-forward so we can finally focus on developing our game? Please help me end this agony of fighting VCS 🙏🏽
You guys have the ~$9K per year right?
😭
The short answers are 1) you shouldn't use branching unless you really, really know what you're doing, and 2) streams vs classic is a lot of opinion but I think most people who move to streams find them really nice. They're good if you need to merge stuff from multiple depots, set up continuous integration systems, and give more power for a single perforce admin to manage users' project views
our school got a free educational license for us (after we bombarded the administration with emails for 9 months -- yay bureaucracy).
I doubt we'll have the time to set up all the fancy bells and whistles -- this whole move from git to perforce is already putting us behind.
But how do 21 people work on a single project without branching? It seems kinda scary, ngl..
Make sure coders don't submit code that doesn't compile, and fix it immediately if they ever do. That's just about the only issue
Definitely don't branch, the best thing I can suggest is keep the changes as small and self contained as possible, and use Shelving and multiple changelists to keep stashed versions if you're working in something big.
Seconding (thirding?) that you shouldn't really branch with perforce the way you do with git, and for a small student team you should probably just avoid it altogether. And if you're not branching then stream vs classic depot doesn't really matter, though streams are probably "better" if you want to look into branching at all.
One very important thing you should do - setup locks for asset files. Any unreal binary asset (umap, uasset, a few others im probably missing) or other binary source file should be marked as binary+l which will automatically lock the file so that no one else can edit it if you check it out.
There are some details here: https://docs.unrealengine.com/en-US/ProductionPipelines/SourceControl/Perforce/#p4typemap
With streams it becomes trivial for the perforce admin (you) to set up coder workspaces and artist workspaces which appropriately include/exclude binaries and/or cpp source. It's quite complicated to learn, be prepared to put your horse blinders on and research/study/experiment
Perforce in general I mean
I have a coder virtual stream, and a buildbot virtual stream... Artists just work in the main stream which has everything, the buildbot only has code source files and binaries, and coders have everything except binaries
What you do depends if your artists are all compiling code themselves or not
A long time ago I just made a batch file they could run that compiled everything, they just had to have VS installed but more recently now I'm using CI
also that typemap lets you set how many versions your server stores of each file type
@cyan jay Many thanks for the link on setting up an encrypted connection for Perforce a couple days back. Managed to get it working. No more plain text connection to our source control server!
ts(4187,5): error MSB3021: Unable to copy file "obj\Development\UnrealBuildTool.exe" to "..\..\..\Binaries\DotNET\Unrea
lBuildTool.exe". Access to the path '..\..\..\Binaries\DotNET\UnrealBuildTool.exe' is denied. [F:\4.26 Source\UnrealEng
ine\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]```
I get this error
when trying to generate project files
for some reasonm
this is for 4.26 source
nevermind
it was because of avast anti-virus
@remote cypress I can help you with gitea+git+git lfs setup
Hi. Brand new to UE. I need to point the build system at a different C++ compiler, but keep using a default C compiler. How would I do this? LinuxToolChain.cs seems to only point at clang or gcc paths, and doesn't distinguish between C or C++.
noob Perforce question:
Is it better to work with one Workspace and depot-per-project or workspace-per-project?
Depot per project is most common. Workspace is per user per machine, each user has a unique workspace referencing the shared depot.
But I can create more then one workspace on a single machine. Does this has any benefits? Will it cause problems?
The question is - why would you want to? What is it you want to do?
If you want 2 copies of your project in 2 places on your machine, then yes 2x workspaces is the way to do that.
I just want to understand what’s the best workflow is. Ultimately I want all my projects under the same /projects/ folder. So I guess 1 workspace with multiple depots?
Are you working with custom engine source?
it gets a bit more complicated if you want to use shared engine source, but if you're just using the Launcher version then you should have 1 depot per project.
Thank you noggs!
quick question on git merging: If the requesting merging branch has files that were deleted on the target branch (via another PR), does the merge then bring them back to life?
It results in a merge conflict, so you get to decide.
Hi all, I just initialized a git repo in my existing UE4 project and my .umap and .uasset files are no longer showing in the content browser. Does anyone know what I can do?
That's an lfs placeholder... do you have LFS installed?
Did you initialize LFS?
hello. i just lost a file and i'm going to have to spend some time recreating the blueprint because i don't have source control. so i figure it is time to get a source control solution. i'm really annoyed at my source control options because they're mostly all too expensive. i have a Vendor folder that is the biggest folder and it's mostly just filled with marketplace assets, so i can add that folder to an ignore list. what source control do you all recommend? i'm an indie dev already paying a ton of money in other areas, so i want to be frugal here
If it's just you working on it you can use git locally 100% free and self hosted.
Perforce can also be self hosted and is free for 5 users.
Personally I like perforce but it's up to you really.
You need to manage backups yourself though.
@lime nova well same here. I have a home server under Ubuntu and I'm trying to install the Perforce Helix Core server on It. That's the cheapest thing you can do. And you cannot beat Perforce Helix in term of integration with UE4, even with Git LFS I don't want to use it
If you don't want to setup everything yourself you can go with Assembla but you'll have to pay for this and to me it's not cheap at all when you see the storage you can get. So yeah we're in the same situation
anyway. Has anyone installed Perforce Helix Core server on Linux ? when I start p4d I only get this :
also i'm wondering if I can create stream depot directly from P4V GUI in windows or must I setup this directly on the p4d server (which looks to be more cumbersome)
I really need streams
I may add that Allar made a script a long time ago for auto setup but it's for an old p4d version
okay there's something wierd. I don't know if using p4d command alone is enough to start the server with my settings :
with p4d -h we get :
set, the server creates its database files in the current directory
and listens for client connections on port 1666 on all available
network interfaces.```
I have set the P4Root and P4Port variable. will p4d alone use those variables I configured or it'll still use the default 1666 port and P4ROOT like implied on this page ?
https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.unix.start.html?Highlight=start%20server
What method did you use to install p4 server?
Sorry just noticed the link you pasted. If you used the package install, and have run configure-helix-p4d.sh to setup the server, then you use p4dctl to start/stop the server.
If you did the non package version then I can't help you sorry.
I used the package install
so don't invoke p4d directly
oh man I think you come right from heaven
package version is great, but be careful updating via apt-get, sometimes server is upgraded and doesn't work until you run a cmd line conversion tool. Found out the hard way after updating and not reading the output properly.
I think I won't even try to update it then x)
I do regular snapashot of my VM and that's been very useful, tried several attemps installing it and broke it many times 😆
@hushed granite you use P4A to create depots remotely
In case it helps here's my copy pasta I use to launch my own server. You can look up the options ./p4d -d -In p4master -p 1944 -r /opt/perforce/servers/p4master
At least I think that's the right one. Haven't restarted it in eons lol
@cyan jay I think if we manage to do a clean and safe setup (i'm also trying using ssl and LDAP) then tutorial video on P4D setup on Ubuntu may be useful for other devs right ?
idk, the problem is those things get out of date so quick 🤷
Oh, yeah I can't remember if I used package or not - I just followed the official doc on it from a couple years ago
allars blog for instance, useful and is one of the top hits for setting up perforce, but actually is quite out of date now
official perforce docs are pretty good imo, but you also need to follow this stuff through as well (setting up typemap etc)
https://www.perforce.com/blog/vcs/how-use-unreal-engine-4-perforce#tutorial
So maybe there is room for a simple tutorial that does both these things? 🙂
I don't think you need to use p4dctl though, isn't that for controlling multiple servers
nice @woven sluice and thanks for the command. I see that you use type the port you're using in your command. Is it because you have not set $P4PORT ?
Yeah I simply prefer to set it while running the program instead of relying on some gvar
you should use p4dctl to control your server if you setup via package install
yes it can control multiple servers, but also fine for just one 🙂
@cyan jay I feel the same Allars blog has been really helpful but yeah it's an old post. I went to read most of the doc here :
https://www.perforce.com/manuals/p4sag/Content/P4SAG/Home-p4sag.html#
but I think a vidoe with all the process may be easier. Took me some long minutes to even get how to modify configurables and how to use another text editor than VM. Okay gonna use p4dctl
This manual provides information on Helix Core server installation, backup, recovery, tuning, and triggers (version 2020.2, released in November 2020).
What benefit does it offer? Where do the docs say this? (I would Google but on phone atm)
the doc for it :
it say that "The installation process automatically creates a master configuration file l"
The environment is setup for p4dctl config, so if you invoke directly you need to replicate your environment.
Running directly will still work, but you potentially have different env settings than you originally configured via configure-helix-p4d.sh
Really it all depends how you have setup your server.
If you use package version then you should run this config script and use p4dctl to manage it
omfg maybe I should have start reading the doc from the bottom up
ok that's some nice info
p4dctl status -a will list all perforce server instance you have configured, e.g.
root@perforce:~# p4dctl status -a
'master' p4d service is running.
then I can do p4dctl stop master etc
Thanks
package version also enables some cool stuff by default too - nightly checkpoints for example
useful for backups
🙂 no offence intended @burnt shadow - in fact the indepth provisioning details is good
anyone here have an opinion on git lfs vs preforce
Unfortunately it's not really a simple answer, primarily because it depends on your requirements.
perforce is better, no question, but... You have to know how to host it (assembla is the only cloud hosting service for it and it's $$), and if you have > 5 team members it's $$$.
Git lfs is good enough in most cases, but has less artist-friendly tooling and isn't quite designed for the workflows usually used by games.
Hosting provider also drastically changes your LFS experience, as every single one has different restrictions on size/bandwidth/etc.
Git & Git LFS is pog champ
How long does it normally take you guys to run Source Control -> Submit To Source Control with Git? It takes me around ~2-3 minutes every time, it feels very bogged down. I'm contemplating turning off the plugin and just using Git for Desktop since it detects changes instantly, but if this isn't supposed to be the case that'd be great.
Hi. I have a server for my source control collaboration with friend. But idk how to setup perforce on it and invite friend to workspace. If someone can help, ping please!!
Yo guys im a bit new to GIT & combing it with unreal. I started to get the hang of it, but now am having trouble because it says my updates are multiple commits behind
Pretty much messed up my git bad for me and my buddies, if anyone could assist on a restore to an older point and help solve some issues I'd be more than greatful to pay for some of your time (20minj)
Yeah Allar's blog is still very usefull to have a better grasp of the process
@jolly fog That's exactly what I'm trying to achieve. noggs advised me to use p4dctl see here :
I'll let you know what's up. I have a VM specifically for Perforce. It runs an Ubuntu Focal LTS, I think it's one of the easiest distro to install the necessary package easily
@cyan jay I can't use "p4dctl -a" to start the server because of this error :
just to try out I went on the insecure way and I gave full permission to everyone on the folder using chmod (chmod 777) and umask or default files (umask 000). It doesn't solve the issue
I don't remember any issue like that... I use 18.04LTS but I wouldn't expect that to make a difference.
Did you try 'sudo -u perforce p4dctl ...'
Gonna try some more things if that doesn't work I'll reach out the support team
So me and a friend of mine have recently decided to learn UE4, and try to create a project together on the side. Things are going well, and we're really happy with the progress we've made so far but our workflow is extremely inconvenient at the moment, since only one of us can edit the project at one time, otherwise github just tells us there's a conflict and we cant really do anything about it, even if we've worked on completely separate parts of the project. Is there some kind of way to avoid these issues, so that we can work on the project at the same time, even if it's just us working on different parts within the same project, without hiring a dedicated server ?
setup git lfs and locking
You can use our version, which multi-threads the locking/unlocking process:
itll take around 10 seconds at most for the full process
oooh interesting, thanks! I'll give it a shot
@quaint obsidian yeah it's way better, thanks
So I have a few questions about setting up UnrealGameSync. Does UGS handle the precompiled binaries for the engine as well as your game projects? If so, should the engine binaries be excluded from perforce?
Do we agree that Derived Data Cache is not mandatory to share a build engine ?
What i mean is : what is the utility of DDC ? it's reduce first opening time ? it's shader compiled ? i can share my custom engine without ?
k:\P5\New folder... - file(s) not on client.
Anyone had this issue with P4V before?
We need more context, what are you trying to do? What's not working as you expect?
Hello, thanks for the reply but we solved it, we were using Ubuntu version and we were not familiar with it, probably we made a mistake with depot path. After changing the path it started to work
Can I somehow update the whole perforce depot with my current version?
Hi, could anyone explain how to diff blueprints from Perforce?
@cyan jay hey man. Do you have any idea what's going on with the permission issue ? Do you think that with a umask 000 it must work right ?
Heya, is anyone here using Nvidia Omniverse for their project?
Reconcile Offline Work will find all the differences between the depot version and your local version. Just be careful 😁
I'm sorry I don't really know Linux that well but I'll check my server when I get the chance and let you know.
What folder are you talking about?
I think something is misconfigured - why is it looking for a /home folder?
On my server the perforce user doesn't even have a home directory.
What does your /etc/perforce/p4dctl.conf.d/main.conf contain?
@cyan jay is there anything bad that could happen?
Anyone ever used Reconcile offline work?
yeah it's fine, nothing actually happens until you submit.
But I always like to double check everything it proposes in case some things slip in there that I didn't mean to.
e.g. if your p4ignore is not setup properly you might end up committing a bunch of intermediate files, etc.
I encourage my artists to use it on the Content folder periodically, or if any missing links occur
it's shaders, textures, niagara, some meshes. it will be generated locally if it doesn't exist, and usually will take less time to generate than to download.
you probably figured this out already but I feel bad that nobody replied to you, so: ... you can't, sorry. you can diff BPs within unreal and attempt to manually merge them, if you really have to. otherwise, you shouldn't get into this situation in the first place (anymore) 😦
@cyan jay this Perforce folder is inside my main user /home folder. Mmmmh maybe that's a bad practice ? Even more thinking about that as we're talking about a user accessing a folder from another user
that's what I have in my config file :
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Yeah you want p4 root not in the home directory probably
ok gonna change that noggs
with man p4dctl.conf they say you can even set the umask inside the config file and that it should be 077
@cyan jay yeah man you were right, I moved the P4ROOT to /opt/perforce/myrepo
Thanks for the reply. I see. I was ending up with that same conclusion. I found some forum posts for passing a command line argument in P4V in the diff settings to directly open any revision in Unreal's blueprint diff tool, but none of the methods worked for me on 4.25.
noggs 1 thousand thanks for your advice with p4dctl and all the things that comes with it. I'm having a 255 status code I think it's just related to SSL and/or authentication as I haven't set anything regarding this yet. I have a question tho : after finishing this setup with p4dctl can I create a stream directly from P4V on windows (and eventually make some configuration with P4Admin) ? Or will I have to setup all this from the server (there's nothing regarding streams in any of my config files afaik)
is it possible to set git up so that it only uses the remote repository to track files and doesn't keep a local copy?
how would that work
just load your project from the cloud or something?
that would be strange
Nvm, figured it out. Got it to work now. I didn't know how to specify the project path in the required command line argument.
So I finally got UnrealGameSync working with my project. The only issue I'm encountering now is that all my custom plugins throw the Plugin is not compatible with the current engine version warning. Do I need to do anything special with custom plugins to prevent this?
Hmm it looks like if I just remove the EngineVersion from the .uplugin files, the warning goes away...not sure if that's good practice or not though
having no luck with perforce and wondering if directions are a bit 'off', anyone else having any luck with it ?
I already set console variables as directed, but clicking perforce on source control button in UE4 UI, and it can't connect TO it
ie: Click the source control button.
Select change source control settings.
Drop down the provider menu and choose Perforce.
Click accept settings.
nadda
Failed to connect to source control. Check your settings and connection then try again.
nvm I got it https://docs.unrealengine.com/en-US/ProductionPipelines/SourceControl/Perforce/index.html
How to setup Perforce so that you can share assets with other on your team.
So I think I'm on the right page now, but now, given Im creating world comp worlds, landscapes and materials blah, is it enough just to add 'Content' DIR and call it good ?
ya seems to, going for it lol
Tbh if your team is like 2-3 people google drive might not be terrible since most of the other source control options can take some time to setup
I keep getting this error:"You should set your workspace up to map to a directory at or above the project's directory.
, but why does it have to got here, I thought I could put workspace anywhere I wanted to, like on another drive where there is room ?
acc to: https://docs.unrealengine.com/en-US/ProductionPipelines/SourceControl/Perforce/index.html, I sb able to ? " To create a new workspace, right-click in the Workspace window and select the New Workspace option. Then enter a name for your workspace and a location where you want the files to be on your local machine, the Workspace Root."
yA tell me about it perforvce, svn plastic they are all a nightmare to setup
you'd think by now the process might be more straight fwd ;0-
Google drive sounds like it would be slow though , many of them are,,,is using GD 'easy/easier' to setup with ue4 for SC ?
@outer kiln I'm currently working on setting up a perforce server on a dedicated machine and it's quite painful. If I get it right I'll do a tutorial video
ahhh wow ty how nice, ok good luck then ;))))))
I wondered if it was just me, guess its just not easy---
I just have this computer tho and maybe git/github so dunno, but anyway any info is good ;))))
good use of the decentralized nature of git :)
I tried git/gitdesktop, but I got nowhere even using doc page which is REALLY OUTdated 😉 many are!!
BUT I found this hoping it works https://www.youtube.com/watch?v=FXMTHrLWFKQ
Source / Version Control:
This playlist will cover multiple ways to work with source control with UE4.
This Video:
In this video, we cover all of the steps required to get a GitHub repository and the Git desktop app working with the Unreal Engine. As an extra, I also cover setting up the in engine support of Git for quick and easy integration ...
err github I mean
haven't watched it but I really recommend LFS for git or things will broke pretty quickly, make sure he uses it
lfs ?
too bad git is still beta ish afa epic is concerned
as in SC
linux from scratch ?
LOL large file storage ;0-0
haha
geekdom fully verified ;l0-0
HM interesting ty for lfs mention
Finally got source controll working ;))))yaaa RELIEFFF
git/github and followed this in caSE it helps anyone else https://www.youtube.com/watch?v=FXMTHrLWFKQ
Source / Version Control:
This playlist will cover multiple ways to work with source control with UE4.
This Video:
In this video, we cover all of the steps required to get a GitHub repository and the Git desktop app working with the Unreal Engine. As an extra, I also cover setting up the in engine support of Git for quick and easy integration ...
oops double post sorry just noticed,,anyway---
@outer kiln nice ! same with perforce atm. tell me if your satisfied with git LFS in the future
ok will do, ty ;))
ah man I so gave up on perforce, watched too many tuts never got anywhere , so frustrating
one video with github/git and bam instant success FIRST time ;0-0
I wish you much luck getting perforce working, its default
well noggs was right. You have to use p4dctl to install it. that wouldn't take much time to install perforce after you do it once
no idea who noggs is, guess I missed that one
but HMM
Ya I really tried, hoped I could use it as its what epic uses so iit can't be all bad lol ;))
so whats the rub behind p4dctl anyway ?
I mean whats the magic :))
wait I did have that installed, still couldn't get past darn error about something being in wrong directory
I mean gez, if something is THAT good , why isn't it easier to use so everybody can try
use/install whatever ;)()
anyway
I think that was it anyway, I downloaded what was recommended for small teams
HMM wth: p4dctl can only be obtained as part of a Linux package installation.
I'm bored maybe I try it 'again' o_-
I did git add . and git commit before adding the gitignore file, and the files in the gitignore are still trying to be pushed, how do I fix that?
thanks, I saw a similar answer but I had to ask I didn't want to mess up
Does anyone know how to make P4V not set important files to Read only? (some files like C++ classes, and files in the Intermediate folder, which causes errors)
Don’t think you’re supposed to have the intermediate folder in source control anyhow
nvm fixed it
yeah don't put the intermediate in source control
Hey ! Does anyone know how to have perforce not ignore paid for plugins (in the installed section) while still ignoring the rest ? Thanks ^^
anyone know how to clean a git repo of untracked files but keep dependencies so I dont have to download them again?
just add those specific plugin folders
That's the thing, I don't have a "plugins" folder. I have them attached to the engine and to the version but not to the project itself
Move them into a Plugins folder of the project instead (some plugins dont like this and may require changes)
@outer kiln if you want we can set up a call and you share you screen
And I'll try to helpout
Having an issue with P4v hanging on almost every command after I did a "make writable" through the p4 unreal editor plugin for a map that was locked by someone else. Restarted my machine, tried p4 clean(Clean hangs indefinitely). Tried running the command line instead(still hangs indefinitely), server connection is fine. Server is not stalled it seems. Get Latest Revision seems to be the only thing that didn't hang. Submit, Move to new changelist, reconcile, clean, revert commands all hang in both P4v, unreal or command line for this workspace. Different Workspace works fine tho...so somehow my workspace seems to have gotten hosed?
try to force-sync your workspace - it'll redownload everything.
It's possible the havedb is screwed up and the server doesn't know what revision of files you have in your workspace - force syncing might fix it.
in general marking something as writeable outside of perforce won't screw things up (in fact it's not an uncommon practice if, for example, you want to play around with an idea without blocking others from working on an asset), so it's unlikely that in and of itself is what broke your workspace.
Hellooo Unreal Slackers!
I reckon this thread has a lot info on that already, but.. what FREE source control options are there for versioning Unreal projects, especially looking to merge blueprint changes?
I wasted a few days now, tried hosting a P4 server but am too restricted by my ISP to get it working.. Saw Helix Teamhub, but it only allows Git, Svn, and Mercurial hosting.. wth am I supposed to use?
git lfs or svn
don't use helix teamhub, there are better options
and ones you don't have to host yourself
github, gitlab, azure devops, etc
it seems it's pretty useless anyways as they don't provide perforce hosting..
assembla provides perforce hosting but it's $$$
in general, only use perforce if you know what you're doing with selfhosting or if you have money
idc about Perforce actually, I'd prefer git, but is there functionality for BP merge conflicts?
Perforce does.. to some extent
it does not
it has locks
which you can get in git lfs
you can diff certain blueprint assets (pretty much any "normal" blueprint, but not animbps or anything else that's another asset type with an embedded bp graph) but that's an engine feature, not something perforce provides. And it does not let you merge - you'd have to do that manually.
I suggest looking into Git LFS. Every major git provider supports it with varying degrees of limits and prices.
alright.. so basically you're telling me working with BPs in source control sucks and Perforce doesn't help either? I wouldn't know, only used it in last years spring jam
Working with any binary asset in source control sucks. The solution is locking files so only one person can edit it at a time.
which both perforce and git (via lfs) support
unreal's source control plugins support locks as well (not sure if the built-in git plugin does, but there are a few other git plugins floating around)
alright.. I did not notice that
so basically there's no disadvantage when using git instead of perforce?
there are disadvantages... worse tooling if you aren't already familiar with git, LFS still isn't quite as good as perforce for large binaries... but for a small project it's really not going to matter.
well thanks a bunch for the intel, kind sir!
do we know why BPs have to be binary instead of just being.. XMLs?
All unreal assets are binary, it's just how things are
blueprints aren't special to the engine, they're just a form of asset like everything else (models, levels, materials, etc)
theoretically there's a text-based format (it's what gets used when you copy/paste) but you can't use it to store blueprints
I'm also not sure merging that would go very well, as blueprints aren't "linear" like normal code. Would be useful for small changes though.
well they should be.. actually.. coming from software dev, I think modern practices require text based solutions.. so source control can do its magic
kinda sad, that this is still a problem
but thank you again for clearing that up to me ❤️
Have you ever tried to merge a unity scene? It has a text-based storage mode and you really don't want to be merging large scenes
blueprint would probably end up much the same way
better than not being able to merge at all, but honestly it wouldn't help much
it'd be better if epic built a visual merge tool (based on the existing diff tool)
I reckon scenes being text based would not make much sense and merging them would be hell
but BPs? pure logic? wth not
BPs aren't pure logic though. They contain positional data just like a scene.
and code doesn't flow in an obvious order
yah well, that's just a bunch of properties
except in simple BPs
I mean, so are scenes
my point is "it's not that simple"
when you have a human writing code it's easier to write things in a mergeable way
blueprint data is not handwritten
yeah I understand that... if it weren't they would've already implemented it, no?
I'm just saying, as a software dev, I kinda feel a need for merging BPs
Thanks, the force get helped. Submitting was still broken after but it allowed me to Delete the workspace. Earlier I coudn't even delete the workspace because a lot of things were locked. Remade the workspace and resynced.
if something is broken, force sync usually solves it lol
yeah didn't want to resort to doing 10Gb force sync but had to 😄
How to push 5 commits which are more than 3 GB?
the push lock to 53% and there is no response from github
i dont want to lose my modifications
you should always use LFS with git and large files
your git limit might be exceeded
you can merge BPs with at least the git plugin if you configure it correctly
git it is then, thanks for the input all 😛
Hi, would anyone have a beginners guide on how to deploy the UGS's web api in order to enable all of its features?
I have ugs working already, but there are a lot of things on the page that I would like to get working. It needs mysql and some other stuff
Hum, someone know if with perforce we have the possibility to make a folder writable (and all the files inclued) ?
How to get a faster connection for pushing commits on github? i have only 200 KB/s on pushing , my fiber connection is 50 Mb/s on a speed test
@tiny ore folders don't exist in version control, but I would imagine if you right click on a folder and use Change File Type in p4v it might apply it to all currently existing files in there. You can use Type Map to automatically assign modifiers to new files
Have to ask. Why do you want to do this though, there are only a couple valid (usually still questionable) reasons to use this
https://github.com/SRombauts/UE4GitPlugin
Have you guys tried this? it supports BP merging
and git lfs
I feel like this (and mastercoms showing it a month ago) has been ignored because it isn't getting showcased enough in here. Also because it feels too good to be true 😄 I wonder how bulletproof it is? Monumental development for SC if it really works. Except y it no in p4 
Thanks !
The reason is : there is file who is modified by compiler who need to be writable to avoid checking out
use rider for unreal, not clion. Also, wrong channel.
oh whoops sorry.
Hello guys
My collaborator and I use github desktop
and the project is private in github
but now we have problem with animations and I want to reverse update
but I can reverse commit but not update
anyone?
you can either force push or use the revert commit option and then push
so how do i actually use git lfs for assets? all the files are uasset
there's a short tutorial here: https://stefanperales.com/blog/unreal-engine-4-and-git-lfs/
there are a few different git plugins for unreal, the built-in one works but I think there are a couple better third-party ones
also, github will work fine with lfs but has storage limits unless you pay. There are other providers (gitlab, azure devops, etc) that have different free plans and pricing options so you may want to look around a bit first. Or not, it's easy enough to move from one to another since it's git after all.
you may also want to setup locking for asset files, some details here: https://docs.gitlab.com/ee/user/project/file_lock.html#configure-exclusive-file-locks (gitlab documentation, but this is true for any provider with support for LFS 2, which all the good ones do)
Hi,
What's the best cloud service for backups of my source control?
Depends what source control and setup you are using
My MAP is modified and pushed by LFS every commit and so each commit is > 700MB
What can i do?
Don't save the map (or don't stage it for commit) if you haven't modified it
If you enable locking you'll also be prompted before trying to save.
ok thx @merry verge
I have another question , when i push it starts with a speed of 5 MB/s and after 10 seconds its 200 kB/s
i push to github
have a solution?
maybe using a proxy?
a proxy won't speed things up
Hello,
I'm facing a problem and would really appreciate some help. I need to work on a project that is on github and is quite big (UE4).
I have LFS installed but when I try to download the repository it's tiny. All the files are just 1kb. Can anybody tell me what I can do to fix that?
I'm new to p4 streams, if I want to create a branch to migrate to 4.26.1, should I create a new regular dev stream or a branch stream would be fine still?
@fresh vapor Did you follow the instructions here? https://docs.unrealengine.com/en-US/ProgrammingAndScripting/ProgrammingWithCPP/DownloadingSourceCode/index.html
Steps for connecting to the source code repository and downloading the latest build of Unreal Engine.
I'm thinking using a branch for migration is going to be better..I don't want to have to download all the assets again..?
@coarse coral that is for the unreal engine source code, I need to work on a project hosted on github (an unreal project, not unreal itself)
try running git lfs pull
no you can do it automatically on a pull
sec
by default it does that I think
did you set GIT_LFS_SKIP_SMUDGE=1 maybe?
if you did that put it back to 0
@rotund bobcat I don't think I did
I never used LFS before actually, I just installed it ..
I don't think I touched anything there at all
try running git lfs install --local maybe just to be sure
that updates your project gitconfig isntead of your global gitconfig
or
you could also do git lfs install --force
I think that should override the global
@rotund bobcat thank you so much!
I don't know if it will work, when I install it it tells me that it's initialized
I don't know if I have to pull it manually every time
just try it next time
and if you ever have a 1kb file again you'll see that the asset is just not there or it will give you an error that it couldn't load it
then you know how to fix it at least
So has anyone here enabled LFS for an existing repository?
I have another question , when i push it starts with a speed of 5 MB/s and after 10 seconds its 200 kB/s
@limber vigil
Looks like the connexion between you and gitlab servers isn't great. If you're using HTTP decreasing speed = stability issue
@coarse coral i would do a branch for that
To upgrade to 4.26.1 from what though? Branching is useless, why not KISS and just update your project and go?
Yeah honestly don't branch unless you really know what you're doing. It's a pain and for small teams it's better to just stick in the same branch.
Also, P4 branches and streams are different things. P4 streams are closer to git branches.
I stream branched, probably didn’t need too, just thought it was going to be more an undertaking to convert but I’m done already:p
branching is the easy bit - it's merging that's hard 🤣
What is the best source control option for a small team?
Is there a way to revert a submitted change list from Perforce?
I Accidentally Submitted a changelist that deleted by .uproject file and im trying to recover it currently
Probably a self-hosted free (up to 5 users) Perforce server
Quick question...I´m working on a shortfil and set it all up for perforce, hosted on an online server.
I´m now thinking about switching to the next UE4 version (from 4.25 to 4.26).
I found this online, is this still the best way?
https://www.reddit.com/r/unrealengine/comments/6vt40d/best_way_to_update_to_a_new_engine_version_in/
1 vote and 4 comments so far on Reddit
Currently making a backup of the local project, so I can´t even try if right clicking on the uporject file works...:)
if you're using binary versions you should be fine with jsut right clicking the project and changing version then regenerating solution and recompiling
I assume that just applies to games, this is a shortfilm project, so no coding in here.
As long as you're going up, you should generally be fine
Ok, cool. Waiting for the magic 39% to finish now...:)
And If I encounter problems, I just revert the uproject file via P4V...AND all the files changed after that date?
hi does anyone know how to set up the unreal team collab feature...for version control/?
I was wondering regarding umaps, is it possible to diff them. I can diff blueprints, and some other assets, but maps don't seem to work when I try to diff them using "Diff Against Depot"
I just noticed that there was almost a 1kb difference on the map after editing a blueprint (and not the map itself), and really want to keep an eye on map changes as they can be a source of irritating bugs when something small you don't expect changes. Also just so that I could understand just what it is the editor is automatically doing on my behalf.
branching is the easy bit - it's merging that's hard 🤣
@cyan jay
Well haven't thought much about that
im new to source control and am using source tree to push to github
i cant push these things
it gives this error
not sure how im supposed to explain this
the error message is pretty clear
you're over your data quota, you need to either buy more storage or move to another host that has higher limits.
ooooooooooo
ok
o frick
thats not good LMAO
im only on the 5th episode of like 70 of this tutorial
LMAO
So I'm following the "Version Control Fundamentals" live stream, and they say at some point that Subversion and Perforce are basically the version controls to go with. They also said that Perforce is the industry standard. Is this still the case? And if so, they said it was free for up to 5 users and I see being mentioned on the website of Perforce up to 20 workspaces. Is this also still the case or are there any other limits I should know about? I wasn't able to really find anything else. Is it simply that only companies that have entire teams need to pay for this and they make their money off those teams so that small / individual persons can use it for free assuming they have their own host?
It's free for 5 users or 20 workspaces, no other restrictions. It's fine for small teams you just need to provide a host.
So ideally it would be better to learn and use Perforce's product if you can?
I'd recommend perforce
Alright, thanks for the answers! ❤️
I'm halfway thru recording a video on setting up perforce but don't hold your breath for it, sorry!
No worries, I'm not really in need of setting it up yet. First want to look a bit further at how it all works and functions. Nevertheless awesome that you're making a video about it!
I'm sure I'll be able to figure it out though, it can never be that difficult 😛
I hope
it's really not, 2 most important resources (assuming using Linux host):
https://www.perforce.com/perforce/doc.current/manuals/p4sag/Content/P4SAG/install.linux.packages.html
https://www.perforce.com/blog/vcs/how-use-unreal-engine-4-perforce
anybody here using straight git lfs for a project (no perforce, subversion, etc...)? I'm using that with gitlab's 10GB free limit to set up templates and such. However, I've run into an issue where previously tracked files which are then untracked become 'orphaned' and take up storage space even though they're no longer being tracked in the repo. Anybody have an idea about how to identify and clean up these files to restore storage space? Cheers
Seemingly the only robust option is to go nuclear, and start a new repository
If you keep running into the storage issue, you can run your own git lfs server in the cloud using Estranged.LFS. You can then store all you need and only pay for what you use in storage and downloads.
thanks @dense bloom
unfortunately seemingly no way to clean orphaned files in git lfs?
if they're not referenced in any commit they should be gcd over time by themselves
but as long as something in your history poitns to them they'll remain
hm I wonder when they will get garbage cleaned
hi guys.does anyone have idea why the UI in android looks way different of that in editor and other android apps.its white background is dull.does anyone has any workaround this problem
wrong channel
did you remove them in commits/history (using filter-branch or git bfg)? untracking the file types is not enough. you can run housekeeping on the repo once you've removed them from your commit history
what source control would you guys recommend for UE4?
perforce is probably the best option
but is costly at more than 5 users
but can be self hosted for free under 5 users/20 workspaces
@rotund bobcat ye I have only 3 users for now thanks
Could using Perforce affect the cache? A user is saying that shaders and such now need to be refreshed much more frequently
no
your DDC should not be in source control
and if you're using a sharedDDC it would also not be affected by perforce
I figured
Could it be a case of shaders being changed and recompiling once those changes are pulled in
yes
if you pull in shader changes it will recompile them locally
except if you use a shared DDC in a centralized location
Overview of the Derived Data Cache and the storage of assets in formats used by UE4 and its target platforms
It's free for 5 users or 20 workspaces, no other restrictions. It's fine for small teams you just need to provide a host.
@cyan jay we now have unlimited workspaces
Does anyone know how I can check in a file that appears to have been checked out; but I cannot check back in under pending changes; using plastic SCM?
Did they change that recently? I'm still seeing a 20 workspace limit listed all over their website.
I think you're on the old documentation
I can make a mistake but i'm 95% sure that the workspace limit doesn't exist anymore
Not looking at documentation
Helix Core is always free for up to 5 users and 20 workspaces. Try it out before you roll it out to your team.
that's what you get if you click the "try for free" button on the helix core product page
Oh there's definitely a limit stares at server with 19 workspaces 
Hey everyone, so I'm trying to use Google Drive to share a small project with another developer. They say when they open the project on their side, it's just the blank floor. I thought transferring all the game files would be enough. Is it not?
obviously when I open it on my end, everything shows up like it should. And I checked the folders I uploaded and everything is there.
generally yes as long as the necessary project folders and uproject file are copied over it should "just open". however, one must also ask to be sure... this isn't for any teamwork collaboration right? you're only just giving something to them so they can check it out? @fast bolt
are they opening the project on the correct level
I've seen somewhere for the unlimited workspaces it looks lit's true when you have less than 1000 files. But if I recall well we can now have unlimited workspaces and other pages are obsolete. Anyway I'll a talk with Perforce team soon I'll ask them
this one so response says what you're saying but their link is dead https://stackoverflow.com/questions/16694415/perforce-how-many-clients-can-i-create
Thousand file license existed for like a year or two a long time ago, I think
Yeah that answer is from 2013...
You are correct. I wanted them to see if they could fix an issue I’m having with sequencer, but it’s not us building a game together
hello everyone, may I ask what is the best source-control cloud storage
I'm new to this
May I say perforce ? Other option is git lfs
May I thank you sir for your suggestion
Assembla is perforce on the cloud. It’s good, but not cheap
we are only two developers right now
Workflow question for you guys working with source control, when you do changes to a master material in UE4 and submit it onto perforce, what exactly happens with all of its instances?
I know everybody that gets the new version of the master material will have to recompile their shaders
but it seems to want me to check out all of the material instances that are children of the master, which is... all the materials in the project
which I feel definitely shouldn't be a thing
Depends what you change in the master material. As long as they still work, you don't have to check the instances out, as the serialisation will handle new members, deleted members etc. Next time someone edits the instance it will pickup the changes to the master.
beginner question: I established the project, how to add collaborators?
also beginner question, how do I get rid of the yellow (!) when submitting to source control
what source control, what host, what GUI?
source control is not 1 specific thing, so hard to answer your questions without more info
Would you guys have any recommendations on which Git GUI to go for?
- GitKraken
- SourceTree
I am currently using Github Desktop which is very reliable but doesnt seem to offer the features that source tree and gitKraken do. But I just have no idea which is either more used in the industry as well as which is more effective. I just know they are both hugley popular, SourceTree seeming to be more popular and utilized
never used gitkraken but sourcetree is really good imo, and the ui is completely free, while git kraken has some limitation ons the free version
what is the difference between github and Perforce helix core?
github is for git perforce helix core is for perforce source control
2 different systems
git is decentralized, perforce is centralized
So which one is more suitable for game development?
probably perforce
since it's better use case for binary file systems
which unreal uses a lot
for maps, assets and the bunch
however
if you're more than 5 users, perforce can become quite expensive
we are two
also, initial setup for perforce is a bit complicated at times
I find github desktop UI a lot simpler that's why I'm asking why developers here prefer Perforce
yeah true, it's complicated, I barely know how to add user(my teammate)
mainly binary file merging issues
since perforce is centralized it's easier to lock a file so that only one user can update it and stuff like that
maybe useful video https://youtu.be/JxXydvG4mlI
also this, but it is quite old so has some outdated info #source-control message
yw
@cinder vigil I am running Windows and use GitExtentions and TortoiseGit. GitExtentions offers a pretty decent UI while TortoiseGit offers a nice context menu while in the file manager.
Thanks! I actually never heard of TortioseGit 🙂
Having issues with source control not working after migrating storage device to a new computer. I can log into source control successfully, and access it through windows file explorer to check files out. However when I attempt to check out an asset within UE4 I get the following error. Using Tortoise SVN version: 1.14.0.28885 (64bit) Please ping or DM me if you have any insight on this.
Additionally when checking the source control log I see the following. Yet it lets me log in with my credentials and says successfully connected in the bottom right corner.
Hi, I'm trying to ignore everything on unreal project except TestProject/Content/Assets but it doesn't seem to work.
i tried to follow these examples https://stackoverflow.com/questions/987142/make-gitignore-ignore-everything-except-a-few-files
I want commit what's in Assets folder only
/* I have seen this example in the link above
im using git + lfs. using sourcetree. new to it. i accidentaly tried to push before pulling and now i've create a branch i never wanted. looks like this:
i would like to put the most recent commit of the blue line onto the red. (there are no conflicts or anything there, they change different files).
anyone know how, or what keywords i could google to find out?
You want to look at rebase
I would suggest always adding a backup branch just so you can get back to where you currently are.
git branch backup_branch
git rebase origin/development
That should end up with your latest commit on top of the one at origin/development
Please do make sure you back up everything first!
thanks @sturdy lake
i ended up using the backup and accepting that there is a pointless merge and branch in the history... i think that works fine. but kinda ugly. the issue was that i had tried to push before pulling, but i dont understand why that was an issue. although im not even sure that it is an issue. for all i know, this is just how you use git
The pushing before pulling wasn’t the issue. The issue was that you committed before pulling
The push failed because you hadn’t pulled first, so your local and the remote were split
if the push failed, wouldnt it make more sense to do nothing? 🤷♂️
It didn't do anything
It simply fetched the commits on the server but it didn't make any changes
The solution is to rebase
The whole point of a distributed version control system like git is that you don't have to be in sync with the server (if you even have a server). The result is that you can make commits without having the latest data.
So something changed on your server ("origin/development" represents the development branch as it is on "origin" which is your server), but at the same time you made changes locally. Fetching from origin means that origin/development has now diverged from your development branch because you made changes at the same time. The solution is either to rebase (which replays your local commits on top of origin/development, as if you had the server's changes the whole time) or to merge.
this is perfectly normal and you didn't do anything wrong except not following through with your changes and rebasing or merging.
ah, thanks a lot, @merry verge ! 🙂
Hello, I am trying to ignore saved folder with Git. But even if my gitignore file includes Saved git keeps track of saved files.
How can I solve this?
I see but it still makes new additions
For example I can see the log in my project change and tracked every second
It is in saved and I put it in .gitignore
it appears as a diff to something existing I guess not sure
how can I reset it to not commit?
So if I delete the whole saved folder and commit then it won't track?
when I do that it still shows me the saved folders in commit
I don't think it will work
changed folders
oh it shows them as removed alright that makes sense
@jolly fog that worked! thanks a lot
when I get a clone of my project from a working repo I lose my map and can't see it in project but it appears in explorer. I guess this is about git lfs. Is there anyone with the same problem and solution maybe?
if you haven't before, run git lfs install
I did
try running git lfs pull
It gets all the other files
it gave an error
Checkout error: pointer parsing: Expected key oid, got <<<<<<<
Errors logged to C:\Users\ALIENWARE\Documents\Unreal Projects\copyrep\Qimera2.git\lfs\logs\20210224T032635.254884.log
Use git lfs logs last to view the log.
Checkout error: pointer parsing: Expected key oid, got <<<<<<<
Errors logged to C:\Users\ALIENWARE\Documents\Unreal Projects\copyrep\Qimera2.git\lfs\logs\20210224T032635.3422021.log
Use git lfs logs last to view the log.
How do I upload a whole project to github?
Putting your existing work on GitHub can let you share and collaborate in lots of great ways.
also you probably want to use git lfs
and google for a ue4 specific .gitignore file
ant make sure the .gitattributes is set up correctly before pushing the first time so that you lfs is well maintained
thank you, I'll check it out
Hey everyone, I am trying to use Perforce for a UE4 project with a team of two other people. I am thinking of just using a local server and having them connect my PC running the server (seems like I may need to ensure they can connect to my router - looking into that)
I have a couple quick questions please if anyone knows the answer:
- What files should I make sure to ignore so our depot doesn't become cluttered with necessary files?
- Would it be smarter to just host P4V on AWS' free tier?
We are a small team making small games
@novel stratus hi, I am no expert, but I would definitely start with ignoring these:
.vs/...
.sln
/Binaries/...
/Intermediate/...
/Saved/...
To the question on AWS free tier, be careful, because you are probably going to use some linux distro and I guess that you might use windows as the developing platform, there might be a problem with case-sensitivity, but perforce has special settings for that, it just takes some extra work to set it up. Also the free tier is only for one year I think.
This is a good guide to setting up Perforce for unreal. Typemap helps keep repo size down.
Look into p4 ignore for unreal for files to ignore.
Here’s a GitHub repo with a sample .p4ignore that could be useful:
Hi! How to setup perforce with team city via ssl? According the team city doc its requires perforce:// before ip:port but its not worked. https://i.imgur.com/6qGolVt.pngx
P.S. resolved by manual VCS setup
Looks like a bug - I'd suggest using the Manual approach to setup a Build Config, then manually add a VCS Root
thanks, Genius, its works!
Huge help here! Thanks all I very much appreciate it
@rapid coral it is one year - makes me just want to host the server myself if I can figure out how
( @rapid coral continued from #editor-scripting <#editor-scripting message>)
If you modify the blueprint in UE, decide to save it and make it writable only when the dialog pops up (do not check out), and then someone else checks out the file and commits changes, when you try to run Get Latest in P4V perforce will correctly warn you "this workspace file is writeable and may contain changes that will be lost, are you sure you want to overwrite this file?"
If all users understand how everything works, it works very well. It is not a hack or a workaround. It's the proper way to use the software with binary files which should only ever be owned for formal editing by one person at a time.
I think we both know how the system works and I agree with everything you say. I just tried to explain the perforce behavior in general, if you used for example Cryengine Editor, this would by all means be workaround, because as I said, there is a lock command for this. Thanks for the discussion 🙂
I mean... if you really wanted to do what I think you were originally asking about, it's simple: you just remove locking from uasset filetypes in the server's typemap. but you'll regret it 😄
well, after the discussion I am not sure, but I am probably gonna do it anyways 😄
In context menu I will add the "non-exclusive checkout" and basically everyone in the team can use normal checkout, but people who know what they are doing will have simpler life 🙂 (there will also be warning message "do not do this unless you know what you are doing", or something like that)
Oof. Let us know when you decide to undo this because someone lost a day of work, I'm afraid is all I can say. Good luck!
I believe that it will not be necessary 🙂 Cheers m8
When merging files between two different P4 Streams, why is opening a newly added file from a different stream cause the editor to ask you to write to that file?
'integrated' files remain read only to differentiate between checked out. You can either check them out,or reintegrate and manually merge your changes.
@cyan jay hmm why do I need to reintegrate them? They are already merged into the other stream?
is the editor just asking to make it not-read-only, and it checks it out for that reason?
Yes
I'm having issues connecting to the Perforce server (hosted on a PC on another network). Do you have to run the commands 'p4 set -S Perforce P4PORT=my-host-name:my-port-number before being able to connect to the server externally? I’ve been searching all over and they all use localhost to explain the server setup.
Any help is GREATLY appreciated, thanks
Hi @crude sun, can you connect thru p4v client to the server (or from command line)? Btw no commands are needed. And if you want to set the P4PORT env. variable it should store IP of the server you are connecting to and its port (you probably know that, I am just confused by "my-host-name").
Yeah, thanks for the reply @rapid coral. Yeah, that's the problem i'm having, connecting from client to server. I'm pretty sure that it's just a port forwarding issue but can't test anything until I can get access to the server PC again
you can try if the connection to the server is possible by: telnet server-ip perforce-port
Yeah i'll check once the server is back online
Anyone using a self hosted perforce with more than 5 users? I'm wondering about costs. When I inquired they asked to setup a zoom call to discuss pricing which makes me think it's not going to be cheap. I've seen others use plastic scm, which I'm on the fence about since it was bought by Unity and then also there is the option of SVN. I've never had to use Source control with more than a few users before so trying to figure out how to go and keep costs low.
@kind olive think word on the street is about $40/user/mo. if you're just barely over 5 users, it is definitely not possible to violate the user agreement and share logins and still each have your own workspace
Creative interpretation of licensing is not under consideration.
yep, time to open your wallet then or use something else
I think that was the very nature of the question.
I miss using a memory stick as my source control, and being able to see my project grow in download size every month xd
we used plasticscm in the past, I'm not sure how big your team is but I wouldn't recommend it for medium-large teams
I wanted to start working on my existing project with a friend of mine, I've been researching for like 2 days about what source control would be the best.
I decided to go for git/github/gitlfs, as it seemed to be the best option (since its a hobby project for now, id like to not have monthly costs because of it). From what I've read Git is free if I make it public, but when I try to publish my project it tells me this:
batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
So is it not free for public repositories?
If so, what would be a better option for a bigger project (45gb) if I want to get a small team together?
Azure devops has unlimited storage but 5 user limit. Gitlab has unlimited users but 10GB limit.
does github have a storage limit though?
on their website it says this:
Free for public repositories
Included 500MB of GitHub Packages storage
Free for public repositories```
but my error doesnt fit what is written on their website
It's difficult to find, but they have a 1GB storage and bandwidth/month for LFS
You can buy data packs to extend those limits, I don't remember the price though
$5/month for 50GB storage and bandwidth
Ah yes I found it now that you mentioned it. This is problematic..
I'd consider buying a server and using perforce, but I have little knowledge of coding (followed a udemy ue4 c++ course), so I dont know if it might be too hard to set up a linux server as someone like me.
My solution for those limits is to use gitlab and split my project into submodules (which actually works out as my project is mostly marketplace content). That way I have ~150GB spread over ~100 repos. Definitely not ideal, but hey, it works.
I haven't considered GitLab yet, but I might give that a shot
thanks for your help brifsttar
Anyone have a Linode referral? About to sign up
Azure does not seem to have unlimited storage. Their page was confusing so I contacted customer service and asked them, the closest thing they have to a ec2 instance or something to run like a p4 server on has something outrageous like 5gb storage, after that you have "unlimited storage" but are billed based on how you access that data You can store an unlimited number of files and are billed only for what you use. someone please correct me if I'm wrong because from what I've heard of Azure it would really benefit, none of it seems to be true when I went to go actually go sign up
Azure DevOps != Azure. They are referring specifically to azure devops repos which do have unlimited storage for git.
What you were looking at is a set of completely unrelated general cloud products.
The page isn't particularly clear on it, but there doesn't seem to be any hard limit on repo size, just a suggestion that you stay under 10GB unless you use LFS (at which point the implication is that there are no limits on LFS storage) and rate limiting which really shouldn't affect normal usage.
Your confusion isn't unwarranted due to the asinine renames the service has undergone, but basically think of DevOps as a completely separate set of products from Azure, despite bearing the same name. The reason you got nowhere with support is because you asked azure support about a product they have nothing to do with.
Seems like it could get pricey though, storage wise
DevOps? Again, no.
it's free...
The cost for DevOps is per-user after 5 users.
The bit the other guy was talking about is for one of the azure storage services which has nothing to do with Azure DevOps.
in git, do i have to empty all my unstaged changes before pulling, even if no remote changes change any of the files i have changed? i just want to get the newest versions if files im not currently working on.
oh, there was a file we had both edited, nevermind 😅
Thank you, that makes complete sense. I will do some more research into this, I guess this cuts out needing to run a server instance if it’s just git lfs repos.
Unless you are hosting the repository’s in which case I’m confused haha, I’ll figure it out. Again thank you that puts me in the right direction
I haven’t used much of git with unreal, but I see a lot of people do. I’ve avoided giving it a try because I hear you can’t merge and diff the binaries unreal produces, which will get messy with collaboration.
Is that true? So many people use it that I figure there must be a good workflow for it out there
There's a git plugin out there that lets you merge blueprints specifically but I don't know how well it works. In general you don't merge with anything uasset - you lock the files so others can't edit it.
and to answer your other sort-of-question you aren't hosting repos yourself with Azure DevOps, it's like github.
there's full pricing info here: https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/
Ah okay that’s great, easier setup, although I’m not looking forward to manual file locking/on a team lol. Much appreciated.
I have tried the git plugin in unreal a long time ago, the visual diffing does work quite well but after many successful commits by multiple people (while using the recommended ‘.gitattributes’) suddenly something with LFS was failing to push to GitHub, we bought data packs, we couldn’t figure out the errors and decided not to use it
Manual file locking won't be too much of an issue - unreal should automatically prompt you to lock files when you try to save them.
and you don't need to configure locking for text files ofc.
It's free even with huge repos?
Yeah maybe the pricing I found was the same confusion you spoke of
I googled, probably ran into the same trap
The only pricing for devops is for additional users, test plans, additional CI minutes (or selfhosted runners), additional space in azure artifacts (not related to repo size)
Ah, I was looking at Azure Artifacts it seems like
Neat though, no real reason not to use it then
I chatted with them a while ago and they were pondering about offering some sort of cheaper indie licence. Might be worth a shot to mention it to them to see where they at.
hey guys just got multi user editor working, we have a large nas where i work was wondering if we still need source control?
what would happen if 2 different PC's opened the same project file stored on the NAS?
when I point my perforce depot to the NAS im hit with permissions error. but i cant see how to add credentials any ideas?
Operation 'mkdir' failed.
Librarian checkin v:\003-perforcedepot\depot\20118_32 sirius rd_base_r19_sba_gonzalo.ifc.sharedparameters.txt failed.
RCS can't make directory for v:\003-perforcedepot\depot\20118_32 sirius rd_base_r19_sba_gonzalo.ifc.sharedparameters.txt,v!
mkdir: v:\: The system cannot find the path specified.
Submit aborted -- fix problems then use 'p4 submit -c 19'.
Some file(s) could not be transferred from client.
Multi user editing has certain savings issues, use source control
@ornate willow agreed. any idea why how i can fix my connection to the nas?
I still don't understand how Epic didn't sign a deal with them for that. Epic is offering so much for free (the engine, marketplace content, Quixel, etc.), but when it comes to version control there's basically nothing. Even Unity realized this was a big problem and bought Plastic SCM.
This channel is a perfect example of that, since everyone is one the same boat trying to make something work while dreaming of Perforce.
Greetings. Is anyone here uses UnrealGameSync?