#source-control
1 messages ยท Page 1 of 1 (latest)
You can't resolve merge conflicts with blueprints. You can diff them through the editor, but not merge
I wrote a script for bulk unlocking stuff:
#!/bin/sh
test -z $1 && echo 'no argument' && exit 1
n=`cm listlocks | grep $1`
test -z $n && echo 'nothing to unlock' && exit 0
cm listlocks | grep $1
echo -en '\nHit enter to unlock listed files, CTRL+C to abort '
read
tofree=`cm listlocks | grep $1 | awk '{print $1}' | tr '\n' ' '`
echo "cm unlock $tofree"
cm unlock $tofree
I'm setting up a personal perforce server with unreal engine (I'm using a 3 streams approach: clean_engine, merge_engine, main_dev)
Once I unzip the ue5 engine download into my workspace and run setup.bat, when I got to do my initial submit, should all the files make it across?
Because I should only have to run setup.bat on one workspace right? Anyone syncing the project should only need to run generateprojectfiles.bat?
Anyone have a solid .p4ignore file that they swear by? Last time I tried to do this, I ended up giving up because I couldn't find a .p4 ignore that worked well. They always let files through they shouldn't and/or block files from passing that are needed.
This is the .p4ignore I've been working on based on trial and error. Let me know if anyone sees anything wrong with it.
So I just submitted my big project to the depot and I had the separate loading window
it was at like 20%
but then it just disappeared
and that bar on the right keeps loading
is it still submitting or what's goin on
how can I check what that bar is loading ?
anyone ?
Could someone explain simply what the 'restore' function does if UE crashes when something like the blueprint editor is open? Does it try to grab the last version of the file that was checked in? I'd think the last time it was saved would be default
is diffing level blueprints in the editor not supported? whenever i try to diff against depot it opens up the p4diff tool with 2 text files
Pushing to https://dev.azure.com/***/***/_git/***
Uploading LFS objects: 100% (991/992), 820 MB | 522 KB/s, done.
LFS: Client error &{%!!(string=https) %!!(string=) %!!(*url.Userinfo=&{*** false}) %!!(string=dev.azure.com) %!!(string=/***/***/_git/***/info/lfs/objects/ab10ff909c500ebc9346b4ff57ec6411ba08ce79300dc4d0adb56f993fd5bfe4) %!!(string=) %!!(bool=false) %!!(string=) %!!(string=) %!!(string=)}s(MISSING) from HTTP 413
error: failed to push some refs to 'https://dev.azure.com/***/***x/_git***'
Completed with errors, see above.```
anyone use source tree and azure?
the * is my project name just * it out
I have no idea what this error could mean
hey guys im trying to add a few files to perforce, but some of them keep saying "no files opened" and in unreal i cant check them out or save them (keeps saying theyre not in source contro) how can i fix this?
other files and foldrs were okay
Can i ignore the saved folder completely?
And intermediate?
The reason I ask is I am using a preset gitignore file from github and its including Saved and Intermediate when viewing changes
Yes to both, saved generally stores user data like their local editor settings for the project and intermediate is just build data
Configuration files generated by the Editor
Saved/*
Compiled source files for the engine to use
Intermediate/*
Plugins//Intermediate/
Cache files for the editor to use
DerivedDataCache/*
I have these lines at the bottom of my gitignore but its still seeing them as changed in GithubDesktop
OK. All git stuff needed to be in the root of the UE project
Why even have an ignore file
since I enabled source control, my game often freezes and takes long loading screens
what could be wrong
@radiant musk doesnt sound like source control should affect loading or freezing
thats not how source control should work
@outer cipher try doing reconcile offline work
right click the root and press that alternative
then they should be added to source control
I know, but this happens since I started using it
how can I disable source control ?
Everytime I launch the project, it's enabled
even after I disable and save
yes it turned out the source control was causing freezes
to be specific, "read only" files
disable source control... you sure you want to do that, cap? going to echo that source control should NOT be affecting play. it should affect asset editing, at least the first time you touch an asset and/or when you save assets
Which source control system are you using and on what platform?
On Windows Git, for example, you need to explicitly disable Anti-Virus software from scanning your source directories.
If you don't, they will scan files every time you swap Git branches, which could mean the file system is effectively locked while you scan 100s or 1000s of files that you've already scanned 100s of times before.
There is no need to anti-virus scan your own project source.
Super basic question, but has anyone come across any guides they find useful for using regular branches (not streams) in P4V? I found the minimal documentation unclear to me, at least so far, since it seems that they're pushing streams as the recommended workflow.
I did try following along with the recommended workflow of creating a stream depot in p4admin, but when selecting my new stream depot in p4v, I didn't see a Stream as an option under file->new. Ultimately I have very simple needs, so not sure I benefit from using them, but would try them out if I could get them working.
You really don't want to use classic depots if you don't have to.
Classic branches are "heavy" - they maintain a full copy of every single file they contain. These aren't like git branches where everything is lightweight and you can easily switch around branches a lot.
Task streams are the closest things to short-lived git branches.
As for why you can't see "new stream"... I'm not actually sure where you are in P4V in that image. What I can say is that you can create a new stream by opening up the streams panel (View -> Streams) and then right clicking in that panel and hitting "New Stream"
Also verify that your depot has this icon on it (the waves) - that indicates that it is indeed a stream depot. If you created a classic depot then you won't be able to use streams with it.
You have to restart p4v after making a stream depot in order for new stream to show
For P4, is there a way to reset the locks? I manually unlocked some files, and now most files are OK while some CPP files do not get auto-locked. Which then causes Rider to not track changes on them, and treat it as out of scope in some way
why would you use exclusive checkout on text files
Because it's not an issue right now
I've run into a weird discrepancy in the 'tracking level' of some files, and IDK what I could have done to do so.
The tracked files show as 0KB on disk, but the same directory has H/CPP flies that show up as using up storage. The 0KB files do mean Rider prompts for check out, while the size on disk ones do not.
I have two general Questions about "One File per Actor" (UE5) interacting with Perforce (Things I noticed):
- When I set Actors to packaging mode External it creates these symbolic IDs and stores data in external UAssets.
Now It is impossible to associate these IDs in perforce to their original Actor instance. What is the general best practice? Changelist management is almost non existent in Unreal, thats why my final Submission takes place over the P4V Client. - When I modify an Actor inside my Map it will not automatically store the data in the external Uasset. Only when I save the map, which prompts me to check out all external Actors aswell as the map, defeating the whole purpose of separating assets from the map. This really irritates me. Is there a way to reliably save the changes you did to external assets only without the need to checkout the map aswell?
Well, I just doubled-checked;
if I move a set of Actors in my map, it first popup up a "2 files need check-out!" (that I can use if I want)
Then, if I don't, if I hit the "Save" icons (or try to close the Editor) it popups a list of all External Actors to save
Well closing the Editor is definitely not an Option just to save assets. When I hit "Save" it shows a list of all External Actors and the map, eventho I did not change a thing, that is quiet bothersome when you have a huge list of external actors. So the whole process doesn't really feel very transparent and I am always wondering, if the changes got saved for the external actor. As for the first question, how do you associate your External Actor ID to the original Actor in the Level?
When I hit "Save" it shows a list of all External Actors and the map, eventho I did not change a thing
My take on this stay the same; someone changed the Actor Blueprint, without going though all the maps to resave all the instances / External Actors
And now as soon as you open the map, the Editor detects that all the instances are outdated, it update them in memory, and ask you to resave them
As for your first question, I think you answered it quite well already;
- either you use in-Editor Changelists as a way to see what you are dealing well. I strongly encourage this, as Epic Games is for OFPA. I feel the support here is quite strong, but I didn't use it in a game studio so perhaps am I missing some parts of you POV
- or you go the external way with the P4V, but then you deal with opaque binary files (but it's on you)
Greetings!
so i want to use git source control for my project with a team member
but would like to use a local drive on my PC to store the repository
what is the best way to go about doing this?
The team members need to be able to access a Git server that they can pull from and push to.
You probably don't want to set it up like you said.
You want one machine that is the Git server. Github, Gitlab, some custom Git server you set up.
Then you and your team members are all just clients to that server.
You will all have local copies.
When you want to share with each other, you push to the server.
so in my github desk
i take my project and use it to create a repository with it
then i find a git server to install?
You can set up your local machine to be an authoritative Git server, but personally I wouldn't do it that way.
Having an external authoritative server also provides an extra backup point so if your hard drive crashes you don't lose everything.
Look at Github or Gitlab. It's only a couple bucks a month for a private repository. If you don't mind your repo being open source and public, it's free to host.
oh... fascinating
so what if i am not concerned about my nvme ssd crashing?
ya i saw it was $5 a month for a private repo
my job deals with sensitive content for defense and it would be best long terms to work on classified projects locally
If you really want a custom server not shared with anyone else, get yourself a local Linux machine and put Git server software on it.
this project we can work on a github with the $5 for 50/gb for LFS
thank you for that advice and i can get that working today
but i will have to start thinking long term for classified
Doesn't have to be high powered CPU, just needs good HDD and NIC
If you can host it on a private cloud, you can use a Google/Amazon VM rather than a physical machine
Git server software is fairly easy to install and well documented
But yeah the easiest path forward is a private repo on Github/Gitlab/etc
thank you soo much
we will be talking with IT and getting this figured out
for now we will get the LFS upgrade
i need to run the LFS upgrade with my bosses to make sure they are comfortable with using that server, I may ping you later if they deny my request to use github's servers
@merry verge Ahhh, thank you for explaining why classic branches in P4v are not like git branches, and why I should avoid using them for short-lived branches. That explains why I found the classic branch options so confusing - it is not behaving the same way as a git branch.
@mighty light That did it, thanks. Can't believe all I had to do was restart P4v to get it to work. A few times I've tried dabbling with streams, and never thought to just restart.
@pale ember have you already checked into azure devops? i don't use it but seems like you might want to investigate it instead for 2 people
i am not familiar tbh
does it allow for 15-20gb for free?
think it's free for small teams, again i don't use it, i self host perforce, but lots of people talk about it here. i hate the idea of dealing with "data packages" with github LFS, they seem very frustrating
how does perforce differ from data packages in LFS?
i am somewhat new to all this and am trying to find a good solution short term and long term
perforce is a "competitor" for git, apples and oranges
i'm just saying that i don't use git much, but i see some git users going to azure devops
@pale ember, @woven sluice is suggesting looking at Azure as a possible Git repository hosting service.
its free for up to 5 ppl, unlimited
but for swlf hosting, you can use gitea, or gitlab
quick q, just setup p4d on an ubuntu VM and after interactive config, server fails to start. how do i restart the server?
I noticed the trimming tool is in progress? great, I can't wait for it ๐
Yes, it was planned for Q3, and it was on design a couple of month ago, but I don't know yet who is working on it
In the background I have been trying to repro the GPU Out Of Memory crash some people have reported when doing very long (more then 3 minutes, in my case even 5 minutes) operations;
turns out it was exactly the same problem that appeared a very long time ago on the Git plugin; the Perforce plugin did comment out the Progress Windows entirely, which seems to be the culprit leaking GPU memory ๐ฎ
Now, imagine spending 5 minutes waiting on an Editor frozen without a Progress bar to let you know something is running ๐ฑ
I will make the progress bar Tick less and less often, so it will seem to be slowing done to a slug speed, which will illustrate how long the operation is taking (ultimately we shouldn't have this long running operation happening in the first place, I'll see if I can dig these perf problem)
Oh, nice. I was thinking about reproducing that same bug and see if I can get a few more detailed info than the popup message, but then I read that you were able to reproduce it yourself
Our artist is actually pretty good at reproducing bugs like that, I usually don't get as many crashes as her ๐
But that particular bug is one I had a few times the last two days when I was migrating a bigger level with external actors to another project. Moving things/renaming them often produces crashes like that, especially if many other files are referenced and need to be changed. Fixing redirectors in a big directory also sometimes does this
For testing, you might be able to reproduce stuff with a single big quixel asset, placing it a few hundred times in a level with external actors, then producing a redirector by renaming the asset and fixing that redirector after a checkin. But I'm sure you figured something out ๐
Anyways, it's great to see all the progress you make. You commit more often than I'm able to update the plugin in our project ๐
p4dctl start?
I have been using Quixel assets for that yes!
ร couple months ago I created a option n World map with 60k of them
To investigate perd issues, but honestly it didn't trigger anything like that, even when adding thousands external actors at once (would take only seconds) ; it seems deleting/cm rm is the only very lengthy operation on my end, with the cloud
I can imagine editing would also be quite slow since it has to check the state. For newly added actors it just figures out that they are new and change the state (locally?). For the speed, maybe you can artificially slow down your internet? I can only tell from our "super fast high-speed German internet", and some operations just take time
Btw the Nvidia GPU driver bug (TDR delay) might also be related to that. You can't fix it, but maybe work around that. At least, we sometimes get this crash when doing heavy source control operations. In fact, the "out of memory" crash is quite new to us, we mostly got the "GPU device lost or removed" crash (which is the TDR delay bug afaik). Increasing the delay btw helps, but not always
I can imagine editing would also be quite slow since it has to check the state.
I was able to checkout 1866 Quixel Cactus (!) from the cloud in just a few seconds
[2022.07.29-14.50.36:972][590]LogSourceControl: CheckOut of 1866 files processed in 6.341s
For the speed, maybe you can artificially slow down your internet?
Yes, I am using clumsy to reproduce slowness (and much more), it works great ๐
It saddens me though, that some of you are having quite slower setup for some reasons (but Internet is not great for everyone, I know)
I really wish I could help you more
Thanks, don't worry, at this stage it's okay
I am currently trying to formulate feedback about perfs to the core team
And at the same time, I have cleaned up the code to submit a workaround
@storm sleet would you be willing to test the fix if I submit it on a branch? Else I am going to push it to main in order for more people to get access to it
- The Perforce plugin & SVN plugin "fixed" the crash by removing entirely the progress bar (3 years ago)
- I am going for a lets just update less and less with time
Hi, I need some help with versioning choice. First of all some premises: there will never be two or more people working on the same project unless they're using unreal's multiuser; and all the users are strictly environment artists.
Our Unreal department has a dedicated storage server connected via 10 gigabit network. I whish they asked me to setup things "normally" but... they didn't. The idea is to use that local server not as a "server repository", but as a "local repository". The server is mounted as a network drive. Computers will NOT have local copies on the project. Instead they should open, modify and save them directly from the network drive.
The only thing I had already prepared was a custom launcher that checks if the project you're trying to open is already open in another machine. If it isn't, you open it directly from the server, if it is, then you create a local copy and a custom plugin will "force" the multiuser connection to the first machine that opened the project. Because multiuser doesn't work properly if two machine open the exact same project.
If my understanding is correct, multiuser takes care of synchronizing changes, so abstracting all away, what I have on the versioning side is a single machine (which isn't necessarily always the same one) working on a "local" repository.
Until yesterday I've only really used git for my stuff, and my company was going through the practice of copying the whole project every time there is a change and incrementing a number in the project folder name ๐คฆโโ๏ธ
I've checked the various SVN tutorials, and they all assume an SVN server running on some machine. I'm not really experienced with SVN but it really seems to not work like git does in that there's a clear distinction between repository and files i'm working on actively.
Can you please tell me if my understanding of SVN is wrong? Is git LFS better suited for the local repository model? Is it well integrated enough with Unreal (I see it's labeled as beta)
Sorry for the wall of text (part 2) ๐
I can do a few tests, but not right now as I'm not at home currently. I can do it today in the evening or tomorrow afternoon (preferred) ๐
Would be great if you tell me what exactly I should test, otherwise I'd just do some standard things
Imo as long as nothing "breaks" it'd be fine to push to main, but that's always a question of how stable you want to keep the main branch
Hey, if you can do some tests it would be awesome; anytime will work for me, it can wait a few days since it has been ongoing for so long already
What: what is taking long usually, or what is crashing in your experience; moving, renaming, deleting OFPA
Ok, I can do that. If time doesn't matter I can give it a more in-depth look at the weekend and see what I can report
Chances are that I can send you a patch if something breaks
(and maybe I can finally write a tool I'm waiting for for years, a tool that lets you visualize the reference chain between two assets)
forgive my french but: jesus, fuck. scream very loudly at your company to stop being idiots and let you research and set up a standard version controlled and remote accessed system, from the best I can understand everything you've said this is incomprehensible levels of garbage. throw your custom launcher in the garbage (sorry, I'm sure it's actually quite nice in its own way, but no) and use our tools as the great Tim intended
believe me I've tried
then prepare your resume as soon as you can, this company will either go out of business or not be worth working at
it's already a miracle I convinced them to try some actual versioning tool instead of making copies
they've been around for ages, the unreal department is quite new though
Do you have a CTO/Tech Director/Lead/...?
Yeah, but still... That's not how you should work today
I'm a plan 9 user, but we have the tools and the backup solutions for this
As I said, I'm a plan 9 user
their entirely custom built internal python framework to manage "versioning" and publishing won't be replaced anytime soon. I got the dedicated server for the unreal department so I could at least escape from that thing
local copies are only for multiuser clients cause multiuser doesn't work properly if 2 computers open the same exact project from a network drive
the real priority is versioning directly on the network drive
Well, you can have a local git repo
reason #1: ๐คทโโ๏ธ
reason #2: various fixations of some higher ups who want to only have software on C: and projects on D:. In all the machines C is an SSD and D is a 5200rpm HDD ๐
Let me guess, they wouldn't have enough money to upgrade
Or to build a proper versioning server solution
yeah, but the money for a local server was fine
Like a normal human being
I didn't want to investigate further
Well, if you have a local server it might as well run a server ๐
"we don't have enough money to upgrade because we can't succeed at life because we use moronic processes because we don't have enough money to upgrade"
sorry i'll stop but all i will say is make sure it's written in writing somewhere that you recommended against continuing this farce, one day it may be nice to point at
I'd still say that you need someone who listens to issues like that in management. This workflow is screaming for trouble
(similar to how our management asked if we couldn't just use sharepoint because it has versioning)
oh also, I don't have access to the server because our glorious IT has exclusive access to that stuff. I have only unofficially admin rights on my machine, because I'm "just" a junior programmer (and the only one in the company)
Well, then there's that resume part HoJo mentioned...
Does your IT have someone in management?
not that I'm aware of
management mostly deals with producers and clients
You have external producers?
I'd really advise to find someone in that company who can change something, or leave if you can
but on the flip side I get to work from home every day, I'm not even in the same city where the company is. And jobs for junior C++ devs aren't easy to find, especially in italy. Most "easy" jobs for junior game devs make you work on android trash, and honestly I'd rather work on trash in a topic i don't care about than trash in a topic i like.
My current job is about comfortably building up curriculum basically
i'll forward some messages from here to higher ups and hope they change their mind
that's fine, you can milk this cow while it's in front of you, just look for a less poisoned cow to join in your free time. this is where you say thanks for the advice but you're actually happy working here, in case they employ discord spies 
also: blink twice for help
sadly it also sounds like very little of this experience is going to prove to be actually useful in future employment lol
"managed a horrifying bespoke versioning control system straight out of my nightmares designed by non-technically minded people before i was born" doesn't do too much on a resume

Well, yeah, but if you're a good dev you learn lots of things, and good Unreal C++ devs are rare, even at junior level
(source: I was the only programmer as an intern in our company, now we are three)
(and we are looking for one more programmer, and 4 more designers)
do you happen to need a fully remote junior programmer? XD
Not sure but you can try. Fully remote is always a bit of a hurdle, but I go to office like every two months or so
And germany is not that far from italy
I'm open for PM if you want more info and a link, I don't want to spam this channel
This should now be worked around on master with https://github.com/SRombauts/UE4PlasticPlugin/commit/974ff8fbbefd7c95ef157f2ef04f70007888724e
Hi. Anyone know why Source Control right-click options for a material only shows Refresh? The usual Check out etc. is missing ๐ฆ UE4
What source control provider are you using? Perforce, Git, SVN, Plastic SCM?
In my experience it can happen if the asset is not seen by source control, ie ignored, or in a folder not seen, or with accents in names (bug with UTF8 etc)
It's Perforce. I had to use P4V and submit them manually
Thanks anyway ๐
I think you need to do the git push before the lfs push
The way lfs works is the git repo stores pointer files. Thatโs the 1kb files you are seeing
Then you push the actual files up with git lfs push
AFAIK anyway
Hi all, what's the most brain-dead / best integration with built in UE5 source control? It gives a few flavours like perforce, svn, git. Ideally I just want to pay some money, not too much, have extremely simple (artist friendly) project management and backup.
All suggestions welcome, thanks!
Good question. P4 is the standard, but it's hardly friendly... to anyone.
Hello all, so I've setup perforce however I can't compile my code due to perforce not allowing writing to non-checked out files. I've added the Binaries/Intermediate directores to a p4ignore file, but I'm still having this issue. Does anyone know how I can get around this?
and of course, if I check out the Binaries/Intermediate folders, I can compile. So I just need perforce to allow writing to those files without checking them out?
p4ignore is not applied retroactively. You must delete the files from your depot before it'll start ignoring them.
You should never check-in your intermediate directory. Whether you include binaries depends on workflow, if you're working by yourself I'd just ignore them/not check them in.
and if I'm not working alone?
that makes sense. Thanks
If you're not working alone it really depends on the workflow for anyone not building the game themselves. If everyone is in a position to build it themselves then you also don't need to check-in binaries.
If you have a bunch of artists who you'd rather not have to deal with building things, then you can check-in binaries but I'd open up p4 typemap and use it to set everything in your binaries directory to +w before checking things in. This makes it so those files are writeable without having to check them out.
You'll also want to set the appropriate filetypes as lockable - see https://docs.unrealengine.com/5.0/en-US/using-perforce-as-source-control-for-unreal-engine/#p4typemap (which also covers setting some filetypes in binaries as +w)
note that p4 typemap also only applies to new files, but you can automatically update all files in the depot to the correct types with p4 edit -t auto ... , reverting unchanged files from your default changelist, and then submitting.
gonna attempt that now, Thank you very much!
I've been pulling my hair out trying to figure this out
Does anyone have any recommendations for a GIT client that makes things pretty straightforward for graphics teams?
We run self-hosted GitLab with LFS setup, and would like something that our not-so-techy users could use to pull and lock certain assets, and push them back, comparing changes would be great too.
I've had a look at GitKraken and Fork which seem good, but curious for other perspectives too ๐
I'm by no means an authority but my opinion is that you might have to bite the bullet and get people to learn to use whatever source control you are using. Git guis already take a ton of work out of using git (although in my experience they also make it easier to completely break things). Without rolling your own scripts to do it, i don't think there's much else you can do
Oh a bullet will be bitten for sure, and they'll have to learn to use git in some form or another, just looking if people have any recommendations on a preferred GUI for people of that sort.
i enjoyed fork. i found it better/easier to use than gitkraken, but gitkraken looks way nicer. you could also try source tree but they are all pretty much the same, the only real difference is how they display and hide different things
theres also tortoisegit and github for desktop
I personally preferred fork too actually. and it seemed to do a better visual diff on images, albeit not many formats.
appreciate the response, thanks.
gitkraken is just pure win for merging though
biggest issue with gitkraken is cost and LFS performance on large repos
Hey, I am now officially in vacation for a couple of weeks, so I won't be working on the Plastic SCM plugin...
but I intend to improve a bit the Editor itself, with little QoL things like keybindings, adding some info to some UI, like the number of files in a changelist ๐ through PR https://github.com/EpicGames/UnrealEngine/pulls/SRombauts
In fact, Epic Games teams are also in vacations this week from what they told me, but they will eventually catch up ๐
So, if something is bugging you in Unreal Engine source control UI / workflow, please write down what should be improved in your opinion; it's always useful to get more users feedback
The easier the task, the more likely I will tackled it; eg I had some people asking me to add combination of keys to submit instead of having to click
git lfs installs hooks to push files before they get pushed with git. and prevents you from pushing pointers. so it probably isnt installed correctly
vacation twins!
Hey ! I'm using Perforce. But looking at free version limitations and pricing I'm obviously curious about PlasticSCM. What's your experience ? Is in engine integration as good as Perforce ? Is it easy to setup and selfhost a PlasticSCM server ?
Hi, full disclaimer I am working on the Plastic SCM plugin, so I am obviously fully biased here ๐
In all seriousness, the Perforce integration is still better, as Perforce is still "the default" for Unreal; it is used everywhere and by everyone. It is also still a bit more deeply configurable for advanced stream configuration, eg with stream views etc (though I don't yet know the full extent of Plastic "Selectors")
Plastic SCM on the other end is much easier to setup and to use for newcomers, and is in fact very powerful and fast + inexpensive on the hardware
As for the integration with Unreal, I am dedicated to make it better, both in the short term and in the longer run
It is objectively night and day performance-wise it you look back at what shipped with UE4&UE5.0 and what will ship with UE5.1 (so in just 6 months)
@sterile dragon How is this related to #source-control ?
Try the #cpp channel instead. Since this is a C++ compiler issue.
Please read the #rules and make sure to read the channel descriptions and post in the most appropriate channel.
Maybe they thought this channel was for like.. Controlling source code or something?
is that an official(tm) hint that UE5.1 releases in 6 months?
No I think he's saying the plastic plugin improved that much in the last 6 months
well, I hope that 5.1 releases earlier than in 6 months ๐
Sorry, lets just say I was given wrong indications
No, all the contrary, they told me that most of the teams were on vacations, but then we would still have time to merge what would be considered important
I assume it means thay will want to start preview releases toward the end of the summer, perhaps in September
well, I hope that this will be true then..
would be a nice marriage present if you ask me ๐
btw how stable would you consider the main branch of the plastic plugin? I'm asking because we should finally upgrade the plugin...
I have released the v1.6.1 of the Plastic SCM plugin, with bugfixes and improvements for UE5.1, after more thorough testings:
https://github.com/SRombauts/UE4PlasticPlugin/releases/tag/1.6.1
oh nice, perfect ๐
i object, we all know that plastic is already married to unreal's arch nemesis
imagine tim sweeney would go to my marriage and give me a boxed bluray version of Unreal 5.1 ๐
@reef oriole does Plastic support submodules? And if so does the UE plugin support them? If so I might give it a shot.
Yes, they are called Xlinks in Plastic SCM, and they are supported by the plugin โบ๏ธ
Awesome. Now I have to investigate. Thank you!
Don't hesitate to reach out, and even more importantly to ask any question to the official suport , they tend to be super reactive and they are very knowledgeable
a tech person trying to write like a sales person ๐
In general, the plastic books are a recommended read for workflows etc
Also writable xlinks are pretty annoying. When changing their contents, you first checkin the changes, and then checkin the new xlkink reference. I wish that could be just one checkin or something like that
What's the easiest source control for a single user just needing to work between different computers?
Whatever is easiest for you. You could use perforce (industry standard), git which has decent support but you need lfs which will probably cost you at some point unless you are self hosting, plastic scm has good support and if you really want you can use subversion or mercurial
There are issues with our Perforce server at the moment, is it possible to work on an asset by making it writable, and then afterwards collect all changed files and add then to a chagnelist
Yep, uncheck read only in file properties. The afterwards through p4v, right click your project folder and go "reconcile offline work", and it will check for modified files
@jaunty hornet ^
Depending on the size of your project it could take a few mins to reconcile
Yeah, I know it's used in accounting, but don't know why it was used in this context, seems there are clearer terms to me
The thought of Perforce being used in an accounting firm fills me with horror
Lol
Greetings! Do all source control solutions have different ignore files or it's standardized? (file name, format...etc)
They are all a bit different
And there's no functions or anything to handle that, right? would I have to manually modify each file depending on the source code used?
(I'm working on a plugin for the marketplace, so it should adapt seamlessly to the client's solution, or lack of)
I mean, you can just include the lines in your documentation. If I bought your plugin and you modified my source control without my involvement, I wouldn't be happy
It would just be adding an ignore directory from my plugin content folder, some files I use as temp files so it won't be prompting you to check them out every little operation
But it's a good point, I could just include it in the documentation, or display a prompt the first time you launch it
@woven sluice thanks, your arguments helped me in convincing my higher ups. We'll have an SVN repository in the network drives server and the launcher will manage updating local copies. I still have to make it force multiuser on the second user opening a project someone else has opened. And working with the IT to setup SVN server is impossible.
So question: would multiple machines interacting with the same SVN repository in the same network drive work fine, or is going through an instance of the SVN Server software required to avoid collisions?
So I know that the Binaries/Intermediate folder should be ignored for p4. However should the Saved folder be ignored as well?
This is the default ignore list that PlasticSCM created for my project, if it helps as a reference:
Binaries
Build
DerivedDataCache
Intermediate
Saved
.vscode
.vs
*.VC.db
*.opensdf
*.opendb
*.sdf
*.sln
*.suo
*.xcodeproj
*.xcworkspace
thank you!
Thanks for sharing; actually it would benefit to get updated for the modern IDEs; who is using Rider? What else would need to be ignored by default by the plugin?
.idea
I have a couple local changes for Visual Studio also
Some teams might want to ignore the whole plugins/developers/riderlink folder. It's only useful for the programmers...
Btw it won't be useful for us to use the standard ignore.conf since we have our unreal project stored in a subdirectory. Might be a nice feature to search for the repository root and look there for the ignore.conf and use paths from that root
I think the idea of the whole ignore thing, is not to back-up things that you can re-download or re-generate, so indeed you could do without things like Plugins, assuming it's just a bunch of marketplace plugins you can redownload, and not plugins you are creating your own
Btw, I use Rider, although I do the source control from within UE or from PlasticSCM app
Didn't find an (easy) way to connect Rider and Plastic
He He, it's been listed as a "nice to have" for a looong time, there just seems to always have more issues and more important features to tackle
Shouldn't be too hard if you want to look at it
Mm, in my case, working in teams it was always needed to add all the plugin sources to the repo, else everyone would first need to install them before even opening the project (I mean, the uproject referencing the plugins prevents the editor to open if missing)
I think that we have a very rough plugin for Rider on Github
Did you need to exclude more files or folders specific to Rider?
Yeah, gave it a try but gave up way too quickly, had a lot of code to write to be struggling with that, and the plastic app worked fine
No, but my project is ultra small (developing a code plugin), so I haven't really had the chance or need to dig deeper than the default values
afaik it's only .idea and Plugins/Developers/RiderLink or what it is (the rider link plugin)
the plugin will be installed by rider itself, and with UE4 I highly recommend to install it in the engine, but with UE5 it doesn't work
so only able to install it in the project
imo it's only useful when working with rider, and it's just one button press inside rider, so I recommend to not check it into plastic
btw this is our ignore.conf (with some minor adjustments)
/Build
/DerivedDataCache
/Intermediate
/Saved
/.vscode
/.vs
/.idea
/*.VC.db
/*.opensdf
/*.opendb
/*.sdf
/*.sln
/*.suo
/*.xcodeproj
/*.xcworkspace
/Plugins/*/Build
/Plugins/*/Intermediate
*/Thumbs.db
*/.autosave
*/*.blend1
*/*.spp.painter_lock
*/*.pdb
*/*-DebugGame.*
/cloaked.conf
/Plugins/Developer/RiderLink
.idea
*/.mayaSwatches
note we have a few ignores for maya, blender, substance painter, etc
Would you guys suggest I use branching for a code plugin for the marketplace that I'm working on that will have two versions (Regular and Pro)?
Around 70% of the code will be used for both, and the rest 30% is Pro exclusive, but obviously some UI elements would need to be modified to accomodate for the changes in functionality
I've been thinking about the best way to deal with the parallel projects and it just occured to me that branching might be the way to go but I've never used it, so not sure if that's the sort of thing it's used for
I'm dealing with a similar problem. I have a plugin just about ready for release and it requires a few changes to deal with physx and chaos physics. I've decided to go with branches, it'll be the easiest way to feed changes forwards, and just making some smarter choice to limit where the 5.0 changes will be, to limit and reworking or chances of conflicts
Can anyone help me with multi user editing ?
I cannot connect to the server for some reason... :/
Driving me insane
In your case I think that branching might work. You can also work with releases and tags to differentiate between your two versions. Just remember that the branches do not really communicate unless you intentionally try to merge them at some point.
So this 70% of the code that will be same needs to be there at the time of branching out, after that any changes on this 70% part will have to be done on both branches.
One solution could be to actually have a branch with just this 70% (common code) and another 2 branches, on for each version you have, this way the updates on this common code would be done there first, and then merged into the other two branches more easily.
That's a great suggestion actually, I'll look into that. Thanks!
git + sourcetree + azure devops gitlfs repo = free and quick. you probably already have a microsoft account for azure devops if you have ever had a windows PC or xbox
I'll look into this! Thank you
Generated world partition levels are showing up as blanks on my teammate's PC when I push them on Git.
I replicated this on my own PC as well by cloning to a new location.
I don't see a WorldDataLayer file in my project directory.
Did you push all the OFPA files too?
One file per actor means each level has both the main level file, but also a file for every actor
these are what I got from running the commandlet
no actor files it would seem
and not every level has a _WP version
There should be a folder called ExternalActors
I used this to batch convert:
from subprocess import run
from pathlib import Path
'''
Convert existing levels to World Partition enabled levels.
'''
if __name__ != '__main__':
pass
for map_path in Path.cwd().glob("*.umap"):
print(f'{map_path}:')
run(['C:/Program Files/Epic Games/UE_5.0/Engine/Binaries/Win64/UnrealEditor.exe',
'C:/devfast/NeosphereInteractive/1971-INF-PC-Project/INF_PC.uproject',
# '-ReportOnly',
'-run=WorldPartitionConvertCommandlet', map_path.name,
'-AllowCommandletRendering',
'-ConversionSuffix',
'-SCCProvider=None'
'-Verbose'],
cwd=map_path.parent)
All of that needs to be committed with world parition
found it!
Ok, and are those folders versioned?
If they aren't pulling down on your new client, that's your problem
It should. But also, with OFPA it's easier to work through the editor integration
oh shit they were indeed ignored
I think this will solve the issue
facing some crashes due to partially loaded actors on some levels?
Asset 'C:/devfast/NeosphereInteractive/1971-INF-PC-Project/Content/FoliageTypes/SM_Walnut_02_FoliageType.uasset' cannot be saved as it has only been partially loaded
KERNELBASE
UnrealEditor_Core!ReportAssert() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsPlatformCrashContext.cpp:1807]
UnrealEditor_Core!FWindowsErrorOutputDevice::Serialize() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsErrorOutputDevice.cpp:76]
UnrealEditor_Core!FOutputDevice::LogfImpl() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Misc\OutputDevice.cpp:56]
UnrealEditor_CoreUObject!`anonymous namespace'::ValidatePackage() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:199]
UnrealEditor_CoreUObject!UPackage::Save2() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:2444]
UnrealEditor_CoreUObject!UPackage::Save() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage.cpp:1789]
UnrealEditor_CoreUObject!UPackage::SavePackage() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage.cpp:4380]
UnrealEditor_UnrealEd!UWorldPartitionConvertCommandlet::Main() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\Commandlets\WorldPartitionConvertCommandlet.cpp:1511]
UnrealEditor!FEngineLoop::PreInitPostStartupScreen() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3659]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:137]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh()
...
shrugs i think thats more related to how world partition is loading stuff. Might be better for #level-design or something
no matter, I hadn't cleaned up all the generated data from my previous runs
I deleted em and it's good
@vale basin why do some of my levels not convert to _WP?
Okay I managed to generate some using the editor internal commandlet interface
again, not exactly source control related, also i'm no expert on converting levels to WP, maybe #level-design might be more suited
got it
i had connected a git repo to UE, after i created a folder, but its folder doesn't appears in commits
why ?
I have git lfs installed and everything
why is this happening?
is there something wrong with my git attributes?
nvm fixed
Is there a getting started somewhere i can look at cause ive never used any of this
- log into https://dev.azure.com/ >
- make new organization >
- select your org on the left side >
- on the right side press the blue
+ New Project> - choose private, give it a name >
- click project, press Repos on the left >
- initialize a new Repo, add the UnrealEngine .gitignore (see screenshot), press the
Initializebutton > - on the top right click
Clone> - click
GENERATE GIT CREDENTIALS> - save that shit, that will be your username and password login and you can never recover it, you will need to regen it >
- open sourcetree, try to get through the installation. I remember it was a pain >
- go back to azure devops and under the CLONE screen where you got the credentials, copy the HTTPS code >
- in sourcetree, press Clone, paste the HTTPS code under Source Path >
- at this point it should have you log in with those git credentials. it might have you log in with your microsoft login first, then the git credentials second, or maybe just the git credentials. I dont remember ๐ >
- if successful, set the destination path, clone the repo, then cut and paste your entire unreal project into that folder >
- go back to sourcetree, press file status, stage all changes, TICK THE BOX AT THE BOTTOM "PUSH CHANGES IMMEADITELY" type a commit message and hit commit, now it's live
- OPTIONAL RECCOMENDATIONL: dont integrate git with unreal, just go back to sourcetree and stage and commit the changes from there
Hello! I have a question about team workflow. We have a level designer that uses many asset packs from the marketplace. And he is connected to source control. Question: How Can he not upload all these assets to version control? He uses only part of them but source control detect new added files and tries to upload them. We need detect files only used in the level
delete the whole folder but then skip deleting assets with references
or a few days
Hey ! Any idea where Unreal save the default values we see when we open the Connect Source Control tab ?
this. Thanks !
Shouldn't take that long. It basically just checks hashes of the files from the server and calculates the hashes of the files locally to check for files that are modified. even for a several gigabyte to tens of gigabyte project should take at most a few minutes
Youre a champ
If there was ever anything to sticky....
In source tree it keeps asking me for a credential helper selector and auto chooses manager-core but when i hit select it re opens the screen.
choose no helper and tick always use this, it's for a different kind of setup
I really believe people should give azure lfs repos a try, it's free unlimited storage with minimal headache
Oh also why do you recommend not hooking it up with unreal source control?
My God! How is it that renaming a file starts Source Control update and then crashes because of no Video RAM memory... WTF Unreal...
Ye, it depends mostly on size of the repo
does anyone have a monthly price estimate for a standard perforce ESP installation on microsoft azure for a small team of 4 doing regular work?
Hey guys, trying to follow guide on getting mass community project up -> git clone, followed by git lfs pull, git lfs pull doesn't do anything - any one know why ?
It depends hugely on how much storage you need
cloud is expensive
I will DM you what we use
Which provider? We have this with Plastic, although the recent updates to the plugin could have fixed that
I'm using SVN in one of my local SSD drives
Can't really help with that. Iirc it was related to the progress bar being updated a large amount of times per tick, and SRombauts tried to solve it by only sending a progress bar update once every few ticks or so. I don't know what's under the hood, but it could make sense
because it's slow in editor and inconsistent for someone who is just trying to get source control up and running as quickly as possible (me). it's really come a long ways but I personally have tried a few times now and it's just not usable for me. this will change soon though, if it hasn't already. thats just my experience
It's definitely an Unreal rendering bug; the source control progress bar, that keeps refreshing every frame, is somehow eating all the gpu memory (and the main RAM as well, so depending on your setup you could run out of RAM before you hit the GPU out of memory)
It's something that I should also workaround with Git & Subversion, but in this case I don't know what would be the best fix (simple: remove the progress bar)*
it does it in clone
yes it's also caused by assets being kept in memory
Is it a bad idea to make one of my plugins a git submodule or will it work just fine? Also I'd appreciate a hint if this doesn't make sense at all.
It's not a bad idea at all. All my plugins are submodules, and it works just fine.
I'm totally new to this idea, does making such move makes updating plugins along with the project much more complicated?
Yes and no. Yes, because a simple merge/clone won't bring you actually up to date. No, because a simple git submodule <...> will. It's just something you and your team have to be aware of, but submodules are well documented, and using them, though not as straightforward as not using them, isn't that difficult.
what about the --recursivesubmodule flag, i dunno the spelling exactly but i heared it exists, is it safe? or just git submodule ... each and every submodule?
Yes, some git commands have some submodules flag (like --recurse-submodules for git clone), which works great. Overall, submodules work in Unreal projects just as they would for any project. So depending on what you're doing with the submodules (e.g., fetch, push), there are different ways to get that done. My main Unreal project is a super-repo of hundreds of submodules, and it works just fine, you just have to adapt your workflow to it.
Thank you, now I feel encouraged to give it a try.
Feel free to ask if you need help in this, I have some experience in the matter ๐
Is there a way to create a filter that would find just the external actors that are checked out/marked for delete/marked for add/etc.? A bit new to perforce and looking for a few tips for efficiency.
that looks like a view of an existing submitted change?
are you having trouble making sure that you are finding all modified/changed actors before you submit your work or something else maybe?
Anyone working with small scale source control, in this case, just have the project content being synced between a stationary and a laptop in another location (working on the project at work in my breaks but only bring it home in the weekends). What is the best way to achieve this? I'm currently just dropping a zipped file in dropbox at the end of the day ,but I often forget to do this, and then can't work on it that evening at home. If recommending dropbox or something like that, is there a way to virtually link it so I don't have to move the project to the dropbox folder?
SVN over Local Network?
you should learn and set up a proper version control system (Perforce, GIT, Plastic, SVN), dropbox/cloud sharing is not source control and not something you should be using
AFAIK there is no UI in P4V for that however you could achieve what you're looking for using command line
Hojo, yeah I know, it was just my temporary easy solution, since it was just for me and my laptop, thats why I was asking. Perforce just feels a bit too much for a simple 1 on 1 syncing ๐
And no, it's not local network, my laptop is at work, and want to sync it with my work at home.
Yes it's an existing submission. But images get ppls attention faster than just text, hence the image to boost the signal.
I'm looking to make it easier to find the external actor changes as they are added to the default check in list. Curious if there is a way to filter them for easy submissions and changes.
I'd be down to learn. Any links that you can send that will help me?
well... the important message here is that "1 on 1 syncing" is both unsafe and unhelpful because it implies that you don't have any history availability or capability. If you want to get into this industry, learn at least one of the four major version control systems. it's unavoidable that you will need to learn a couple of them and the sooner you start building skill the better. unfortunately there isn't really a 5th "small scale" option - there's just those pieces of software, pick your poison
(before someone
's me, obviously I am ignoring the other lesser used ones like Mercurial and other super obsolete ones)
Fair enough, thanks
Yeah, I was looking at alternatives, and they all seem to have some bad cons to them
hi there
wanted to know if there is a good job description for Devops engineers for git maintainer ?
CommandMessage Command: Connect, Error: Workspace 'Ericthegreat-dvcs-1660077229' does not map into this project's directory.
how i fix this
i have the uproject in the directory
i can load it from the folder
I dunno what the issue is
Hello, I've been using Perforce P4V locally for a few weeks now, but I don't quite understand what's actually happening. Could someone give me a very simple description of what specifically the root folder, depots and workspaces are and how they interact with each other?
I'd like to get all the latest files of my project and have them in a non Perforce managed folder. How would I do that? Where is my actual project located?
should help to a extent
Hi! Does anyone know how to set up Git for source control in UE5?
I've tried to do it but it results in a bunch of errors
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
Do I need to add a .gitignore file somewhere? How do I configure it?
a p4d server is a running program that manages all of the perforce server's depots, and it maintains running data on all clients for the server, including info about each clients' workspaces.
a depot is just an area for files to be contained in. each depot goes in a physical folder somewhere as dictated by server settings. depots on the server are not supposed to be human readable, although you actually can browse it and see what the depot contains (it is kind of human readable, but you shouldn't go in there except for committing manual open heart surgery on your server during a dire scenario).
a workspace definition is kind of like an order list. the client (i.e. a developer) can create a workspace with a specific mapping to decide what stuff they want to work on from the server and where the stuff should be placed on their local machine. the workspace can list things from multiple depots, it can just cherry pick certain things from one or more depots, whatever is needed. in other words, the workspace "maps" folders or even individual files from a server path location onto a local computer path location. (modern streams depots and streams workspaces work slightly differently, but the same basic idea applies)
the server and p4 client work together to transfer any files that have been mapped from the server in the client's workspace definition to the actual local folders specified by the workspace mappings.
in order to transfer everything in a depot to a non-perforce managed folder, you would want to create or already have a workspace set up that maps all target files (e.g. a single mapping of a depot root to a local folder path on your PC), and then after running get latest, you could either simply copy the entire folder elsewhere... or simply select all files/folders in windows and remove read-only status and delete the workspace so you don't use it anymore. i don't know why you'd want to do that though.
Interesting! That definitely cleared up some of the questions that I had. Thank you so much for the in depth explanations!
For the non perforce managed folder, I just want to have a completely standalone backup file of all the major updates to the project and store them somewhere. Dump them in a backup folder in the cloud and forget about it. Just in case I majorly mess up something. Then I always have an additional layer of backups, that aren't dependent on a system that I don't understand. Probably unnecessary.
Anyways, thanks again for the explanations! ๐ช
So Perforce is source control, you can always go back to your older revision / version if you mess up
"always"
edited ๐ฅฒ
yes, that's a bad idea
the correct proceess is to regularly back up the perforce server, there are articles online about it, it is a bit complicated
relevant keywords are "checkpoint" and "journal" files
that said i have been running a server with lightweight usage for like 8 years without backing these up
only issue i've had was when i discovered Jenkins has a magical ability to corrupt some stuff when you use it to commit files with parallel sync on ... had to go do the aforementioned open heart surgery after that to replace corrupt files in the depot with other non-corrupt files
(i also don't really care if i lose project histories at my current stage of development, no projects anywhere near release right now)
the benefit is that you aren't using perforce anymore and are now using git.
the downside is that you aren't using perforce anymore and are now using git.
pick your poison
most people prefer the VCS that they are already familiar with
there is more than 20 of us an im wanting to not have to pay that license fee
already am just git seems to fit cause we have a secured box for the repo
but i was just wanting know ahead of time if there will be a format issue or if there is a user limitation
Formats aren't the issue, but the source control plugins and the matching of the VCS itself. Git isn't great with big binary files (even with LFS) while perforce is better (afaik, no experience here). And (for me very important), perforce plugin is "the epic way", basically, so it'll likely work best among all source control plugins (though SRombauts tries his best to get the plastic plugin to a similar level)
(take this with a grain of salt, I have only a little experience with git in combination with Unreal and definitely no experience with p4 whatsoever)
should I use GIT?
what would you guys recommend?
(intending to get more devs later but I just want to backup files for now)
and does source control automatically backup?
No it doesn't.
Git is good for non binary stuff. You can use lfs for binary stuff, but it may or may noy work as intended.
Git lfs *
Other options... I'm sure others can fill you in. Avoid perforce.
Assets. Blueprints, content, etc.
so c++ classes wouldn't work?
I use git and perforce for work.
or are you implying something else
what's considered large?
Any file that is not plain text.
my uproject folder is 2.85gb, it is entirely made of binaries so far
oh
for now then I will just backup my file manually then look into it again if I need to manually implement DRP in cpp
No plugin is going to delete all your stuff.
But there's other reasons to use source control.
In case you fuck up. :P
Yeah I want to eventually have someone else having access to the project aswell
speaking of which, if I give that person access could they just quite literally delete all the files?
I would think it would be possible but then again no company would be able to function with ue5
in a revision control system, "delete" is just another version - one that you can switch to, or not.
that said - in git, you can undo pushed commits (assuming no one else has pulled them) and in perforce there is obliterate. curious if anyone's tried dropbox + file versioning for their projects. I assume people can't work directly out of a dropbox folder, but use some sort of script to sync to/from it
Someone can just delete your project on github or whatever server you use too. If you give out the wrong access.
But why? The complexity of making and maintaining "some sort of script" (including the odd sync bugs you find for weeks and months afterwards) would be similar or more complex to just running a version control system. And actual version control systems are purpose built for this and already have engine integrations
I'm just imagining two artists trying to work on a UE project together, and telling them to use a VCS being a near non-starter.
My day job involves both Perforce and Github (enterprise) and I'm in them enough to know I don't wish them upon most folks just getting their feet wet in UE with a friend.
Yeah i get ya, the learning curve for initial setup if you've never done it before feels a bit like a wall.
The main problem I perceive there is that cloud options are expensive, so people opt for the free routes which tends to complicate the initial adoption
I think there's this delicate over/under balance that can't be overstated enough. UE is fairly complicated to someone who's new to tools like it, and in order to bag enough wins to have the grit to persevere through other seemingly unrelated things (like VCS, CI, builds and distribution), the story that starts with "well, me and three friends want to try making something" has to have a low barrier to entry. it doesn't have to scale to a 1000 person AAA studio development process, but it can't be spend 20 hours doing VCS, to spend 2 hours with UE
Yeah i hear ya. Unfortunately there just isn't an easier option at the moment. Unity now has plastic for free for small teams. Wonder how long until epic buy p4 and assembla?
atleast if you can remove the sys admin overhead of adopting a good version control you then only have the workflow side to learn. I know azure devops has free lfs, but setup isn't exactly user friendly, the azure interface is pretty overwhelming, and lfs (having only used it a few times) still feels brittle and janky
i wouldn't wish LFS on even my enemies.
I think the best "starter" would be something like the old style p4 repos, or subversion. Forget all the branching, and have it purely for revision history and sync'ing, and it'd be the ideal complexity to just learn a lock, modify, commit style workflow, and then as the team grows you could adopt a more complex system. Just have to work out easy hosting
the vfx industry has a deep history with massive NAS's and everything-as-a-file unix-like paradigms, and custom built tools to manage the flow of files. i mean, it works if you dev in a linear fashion as that industry tends to be through following shots and scenes. for a very small scope, it'd be kinda interesting to try writing some scripts that could be relatively easy to import, that just follows a linear save->snapshot model. no branching, no merging, everytime you save a snapshot appears, and your friend gets a notification that they're out of date, and then they get the ability to retrieve the new snapshot and incorporate their work in there. it'd likely break, and they could possibly roll back, but eh. it'd be interesting
Yeah... lets not get onto that. I used to work at an advertising firm that had a post and realtime department. Oof, the workflows from post made me shiver. Forged through many fires to basically invented a limited version control system, but damn.... the resistance to even let my realtime department adopt perforce....
i mean, in some ways a limited VCS is kinda what i think makes sense for most people. not everything that perforce or github provides.
i'd argue that through the years perforce really hasn't made any reasonable strides for game development in particular, or a world where more of us are distributed and not hunkered up in a studio with a LAN connection to the server.
Yeah, but i mean, the jank that sync'ing something like that through dropbox would bring in so many problems of it's own. Files coming in before others with dependencies on files not yet retrieved. The solution would be to have some sort of index, but what happens when that file is in contention? You end up going "why don't we just sync a subversion repo" which is just begging for corruption. The issue is still "how do we host a large amount of large files, cheaply?" and there isn't any good answers yet
sorry not host, i mean host and sync
Yeah, I think some of that could be solved through some careful delineation between where things can change and things become snapshotted (and no longer permitted to change, but can be referenced). Again- it wouldn't be for a real dev team. The target group in my mind is like 5 or less, with decent bandwidth and a "small" project (like, maybe a few GB at most) - just enough for people to get off the ground. Maybe a few dozen snapshots (kept) at most.
hopefully there isn't just like, a single uasset encompassing everything (is that even possible?) - i get the need for folks knowing who is working on what since changes aren't mergable, but in small teams it's usually more that you have folks working on something that isn't overlapping with someone else.
If any team here is looking for Perforce setup and maintenance, Can help you with it
@red geyser hello
is it normal to take 15 hours or so for p4v to copy the project to the digitalocean droplet?
depends on project size and internet speed may be
hmm its not that big of a project, i wonder if im importing it correvtly
or if im exporting the wrong files
I think i get like 70mbps up?
Let me just remind you how my colleague suggested to just use sharepoint for source control... Because it does versioning
Why use unreal engine to build tetris when Excel works
Not only that, sharepoint is not reliable when it comes to versioning
Sometimes it doesn't create a new version from the old state, and I don't know what happens when two people write a new version simultaneously.
Well, it might work as a shared DDC
imo, git lfs has worked wonderfully for us
Still 6-7 max
probably also a question of context. if you have huuuuuge amount of data and work with a mid-sized team on the same repo, git probably needs a good manager who can clean up branches etc.
I only use git for smaller projects (but well, I only have quite small private projects)
plus, we have our own git implementation that works slightly different, but compatible
(though we surely don't have a LFS implementation at all)
we don't really have a manager, we have mostly a single branch workflow, with programming team opting in to use feature branches where appropriate. we have about 4 permanent rolling branches used for different stability
you don't have to use git flow when using git, it's often quite inefficient in many contexts
many software teams are using a revert on fail based flow with regular manual review upon conclusion of a development cycle, and this works well with game development as well.
Avoid git for Unreal, all pain ( because of large binary files and lack of locking ). Perforce is used by a lot of studios because it supports file locking : .uasset files wont get into conflicted states. Plastic looks pretty good too.
Thanks
lol, I don't even know what git flow is
afaik with git lfs there's some kinda file locking, too, but not that reliable iirc
plastic is great (but sadly not free or open source)
To Build Engineers / Dev Ops here, How do you gain experience with Source Control during initial stage of the career?
probably just do it?
I can recommend reading the plastic books on devops and branching and stuff, but it's good to have a little experience before that
if you have luck and can work for a bigger company with a dedicated team for that you can try learning from seniors etc
makes sense. Thought I could find teams who need help with Source Control / Build Stuffs here. But kinda hard to find
if they are like us, there's not enough money for dedicated IT stuff
So with my company, Everything is pretty much automated at this point and we run bats and get builds done. To move on to next level, I need experience. And in a loop
Sounds like you're looking for #automation
naah, I wanna get experience with maintaining Perforce and Making Builds and improvise on that
Any downsides?
Not sure. Nobody really uses it any more because of perforce. But perforce is icky.
Perforce is not that complicated but costly
I'd say Perforce complexity is related to your studio size, rate of change, geographical distribution, the variance in skills/roles, whether you're building from source / maintaining a fork, depot size and branch/stream management - coupled with your outsourcing patterns, permissions granularity, dependency management between games/services/libraries/etc and then some.
If you're a 5 person team who sees maybe 20 submits a week, a workspace size of a few GB, rate of change in the MB, equal permissions for everyone - yeah, it can be pretty simple if it was setup reasonably well from the get go (typemaps, case sensitivity, maybe some triggers, naming/structure, etc). Access via public internet - no VPNs or anything.
It's not about the complexity of perforce. It's just about how shit it is.
I'd say Perforce is kind of like driving on rainbow road. you gotta build the guardrails yourself.
context? what's your experience with Perforce?
Well, I use Epic's one for my job.
the only thing you can totally rag about against perforce without any contest is its pathetic licensing/cost repercussions for indies. beyond that most complaints stem from ignorance or are based on 15 year old experiences with it. i'd complain about stuff i experienced in GIT 15 years ago too.
By now means am I saying anything else is better. Just perforce is poop.
by this metric, we all are. we are all poop.
Perforce is poop. But why? You need a reason to hate it. Why ?
So, we're moving to dropbox boys. pack it up
This is entirely possible.
I either have a massive misconfiguration with parallel executions, or the p4v client is terrible (taking hours to do things) - the p4 cl client is better, but it's still not great.
so, parallel sync is not great.
but if you're on Epic Perforce - why aren't you using UGS?
Unless you mean you're consuming from the public licensee endpoint.
i mean, sure it's annoying that parallel sync doesn't have a progress bar, but ... ?
What I mean, hojo, is that, even for several hundred thousand files, it should not take 40m to compare "does this file exist?"
you mean during a manual reconcile?
It's not about a lack of progress bar, it's just the sheer time it takes.
No.
Sync and clean.
clean is just a form of reconcile.
Well, yeah.
why are you cleaning so much then, sounds like a you problem
Because if I don't, the engine often fails to compile.
"my workspace is dirty", fix it perforce.
Pretty much.
why would the engine fail to compile, what kind of horse pr0n do you store in your cpp files
Because perforce is shit at syncing and often leaves behind files it shouldn't.
no proper p4ignore?
i am not a expert as you guys, but i disagree to this!
it really isn't shit at this. like really isn't. but maybe some plugins in 3rd party software are (3rd party from perforce's perspective)
I'm not using any 3rd party software with perforce (that affects a sync command)
imo, Perforce's model for revisions is just broken
i think all of this is just you complaining that it's slow at reconciling/finding junk that you added to your folder (which, actually, I'll admit it is for large codebases with a remote server). i don't have enough XP with source build usage to understand or know why you would be getting into this situation
Git is far superior with snapshot based revisions
also, no bisection built in
branching/streams are cumbersome and don't eagerly meet needs
vanilla reconcile for hundreds of thousands of files takes as long time cause it has to hash all the files and compare to the server. there's a flag that just compares file mod time that goes faster. and then i've seen some folks write utilities that basically fully use the crap out of an nvme drive and go wicked fast - that should be native in Perforce fwiw.
I don't add anything to the engine. I just compile. When I sync, it should update files to the new version and removes ones that no longer exist? (source files and libraries, etc.)
This does not happen 100%.
history migration is nontrivial in Perforce
Perforce server side operations are slow, and connections can routinely expire/drop out
Git is much, much faster
i'm not so sure. try using git with a large game repo and it can feel slow as shit even on a powerful desktop. i had to interact with a ~120GB unity game repo with 700k files and i wanted to gouge my eyes out everytime i had to do random git commands against it (like, um, git status)
don't get me wrong - all of my iac/cac is in git and i use it daily for that stuff. i wouldn't touch it for AAA game dev
well... if a tracked file was marked for delete on the server, it's getting deleted from your workspace when you Get Latest. anything otherwise is a problem that you should not be having, because it's not a problem that perforce has. i have not experienced what you're describing even a single time in about a decade of use. something else is at fault
How long ago was this? Were you using LFS?
Perforce hasn't really caught up in a world where client machines can be as powerful as a server. Giving up some ability for client side caching is a good thing. UGS does some stuff on that front.
~2 years or so. yep, LFS backed by an internally hosted LFS repo host
Because Microsoft have invested a lot of improvements to Git so that they could host the Windows repo on it
so it's very strange that you encountered these issues
yeah but like no one really can use it. are you using vfs?
We are using standard Git, VFS isn't the only optimization they've done
multipack, threaded index, threaded checkout, commit graph, loose pack maintenance, etc
most commands are instant irrespective of repo size
Well it's a default install of perforce with no modifications, so either perforce is broken or Epic's repo is.
We have a 100GB with over 100k files, afaik. And we did not experience a single noticeable slowdown in anything
in UE4
Granted we do use custom tooling that we made and anyone can use. It sets things up to be optimal and handles edge cases
That team's game I'm referring to also had to build custom tooling - a custom workflow tool for the basic sync/branch/submit with most of the things figured out for non-technical folks. no one used it via command line at that point except a handful of engineers.
curious if there's any other engine licensees using epic's perforce on here who could back up these complaints :\
I've witnessed some of those issues personally. The problem sometimes occurs with: an unreliable network connection (particularly during a sync), a program open that prevents files from updating correctly, and the unfortunate reality with very large projects that sometimes workspace drift isn't problematic, until it is and it isn't clear at what point how it got that way to begin with. The only thing you can do is run a reconcile to figure out what the heck is different, and then wonder why perforce didn't remove certain files (that it thought you no longer had), or didn't give you files (because it thought you already had them). The challenge really is other tools, I feel like, and Perforce client simultaneously not being efficiently paranoid enough about workspace distrust to identify and rectify things in real time.
Perhaps Perforce's "Helix Sync" daemon tool can implement a sort of Facebook/watchman style watcher to constantly monitor for file changes that happen outside of the p4 client.
UGS is pretty good about this - it keeps a local md5 cache of what files you have, will check the server for checksums, and do git-like things to help rectify somewhat (and force sync when necessary)
that's weird. perforce syncs have always been reliably atomic for me. i've never gone above a 5-digit filecount though.
The problem is, you really do need an impartial tool to watch the file system and catch people on their bullshit. Sometimes people will just go in and modify a file to writeable because the server is slow in the moment and then wonder why sync freaks out.
Yeah, Perforce is pretty easy at small repos. It gets trickier with both quantity and complicated integration history
half the issues i'd say are sort of self-inflicted with people wanting and needing to do more complicated workflows, without really understanding what the longer term ramifications of them are. :\
I would hope the people at Epic do, though.
does anyone know why the perforce plugin for vs keeps prompting me to check out the latest version of my .sln file every time i load it? it was checked in at one point but its been removed for ages and is even on the ignore file
Daily reminder to save your source in UTF-8 without BOM. A project I'm on had encodings in UTF-16LE, UTF-16BE, and UTF-8, some with BOM some without, and it broke Git diffs for a lot of files which made a big branch merge miserable
Daily reminder that utf8 does never need a bom by design. Only the other utf versions need it.
as far as I saw, it took 9 hours to create a branch. So its slow tbh
Streams shouldn't take that long. As far as I know old style depots were incredibly slow to branch though
Dev streams actually should and do take that long, because unlike most other "popular" systems they are actually creating a full standalone copy of everything upon creation
IIRC task streams act more like how most people expect branching to work (only creating file copies for modified files), though I've never timed/compared them the same way because we are still on alpha and just do mainline dev
hey folks. I have been using perforce for some time, and while I know the general workflow, I have some questions I hope more experienced users are able to answer:
- Is there a way to have p4 automatically detect changes to source/binaries files without using the P4 Visual Studio plugin? (The plugin tends to make visual studio extremely slow for me). Maybe there is a way to point to specific folders and tell p4 to keep checking changes in the files? (Also, P4VS plugin apparently only works for VS 2022 which at the moment is causing some issues with our project, so we're using 2019).
- When you create a new workspace and pull things they become read-only by default, which is annoying. I know there is a flag to turn this off (
Allwrite) when editing the workspace, but is there a way to make this default behavior on the Depot-level? - Is there a way to have some files be submitted to P4 (so we can keep the version history) but only accessible to the person that submitted it? We want to keep submitting
/Developer/content to p4 so we can keep the version history, but we do not want users to pull each other's Developer content. - Let's say we have 2 separate projects in different Streams, and we want to create a shared code library or plugin that sits in a third Stream. Is there a way to make both projects A and B streams to also pull from the shared code library? As in, the user goes to stream A, hits Get Latest, and they will get the latest files from stream A + stream Shared. If this is possible, is it also possible to prevent changes to the shared stream unless your workspace is in that stream?
Thanks!
- Can't speak for them personally, but there's other plugins out there. https://github.com/rlabrecque/SimpleP4VS/ is one I've heard of.
- You'd have to create a form-out trigger that sets that option to make it a default. https://www.perforce.com/manuals/p4sag/Content/P4SAG/scripting.triggers.forms.html If you're new to triggers in general, it may seem like a bit of a hurdle.
- You'd have to do this with customized rules in the protect table, and every user having their own path. e.g. UserA is the only one with r/w permissions to //Developer/UserA/...
- Yeah, this is via something called stream views, particularly import (there's more, but import sounds like the only you're looking for). The newest versions of Perforce have permissions specific to who can modify stream views, so you could get granular on who can edit them.
- This is a very bad idea. Do not do this. Use the tools as intended.
- This seems like you might be trying to solve a non-issue - is it actually proving problematic for you to have this shared? Another option would be to set up individual virtual streams for each developer, which chop out the Developers folder, and then re-adds their own specific folder to their workspace
- sidenote -
importdoes not permit submitting changes to the imported/shared stream butimport+does
gotta love it when folks push changes to a shared dependency (through an import+), mute their pager and disappear for the weekend while everything else depending on that dep breaks heh
wow thanks that's very interesting !
I am going to look at PlasticSCM looks to be very cool
I didn't really consider if these would be paid or not, are they?
Just get a nas a host it yourself. Sort of /s but not really since it's a perfectly valid solution and you can get a small nas or ex Soho hardware for cheap
Or just use an old pc if you have one laying around. Not sure how something like an rpi would work but considerably older desktop hardware should be more than enough
Perforce is free upto 5 users
- the cost of hosting it
I remember using p4 with ~5 users on an 1-core intel atom with 8GB RAM without any hassle FWIW
Apologies if this has been asked before, but does anyone have an ironed out solution for code reviewing Pull Requests online for Unreal? I'm coming from the Unity side, so it's much easier to code review C# code right on Github.
But am I correct that there's no way to view Blueprint graphs outside of the Unreal editor? I'm ideally looking for a way to add comments and see side-by-side Blueprint file changes. But even without that, just being able to view a Blueprint file online or 3rd party would be better than nothing.
afaik there's some "offline" blueprint diff tool, but you can't comment etc, only view the diffs. the tool is part of unreal, but I never got it working
i only got it working from inside the project (with an already-open editor)
interesting, thanks for the fast response! I think I found what you're talking about. https://github.com/TheZoc/UE4DiffAssistTool ?
The main sticking point for my team is that we work in a lot of different software. So the hope is that we don't all need to install Unreal, and manage editor versions and whatnot. The person code reviewing would ideally be able to view diffs at a glance without needing the editor at all
A friend told me about this, for at least viewing Blueprints outside of the editor. There's still some functionality I'm wanting here, but at least I can open this side-by-side to vaguely point out diffs. Wanted to share it here too, in case anyone was looking for a similar thing. https://blueprintue.com/
That last one is pretty well known at this point. I think that the epic games dev portal also allows you to paste in blueprints etc.
I think the first tool is not what I'm talking about, but the ones you get by diffing with source control using the standard Unreal editor.
The diff and merge tools: #source-control message
Ignore the fact that I'm talking about p4v, it's source control agnostic.
It's built into the engine. The tools kind of suck, though.
Hi there, I'm just starting using perforce by following this blog https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/
I wonder that is UE5 Source (from Github) needed to be upload. Can I just upload the project file (Launcher build) and let 2 person code c++ on this?
This document covers how to set up a new Perforce server and populate it with an Unreal Engine source build alongside your projects. This is the most basic setup for 'beginner' Perforce pipelines and does not cover things like streams. Please note that you should only do this if you
I had a heck of a time figuring out that a file was missing from one workspace - I was hitting get revision and nothing was happening, and I had to use force get file - it works and the file immediately appeared in my content browser, so hooray, but I'd like to understand a little more what caused this?
Like, is there a way I can view what perforce thought it was in my workspace and why it didn't try to actually send the file that was missing?
You don't need the engine source if you dont plan on modifiying the engine itself.
Thanks for helping me :D
I would suggest putting your project in a subdirectory from the workspace root though, will make switching to a source build easier later
also that allar guide is not the best, it doesn't even go through creating a stream depot, instead just using the default //depot/... depot
Thanks for advice. I will.
Is there any other good guide to follow?
So far I found Allar, Perforce (official), and some other youtube video
well creating a stream depot rather than using the class //depot/... depot is a start
which you can do from p4admin
Ah I see, I think I found some youtubes that do it different from Allar guide. I'll keep that in mind. Thanks again then.
the most likely possibility is that if you quietly locally deleted the file then the perforce server (as well as your client) simply wouldn't know. running a reconcile offline work will do a thorough comparison and find such situations, it would then add your local change as a file deletion to a changelist, and then you could revert the change to return it to the depot's state
it's super important when working with a perforce controlled project to always run file management through things that support perforce - e.g. so that deleting a file in some program will mark the file for delete for you as well in a changelist
We are trying to build a Linux dedicated server on a Windows build machine and we are getting the following compile errors. It looks like a character encoding issue, but its P4CHARSET=none which is the same thing on my desktop and laptop when neither have a problem. Any ideas?
I know git does, P4 isn't messing with line endings is it? EOL characters are different on windows and linux
It may based on the P4CHARSET I suppose? Since a value of none just attempts to auto detect the setting.
What is the filetype of CircuitsGASTypes.cpp according to perforce?
Also, would be worth checking the file in hexeditor for nulls at the start
For future reference, it's documented here https://github.com/PlasticSCM/UE4PlasticPlugin#configure-visual-diff-of-blueprints-from-plastic-scm-gui
I know, but I never really got it working
mm, "interesting", I know remember that I wasn't able to configure the new GUI
I'll first check from the command line
I'll double check my setup with my current Plastic GUI & UE5.0
afaik, someone had a working set up here to create Blueprint images on PR
but I forgot where it was
Hello, we made a fresh git repo with unreal template project but whenever I submit a change, my friend cant see the exclamation mark icon on the remotely changed files (cant see the files have been changed). Also clicking Sync crashes the editor if there are any remote changes. We are dumbfounded how basic Git workflow goes with UE. Any help please? (We are using the default Git plugin in Unreal. We are also open to use something different than git that's better for source controlling uassets)
They are of text type. Everyone is able to compile on their local machines, it's just the build server that's running into these errors. So I doubt there's an issue with the assets themselves.
You can cross compile the Linux version of the server on your own machine?
Yea
I tested all the commands to run on my local desktop and laptop, both compile fine. The when the build server attempts to do so, it fails with those null character errors
ok, the only thing that comes to mind is a p4 bug I found recently which was causing build errors on our build machine due to some locale thing. Turns out the latest p4 command line was the problem, and rolling back to an earlier version fixed it.
I uninstalled the standalone p4 client and installed the one that comes with the latest version of the Helix Core Apps installer [p4 reports Version 2021.2/2273812 (2022/04/14)].
this was from the help ticket I had with Perforce
this version of p4 was able to sync the problem file correctly
Oh interesting, I'll definitely try to compare the p4 versions. Thanks for the tip!
As stated earlier, it was a long-standing rendering bug in Unreal Editor Source Control, related to the introduction of modern renderers like DX12 RHI
I submitted a PR with a fix (and e-mailed one of my Epic Games contact)
https://github.com/EpicGames/UnrealEngine/pull/9492 [UE-100291][UE-160299] Fix source control progress bar crashing out of video memory in case of long-running operation
Fixes:
- https://issues.unrealengine.com/issue/UE-100291 "Out of video memory" crash when attempting to save many assets with source control enabled
- https://issues.unrealengine.com/issue/UE-160299 GPU memory leak during large source control operations
You most likely need a better version of the git plugin that will handle also the push/pull, try the most maintained one from ProjectBorealis from @ mcoms
https://github.com/ProjectBorealis/UEGitPlugin
Using Perforce; Anyone know the best way to have the Engine Source and your Project's Source in separate streams, but add the project back to the engine so UnrealGameSync works?
Currently, I have a paths rule import+ ProjectGame/... //ProjectGame/Main/... on my Engine Source's 'Main' stream, but when developers create development streams for the project, there's no way for those to know where the engine source is and work with UnrealGameSync
what do I put here?
tag please
all i did was set up the perforce server and now I am admin, I am not really sure what to do now
https://www.youtube.com/watch?v=7eVO0qXC3nk I followed this tutorial
You gotta create a workspace in client first
Hello guys i m looking in to setting up a server for my project, i was looking in to Vultr and DigitalOcean but i tested their speed and it downloads with 1.5 Mb/s that seems slow to me is there faster solution ? But for similar price amount ๐
To mention that i want storage 20GB+ and there will be up to 5 people i think, so if there is someone to recommend something, i would appreciate it
1.5 Mb/s is pitifully slow, i would question if your test results/method is accurate
though I don't have any XP with either of those, I just don't think anyone would use them if they were that bad
and it took ~90 minutes?
i have 150/150 MB/s internet speeds
that is vultur and second one is digitalocean
https://i.imgur.com/oDyfpbo.png
well that's 12 Mbps not 1.5, still seems kinda oddly slow to me but who knows. uh, I'm hosting a VPS through Gandi.net and i can get 100 Mbps
yes that is why i said 1.5 Mb/s not Mbps
MB/s
it is kinda slow 12Mbps for me
definitely agree with that, there should be better options out there. I pay around $20-30/mo for a linux vps running a small perforce server, like I said it delivers 100 Mbps with parallel sync enabled, and that's real speed when pulling my project down, not a speed test.
that sounds nice buddy
i would pay up to 20$ month for speeds like that
i didnt see on Vultr and DigitalOcean offering servers with better speed, is that a thing ?
I think i will rephrase my question and explain bit better
I need i small advice for source control server. I have used Assemla, Perforce and GitHub in the past but i was never the one who set them up or buy, so now i need it for a project with up to 5 people and at least of 20GB project storage. Any advice for a decent price and good internet speeds you can give me ?
I have looked at Vultr and DigitalOcean for the server but the speed test on them show kinda low imo
https://i.imgur.com/JVvTQd0.png
https://i.imgur.com/oDyfpbo.png
Fwiw I've been using Vultr for 3 years and it's been solid. Maxes out my 350mb connection no problem. But yeah any host is probably fine if you can get decent speed to them.
That sounds nice, but i m confused why their tests are not maxing my speed i have 150/150 u/d but as i shown in the images it quite lower ?
is there option to pay for faster transfers ? i dont get it
No speed option AFAIK. Is the server you're using in the same geographical area?
the closest server was around 2k kilometers from my destination who i tested
i did test others just in case but slightly were slower
34MB/s for me for London server, pretty much max for my 350mb/s connection. But if it's not good for you then you need to find one that is ๐
idk where you are but maybe one of the big data centre operators like Aws/Azure might be better if they have closer servers available?
i m usualy ok for all eu regions with speed and latency. i m located in north macedonia the ballkan territory
next to bulgaria and greece
does it matter what OS i use ?
i m going with Voltr
For perforce? I use Linux personally but depends what you're comfortable with.
i have no experience with other then windows i m an artist not much in to programing and similar stuff so have no idea what would be the difference
is there difference in performance ?
The only thing is you might need a higher spec VM to run Windows. But if you've never used Linux before I'd suggest going with what you know.
i think i would go with Linux cause it wont make any difference i have never worked with code
i know some basics in UE with blueprints lol
good luck to you then ๐
lol
you know what I'd suggest, download VirtualBox and install a small linux VM locally. Try setting up perforce on that before getting a cloud host.
once you figure out the steps it will be better to install it from scratch on the cloud vm
i m exploring tutorials but most are for DigitalOcean unfortunately
the actual provider doesn't matter really
ok that's helpful thx ๐
i once set up git with LFS so i guess i will make this work
or not ๐
ok 1 last thing, personally I'm not really a fan of tutorials they often give bad advice.
I'd follow through the official Perforce docs for package based installation (I use Ubuntu myself).
https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html
Once you have installed it and it's working, follow through this guide skipping the bits you already did - https://www.perforce.com/blog/vcs/how-use-unreal-engine-5-perforce
i appreciate your help dude, thx
nps - Perforce is great but it's not beginner friendly.
i have used most of source control softwares in teams but i was never the one who set them up so it is time to learn i guess ๐
๐ช Level up your skills
A wip about diffing blueprints is visible on blueprintUE (ex: https://blueprintue.com/blueprint/0ovgynk-/1/diff/2/ )
apologies ๐
so I just change it to this and it'll set me up with the delta?
(first time building from source if its not painfully obvious)
- change origin
- open git bash on repo folder
- git checkout origin/ue5-main --track
- git pull --rebase
I have git desktop here, can I just use the link here:
aight so I need to install git for windows
yep
just open that github for desktop and look what it has to offer in menus
swear word swear word swear word swear word swear word
here's me thinking I pulled it off without it trying to claw my face off
it is 2022, if you dont know basics of source control (svn/git) you will have a hard life even as artist
how come when I look at ue5-main page on github, it says releases Unreal Engine 5.0.3 on the right?
?
I use sourcetree for my projects, and fork for my work
I meant doing it in command line
mmm
aight, well, I won't keep hassling you guys here, I obviously need to go and learn more about doing this right before attempting something at this level
still think it's a bit cruel that the instructions say fork from UE5-main but when you do it gives you 5.0.3
it is not, you got entire repo when getched
just need to change branch
and pull latest from origiin
ok, I know enough to know what that means
still worried about this, I'm here:
https://github.com/EpicGames/UnrealEngine/tree/ue5-main
and on the right it's saying this:
and here in git desktop (now that we've modified the origin it's saying this:
doesn't that mean it's still trying to do 5.0.3?
ok i know rtfm
also github desktop is lame
use git extensions or something
or even the raw shell if you are brave enough
I'm choking down my hatred for being forced to use command line and learning to do it properly via git bash
just get any git frontend, tortoise, sourcetree,smartgit or hundreds of others
just things typing in console sometimes much easier than clicking menus
None of them will do everything you ever need.
And knowing a bit of CL will help you when you actually need to use it to sort something they can't do.
You said you already use sourcetree so why aren't you using sourcetree??
what is the cheapest hosting solution for perforce?
host a VPS
bro. dont give me headache
I dont think there is any other method. Get a cheap VPS and host
Or get a dedicated IP from ur ISP, and host on ur local PC
aws education acc. perhaps?
again its complicated
That will work
Assembla... +- 50 USD per user per month. where's your headache now
nbdy forcing u
wat
anyway, yes, rent a VPS and run it yourself if you want long term savings, great if you can use an edu account!
I'm creating a plugin, we'll call it "Big Plugin". This plugin has a few modules. One of them is a type of "Core" module that all modules reference. Well, now I want to have a module from that plugin, and the core module also be their own separate plugin, we'll call it "Small Plugin". So 2 plugins, 1 plugin is just 2 modules extracted from the big plugin. My question is, is there a good way to do this with source control? What if I'm working on the big plugin and I make improvements to the modules that are used in the small plugin and vice versa. See the problem I'm facing? How do I handle this? I'm currently using github for my plugins
Aight... so I'm continuing my misadventures trying to install ue5-main as a git noob
I'm in git bash, I'm following this tute:
https://www.youtube.com/watch?v=wGq-XK8mffg&t=240s
In episode 2 of the UE5 game development series, we'll look at setting up access to the Unreal Engine source code on GitHub, cloning the repo, checking out a version to build with git, and compiling it using Visual Studio.
Previous Videos - https://www.youtube.com/playlist?list=PLLIn4osBl0FsKVoxTF0Xi8tvO34XALuNP
Github Project - https://github....
I've typed:
git checkout --track origin/ue5-main
and... nothing is happening ๐ฆ
what have I misunderstood this time?
ok ok, it's kicked in minutes later
but why aren't you just using source tree if you already know how to use it
because whenever I try to do anything outside of my normal worn track it doesn't work, and then I don't know how to fix it because I don't understand the stuff going on behind the scenes.
and when I ask for help it just pisses everyone off because they give me a linux word salad and I don't know what any of it means
so, I'm ditching UI and going full command line
(learning it that is)
just out of paranoia, what happens if my net connection drops out in the middle of updating dependencies?
If I reconnect straight away will it pickup again automatically?
Showing All Messages
ERROR: Couldn't find target rules file for target 'ShaderCompileWorker' in rules assembly 'UE4Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
i am getting this error in xcode
anyone who knows how to fix this issue
Hey all, does anyone know how best to deal with fixing up redirectors in a multi-branch project (using Plastic SCM)? We know that they're causing issues with missing files and they should get fixed up, but I'm just wondering if that should be done once in a merged branch, or done in each branch separately before we merge.
Assuming the fixup is consistent in each branch, doing them individually first is ideal in my experience.
Ok that's what I was thinking. Thanks!
It may cause some of your edited files on the branch to need resolution (I used perforce so verbiage may differ)
i.e. P4 couldn't diff the files and thought the fixup on the mainline was an edit
so there were quite a few reconciliations that were superfluous
Oh for sure, Plastic will definitely require checking in all the fixups since it will see them as file deletes. My guess is that it will put them in the 'conflicts that no longer require resolution' category though, as we merge each branch.
if your branch is mostly adds and not edits then it's less of a concern
exactly
but references that are fixed up are the problem
not the redirectors themselves
Right... BP and C++ references
We have a big demo tomorrow so I think I'll hold off doing this until after that
I don't want to risk messing any references up now
i.e. if you edit a file in your branch that references a redirected asset then it will almost certainly show a merge conflict
even if there were no edits to the main
(other than the fixup)
Right... I don't think that should be the case, it's more likely that older BPs' references get broken and cause compile issues, even though they weren't edited in months
Probably better to deal with those later, and for now just hope there aren't any redirector-specific issues we've had in the past.
Thanks again, @idle vortex very helpful
np
I'm getting this error message:
UnrealBuildTool has banned the MSVC 14.33.31629-14.33.99999 toolchains due to compiler issues. Please install a different toolchain such as 14.32.31326 from the Visual Studio installer.
It feels like it's saying I should have used 2019 but I'm pretty green at this
p.s. I done checked out ue5-main after learning enough about what that meant
aight, found a thing on the forum
So... this person says they fixed the above error like this:
https://forums.unrealengine.com/t/unrealbuildtool-has-banned-the-msvc-toolchain/556715
I have both Visual Studio 2019 and 2022 installed. Building engine from source, UnrealBuildTool selected MSVC Toolchain 14.29.30133 (the latest that comes with 2019) and built fine. When attempting to generate project files for a project (which is associated with this source engine build), I get the following error: ERROR: UnrealBuildTool has...
but when I go to do that I get this:
Now this is unchecked:
So I try to turn it back on and only turn off the "bad" MSVC toolchain and I get this:
Aaand, this is stupid, I'm out <facepalm>
See you next year when they release 5.1 properly
Ouch, I would be interested in knowing more; my understanding of redirectors is that they certainly shouldn't be fixed on individual branches!
- Redirectors are added by the Editor only if you use source control, so that if someone else is working on the affected assets, they can still work with them and submit without problems (even if it's in only a few days)
They are there to solve "big team problems" where:
1.a. you cannot always fix all the assets because some might get locked by other people
1.b. if you can fix all the assets, but someone has a new asset locally that reference the one you moved/renamed, it will be broken after you submit/merge - Redirectors should therefore only fixed-up later (when you have the guaranty nobody holds a reference to them), on main, ideally when nobody is holding any locks (eg at nights/weekend if you have a policy to not go on weekend with assets checkedout)
Basically, fixing the redirectors immediately render them useless!
In this case, we would be better with an Editor Preferences to not create them in the first place (but is this a good idea? It would still defeat their original purpose)
All this doesn't matter a lot in "smaller" teams though
how about this: when trying to fix up the redirector, first try to check out all affected assets, then fix the reference only in the checked out (=locked) assets and place a warning that the redirector is still there because there are still locked assets?
@heavy yarrow this isn't the right channel but you dont have to uninstall the new one, just install the old one and it'll select it
Hi, I'm trying to set up git for my already existing project. I believe a git repo must be empty when created? Would it be better for me to just copy/cut and paste my whole project into the git repo after it's been created? Is this risky?
Or is there a way for me to create the git repo within my project folder and commit everything (build/config/content/source)
That's exactly what is done automatically under the hood, Unreal only fix the references for assets that can be checked-out, and would only remove the redirector if it succeeded.
But it doesn't change anything from the high-level goal of redirectors & workflow:
- running it on a task branch will make the branch more "heavy", changing assets that would not need to for the task, and more akin to merge conflicts
- it might fail or be incomplete, so it will still need to be done later
- running it in parallel in multiple branches might fixup the same redirectors on all of them, potentially doing a similar change on a series of assets that will end-up "binary different", so in conflicts
The high level policy on a big-enough-team should be something like don't bother to delete redirectors until you need to, or do it periodically, eg when upgrading the Engine
(as it is in fact a good practice to run a commandlet to Resave All assets when you upgrade the Engine version)
You can and you should totally just "git init" from within your existing project
You can use the built-in "Make the initial commit + add proper .gitignore" from within the git plugin "login" Windows directly in Unreal Engine (that I created ~8 years ago ๐ )
great thanks i'll try that!
does Resave All also fix up redirectors automatically?
Looks like I was able to git init and commit just in git bash and github desktop. I set up the gitignore and LFS myself and it seems to have worked.
I was unable to do it from the engine as I'm rebuilding the engine from source right now and I thought while I wait I'd finally get around to starting using source control, a few years late but better late than never haha.
Thanks for the help!
Perhaps does it fixes the references, but it doesn't remove the redirectors from what I know
What I meant is that it's a good timing to run the fixup redirector in the same run as when doing a full resave, as you need to meet the same precondition
makes sense
so in p4v, I unshelved some files I want to submit
and when I go to submit them it says they must be unshelved or deleted
but the only reason they are in my CL in the firstplace is because I unshelved them
what does p4 want from me?
ok seems moving unshelved files to new CL sorted things
This is because your CL contains files that are both shelved and unshelved
thanks, yes that is correct
bump ๐
Anyone know what may be causing a perforce server to start prompting all users for a password constantly out of the blue (including super users and admin groups that have unlimited timeout)?
P4V is suddenly triggering p4 login -a in the log every 15-30 seconds or less for all users today.
I have tried rebooting the server without any change 
what does p4 login -s username says?
says the ticket expires in 135056 hours and 13 minutes
but P4V still prompting me for a PW every few seconds
same for everyone else
Been running the Perforce server for 2 years without any issue like this ๐ฆ
This is not really a source control question and if it is, there's not enough details to answer it. For example, you can have one big repository with all those plugins and maintain both plugins inside one project inside one repository. Source control-wise there's no special handling then.
If you want to split it, you have the options the specific VCS tools provide, e.g submodules in git, xlinks in plastic. However, there's probably some extra work you don't necessarily want.
Have you checked the server logs?
oddly enough it seems to have stopped doing it for me out of the blue...
but I will see if I can find anything in the logs that stands out
how many vcpus and ram for helix core?
2c/2t, 8GB+, fast SSD
8gb ram? what the... 8gb ram just for source control?
10,000 files will require 10 MB of RAM and so on. https://p1community.force.com/Community2/s/article/2957
@urban crystal
have fun with these then
Hey thanks. Well, basically i want to have 2 separate plugins because I want 2 separate entries on the unreal marketplace. but I want my updates on the "full" to apply to the "lite". If that makes sense
Well, I guess you want to work with submodules then. The big plugin with the fancy module and the core module as a submodule, and the small plugin with only the core module as a submodule
Or just reference the core plugin
The first things to note with their estimate of 1.5KB per file is that;
- this is only for the server to be able to load the whole history of the repository in memory in order to server any query without paging; this is the very bare minimum quality of services
- you have to count all the revisions of all the files, including all the copies for streams/branches; so this can grow fast, eg with an average game project of 50k assets you could well end with millions of revisions (so on the GB already)
- then you want memory for caching the file content themselves! you certainly don't want all sync operations to need to use the SSD every time, so at least a few GB of cache to hold all the last day's submit will definitely help
- and you also need the rest of the OS to breathe, so on Linux, a server could go with only 1GB (but if you install a desktop it's already 4GB)
All that factor in that 8GB would certainly be the minimum
We started a game studio using an old desktop computer with 8GB memory, installing a Debian or Ubuntu Desktop, and it was "okay" for a team of < 15 but only for a few months, but it was quite fragile, we experienced quite some data corruption, and switched to a server grade hardware with 32GB ram
(this is just a datapoint, we could have optimize the setup and stay with 8GB for longer)
"old desktop computer" "8GB"... I wish I had your scale of "old"
If you are working a full-time job somewhere, or your SO or a team member, make friends with the IT department. Computers get refreshed every 2-3 years, you can usually pickup some old stock from them cheap or even free
Easy way to get yourself a small server, build box, etc
(Off topic) I have been playing with my 2016 VR desktop PC for 6+ years... with 32GB of DDR3 already!
And this was replacing my 10y old Core2duo from 2006 that had 8GB or DDR2.
I have not been in companies where they would refresh PCs every 2-3 years, but every 5 years definitely
A lot of bigger non-games companies I've been at lease PC's so they refresh pretty regularly due to the lease expiry.
my game will have much less assets than 50k. so 1gb ram should be fine
do as you please but don't complain if performance is sub-par with your setup
i can always switch from 1 to 2 gb ๐
also consider external actors. each actor is a unique file...
yeeeees. i managed to setup azure lol
: 1gb ram for helix core XD lets see if that is enough
external actor?
External actors or one file per actor
ehm... i dont understand what you mean with that
is internal actors then a thing too?
one file per actor means only i can edit a mesh or a c++ file if i am checked in? but external actors?
@storm sleet
External actors means level store each of their actor as one file on disk. So if you have 10k actors in your levels, you have 10k files on disk. Internal actors means all actors are stored in the level file (umap).
my team has only a few devs working part time... ~30-40 GB of depot files, probably something like 25,000 file total. using a ubuntu VPS with 512 MB of ram and it is completely fine. I actually upgraded it from 1 core 256 RAM to 2 cores and 512 RAM just to future proof it, and there was absolutely no difference, it went from fast before to just as fast after. just make sure you can upgrade if you need to (as you have already mentioned). my guess is that slowdowns might happen if you have multiple people doing operations at the same time but smaller teams usually don't run into much of that.
HI
helixcore@helixcore:/etc/apt/sources.list.d$ $ sudo /opt/perforce/sbin/configure-helix-p4d.sh -h
$: command not found
helixcore@helixcore:/etc/apt/sources.list.d$ $ sudo /opt/perforce/sbin/configure-helix-p4d.sh
$: command not found
^ both do not work
perforce.list:
deb http://package.perforce.com/apt/ubuntu focal release
this is installed:
helix-cli-base/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-cli/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-p4d-base-22.1/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-p4d-base/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
helix-p4d/focal,now 2022.1-2305383~focal amd64 [installed]
helix-p4dctl/focal,now 2022.1-2305383~focal amd64 [installed,automatic]
ok. issue was root wasnt enabled. thus is restarted the whole setup process.
now i stuck at this:
root@helixcore:/# $ sudo su /opt/perforce/sbin/configure-helix-p4d.sh
$: command not found
root@helixcore:/home/helixcore# p4d +h
Perforce server error:
Usage: p4d -h for usage.
Unexpected arguments.
What guide are you following? I usually recommend installation via package which comes with configuration scripts etc, rather than deal with p4d direct.
https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.configure.html
Digital Ocean link: https://m.do.co/c/9c32421cec91
Perforce docs: https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html?fbclid=IwAR0meqmgIgK4Ic3eewVv-vpm7EQGJl0uKTNQmDc99Jx9s0wTQ12ByiYvRkY
Try my C++ Survival Game Course:
http://bit.ly/unrealsurvival
Discord:
https://discord.gg/meFRZfm
Business Email: contac...
Sorry I don't know how they have setup perforce in the video
But you should start from scratch and follow the official docs IMO
git causes my ue5 to run out of VRAM 
Hi, I am currently working on an UE5 school project with my team and we have set up a git repo on GitHub but realize that it takes so long to push a commit or pull from the repo if there are changes that include asset downloaded like metahuman models or Quixel assets, is there a way to speed up the process or is there any other way for us to work on the project together? Thanks for any answer.
p.s We have the unreal gitignore set up already
Hey guys. I've run into a problem that I've already spent more than a week on.
I created an E2 VPS at Amazon and installed a Perforce server there.
The download speed is very slow. 13 megabits per second...
I'm in Bulgaria, server in Frankfurt. Although I have 1 gigabit internet.
I understand that the distance is quite large, but I did not think it would be so slow.
Maybe I'm doing something wrong? What can affect download speed in perforce, PC or aws?
I will be grateful for any information!
Are you transferring lots of small files?
My ue project is 60gb and there are 14k files
A lot of people have that kind of performance with perforce ๐ฆ
I'm sure it's a configuration issue, but still.
should be thingy where u need 3 different disks
data, metadata and log
did you turn on parallel sync
do you have a progress bar that actually gives % complete when syncing -- if you do, then parallel sync is not on
I turned it on today and the speed remained the same. It is turned on in p4v only, does it need to be activated somehow on the server?
@crimson coral #source-control message
Hey, how can I keep my binaries unlocked and keep them unsubmitable to repo at Perforce?
@woven sluice Thanks, this helped a lot. I also activated the AWS Global Accelerator service. As a result, the speed increased from 13 Mbps to 600. The ping dropped from 77 to 10 ๐ณ
Hello people. I've been reading messages on this channel for an hour but I guess I still want to ask. I've always used Git + LFS. I've heard that Perforce is the first choice in the game industry, but I've never tried it myself. I may be able to expand the team to 10 people soon, but before that, I need to decide what to use. (Currently using the Git service provided by Azure)
The Helix Core software is free for up to five people. I read somewhere that you can share seats. Is this really a thing though? Is it legally possible to use a shared seat in order not to reach the limit?
With a team of 10 and a project size close to 100GB, what would be the estimated monthly cost for me using Helix Core? (Cloud expenses)
Does it make sense to go with Perforce or should I keep going with the Git service that Azure provides? I would really like to hear your opinions. Thanks!
best way IMO is to use a streams depot and add Binaries/... to the stream's ignored settings
I can say that it is probably
technically feasible to share logins but is a bit of a silly nuisance, and I'm sure it violates their EULA. I also have never contacted perforce for a quote but from what I've heard over the years, I think the rough order of magnitude of licensing might land between $1 and $2 per user per day
Lol. Really? That's the ballpark? That's same price as creative cloud per user. It's made out to be 3 house mortgages
like 3x the price of creative cloud... but also where do you live, i want to live somewhere where i can afford 3 houses on $1 per day ๐
That's my point. It's like nothing when are at the scale of paying 5 developers.
Perforce is the kind of software sold to enterprises and it's why their sales model is so opaque. It sucks for individuals, but it's unfortunately common for the kind of software it is.
5+*
See also: Visual Studio (or even worse, MSDN) when you have more than 5 devs.
oh, i understand what you meant now haha
Yeah. Obviously the jump is a shock, but on the grand scheme of things, people are still far and away more significant costs. When you look at the time saved by this software, it's a no brainer.
That's fair, I think some of the whining about price comes from the fact that a number of people here are just doing stuff in their spare time and not seriously building a business.
And of course people being used to tools being free.
Yeah, and that's a reasonable viewpoint for a hobby project, but few hobby projects would exceed 5 people. I've heard an 80-100 person company complain about getting it for the 20 people in the realtime department. I had no idea it was in that ballpark, the complaints made it sound 10x that. The amount of money wasted elsewhere but the scrutiny for perforce... mind blowing
Hi, I am thinking about using perforce
is it worth hosting it myself or using a managed service like github
GitHub only hosts git-lfs, not perforce. Pricing is a bit strange on that with data packs. There's a hosted perforce service called assembla. I've not used it, but I understand it means you don't have to worry about the sys admin side of perforce. You can also host on just normal vps/cloud services. Doesn't have to be on-prem. If you are somewhat familiar with sys admin stuff, the basic server setup shouldnt take too long, but there's some stuff to look into such as backups and rotating the journals.
assembla that is what i was after
yikes its way more expensive than github
i think self hosted might be an option
Yeah imo the assembla route only makes sense for very particular circumstances. Teams up to around 20 that don't have sufficient sys admin experience, or shorter term projects. Otherwise I think it makes a lot more sense to self host
assembla isn't a good option for cloud hosted perforce unfortunately
recently perforce did send a survey to me which seems to be asking customers what they would want from managed cloud hosting
if they did it and it wasn't that much more expensive than hosting on AWS I would do it in a heartbeat
Hello, i am setting up perforce, i was wondering if anyone knows if i should enable unicode mode, i assume i must else i can't use UTF-8
Hey!
I'm trying to submit a 60Gb project
I have 100Gb free space on the AWS server
In the middle of the process I'm getting this error:
The filesystem has only 40.4G free, but the command estimates it needs at least 60.3G available.
Why perforce wants more space than the project needs? And how can I fix that?
Probably because /opt/ is mounted on a partition that has 40.4G free only
No, it's absolutely empty storage with 100Gb free space
What does fdisk -l says?
I think this command is for Linux. Im using windows server
I am migrating to my self hosted perforce, i was using git and i have git submodules, should i delete the .git dir and simply update by dropping in a new release?
How do you guys manage LFS files being read by git? We managed to add the files there but git keeps reading them as changes whenever an LFS pull happens. Junior devs are struggling working with this issue.
I've been working on a solution for automating devops (starting with perforce). Thoughts and suggestions on what you think is most important features you would want? Web-based ui for managing infrastructure or automating disasters recovery or something else?
Here is a demo to what I've made so far. Source code in the description.
https://www.youtube.com/watch?v=864MNv4vqtI
Game Studio on AWS
https://github.com/zytalus/game-studio
My project is available on GitHub and covered under an MIT license.
When I started working on game development I wanted to use industry standard tools but, I never found a solution that seemed to link all of these tools together into a clean package for easy use. If I wanted to work on ...
anyone know how to resolve HTTP 413 errors when uploading code using git lfs to Azure Devops?
Hello!
I am getting this error in the perforce server log every second (Hosted on AWS), what is the reason for this?
Perforce server error:
Date 2022/08/28 08:19:57:
Pid 5160
Connection from 15.177.2.97:63626 broken.
Partner exited unexpectedly.```
I would be grateful for any advice!
I've already done git config http.version HTTP/1.1 BTW
guys I wanna ask i have c++ game project and my folder was too big maybe 14gb and its really smal.. also .git folder was big about 7 gb and i wanna create new git folder and upload it from start I just wanna know if I can use this gitignore i found https://github.com/MOZGIII/ue5-gitignore
will be all important files uploaded ?
just do git lfs install then make a .gitattributes/.gitignore file and add all that stuff from the .gitattributes/.gitignore file into yours. After type git lfs track and then do your normal git commit/push. @crystal prawn and yeah that gitignore should work
Guys can I also ask how I can input git credentials from AWS git ? in GitHub desktop
guys I have problem with pushing my repository its cloned and i have also aws git credentials for it but it was no asking me for credentials... i have no idea where to put it
guys I uploaded my project to google disc and downloaded here on my laptop and when I try to open it in visual studio everything is red....what can be problem ?
Did you regenerate your vs project/solution?
Is this your IP address or some unknown address?
You should use aws cli to run the command aws configure which will configure your environment make sure the credentials you use have permissions to access codecommit. I've not used aws code commit with GitHub desktop but are you able to you use git push in the command line?
I have a git hub repository that I want to be used as a submodule. So the content looks like this
- SubmoduleRepoName
-Directory1
-Directory2
When I use this as a submodule, I just want to pull the Directory1 and Directory2 straight into the project. So instead of
-PrimaryRepoName
-DirectoryA
-SubmoduleRepoName
-Directory1
-Directory2
I want it to look like this:
-PrimaryRepoName
-DirectoryA
-Directory1
-Directory2
is this possible?
i Can use git bash but there it's not asking me for credentials too
Help me , my git ignore not works ๐ฆ
may as well try this one out
I also use this git lfs setup
I was using github but I got a quota exceeded error for lfs files, then I switched to bitbucket and I got the same thing. I am using heavy assets of about 500mb or more, which remote repository do you recommend?
i have no idea I deleted credentials form windows credentials manager and tried to clone again then I put inside credentials because it was asking and successfully cloned when I added git ignore and git attributes commit and push was successful but when I added whole project about 6 GB I got this error when tried push
it's till same
what it can be?
Could it have something to do with it being a lfs
Like committing larger files is special permissions?
yea we deleted lfs and friend pushed without problems but now
i am trying to clone and this is third time i am getting this
i dnt understand i tried wifi and data and same
Hmm never seen that before but I found this https://stackoverflow.com/questions/66366582/github-unexpected-disconnect-while-reading-sideband-packet
On an other topic, Epic Games accepted the fix I proposed for the "Out of Video Memory" crash we have been having in long running source control operations, yah!
https://github.com/EpicGames/UnrealEngine/pull/9492
I have consumed all my github bandwidth, what can I do to avoid this in the future? I am saving in the repository, the environment and the assets downloaded from the marketplace, is it correct or should I save it somewhere else so it does not consume so much bandwidth?
hi, sorry to double post my question and be annoying, but could someone direct me to a page to set up access to a project on multiple computers, id prefer to be able to work on my project from my laptop and still have it open on my rig but i also dont mind just having file access
again, super sorry for asking twice.
when it tells me I need to check a file out ,does that mean that the changes wont be saved ?
Thats telling you that you made changes to a file that Source Control wants to allow you to take ownership of. The changes would be "saved" to Source Control if you check that file back in.
After accepting to check it out.
I see it has added many of these external actors
not sure what they are
Those are OFPA (One File Per Actor) generated files.
so it's fine ?
Yes, you want to commit those. They are quite literally designed for specific use with Source Control.
I tried to save the map and I get this again
yes, that's a warning that you didn't Check Out the file, so it's not "locked" (to prevent others to also make changes) and you cannot Submit it to source control
you have to right click on the map in the Content Browser -> Source Control context menu -> Checkout
I have to do this for every asset ?
Yes, that's the workflow with Perforce ; it's meant for team work, to prevent multiple developers to work on the same binary assets that wouldn't be mergrable afterward
But there is an option in Unreal Editor to have it so automatically for you if you don't want to do it manually
currently Im working alone on this project, so nobody else is getting the files
I documented all source control related settings I was aware of, in Unreal Engine 5:
https://github.com/PlasticSCM/UEPlasticPlugin#editor-preferences
Automatically Checkout on Asset Modification
Checkout an asset as soon as a change is made to it (without even saving it). Will not show the "checkout" notification.
thanks
I have released a new version https://github.com/PlasticSCM/UEPlasticPlugin/releases/tag/1.6.2 of the Plastic SCM plugin, with additional polish to the support of Changelists for Unreal Engine 5.x
But more importantly, this version has been accepted and integrated (https://github.com/EpicGames/UnrealEngine/pull/9414) into ue5-main for their upcoming Unreal Engine 5.1 release ๐
Gonna have to give plastic a go one of these days
then you get frustrated at the bugs that have existed for over 5 years
guys can i get advice why this is uploading on git when i have it in gitignore ?
I added it as whole file
i mean gitignore
but i try delete it commit push
and then paste gitignore again
maybe
and push
Hello, I'm using Perforce locally and have a workspace that has my project folder in it. I just finished a new update and want to copy the Perforce workspace contents to a separate folder that isn't managed by Perforce. I want to do that so that I can package the project and then archive it as a whole so that I can store that specific update somewhere else.
I tried copy pasting the workspace contents to a new folder and disabled source control from within the project, but all files still seem to be connected or altered by perforce somehow. If I make and save any changes, unreal asks me to check out the related files out of perforce.
Could someone tell me how to properly do this please? I'd really appreciate it! ๐
what's the point of this? anyway, if you want to you should be able to 1) copy it, 2) remove read-only status from all files, 3) disable source control settings... or maybe delete the Saved folder to brute force return editor settings to default, might also work @visual pond
I just want to store each major update in a zip file that isn't dependent on things like perforce or anything else. No particular reason other than being able to visit old updates on any PC whenever I want to.
It's a long term project so it's kinda cool to be able to jump between all the different stages in the future. Also, it's just another (probably redundant) layer of backups that I can store on an external drive or similar.
I figured out that even tho unreal asks me to check out the files from the copied project, I can just click on the "make writeable" button and that decouples it I guess. Do you know how I could remove the read-only status from all files at once?
Is this the best .gitignore to avoid bloating your repo when creating a new game, or is there something better? https://github.com/github/gitignore/blob/main/UnrealEngine.gitignore
does anyone use Helix Swarm? ๐ค does it have any notable adoption across Unreal developers?
There is no best, but fine as starter.
It is not like you choosing compiler
Add speific things later if needed, like if you have local solution caches enabled or smth else specific
Hi, guys hope you are doing good. Got a question I am using perforce and downloading a project from there. it has been 3 days of continues download and It has still downloaded about 3 - 6 % of the project. Tested my network connection its fine I have about 45 Mbps download and 50Mbps of upload but can figure out where the problem is.
can any one guide me
Maybe the server is slow? Does Perforce tell you the download rate, or only progress? I know Git tells you the download speed
Do git rm not just a filesystem delete
sorry, this is probably a noob question.
I canโt get the maps to update with changes of another user in UE5 source control. In this case, making a cube red.
World partition streaming is off.
One File Per Actor is off. (on both users)
Automatically Checkout on Asset Modification ON. (on both users)
However, the Level asset doesnโt seem to check itself out when I modify actors inside the level.
When I manually check out the Level, change cube material, move the cam, save, check it back in... then the Levelโs camera position will update on the other userโs machine when synced. But the cubes remain all blue.
Iโve had the same thing with Perforce and with Plastic SCM, so itโs probably something Iโm just not understanding about the workflow.
Other, non-level assets work as expected.
Hello, i am looking at p4vs and opening my project, the strange thing is, the .sln file doesn't show, i guess that is because i have it ignored?
Does anyone know the name of that Git GUI that's made specifically to be friendly for artists to use?
I can't find it in my bookmarks 
There are several, but you're probably thinking of GitHub Desktop. https://desktop.github.com/
Thanks I did find it eventually! This is the one https://www.anchorpoint.app/
Oh! I haven't used it yet, but it looks cool. These guys are MegaGrant recipients.
Oh nice that's a good sign. I'm too poor to afford it for our game jam maybe if I write them they will have pity on us and let us use a trial or something ๐
Damn, someone finally made an artist-focused git client?
That's been one of my big problems with git for any sort of large team. Most clients suck for non-technical users.
Anchor seems geared toward film/media teams, but it still looks promising for artist use in general.