#source-control
1 messages · Page 10 of 1
thank you
hello, has anyone got experience moving a p4 server from one machine to another? I was hoping i could simply install p4 an rsync over the the /opt and /etc dirs
probably need to have everyone (err both of us) submit work as i don't suppose p4 likes to be moved
Follow the documentation on backup and restore. Essentially, shut down server, make a checkpoint, copy checkpoint and archive files to the new machine, install p4d on the new machine and restore. No need to submit everything etc, should be able to point users to the new server and continue.
Oh that sounds good!
If you use docker you can literally just copy/paste your config directory and it won't even know what happened. It will just work.. Probably
I thought p4 + docker = 😦 from all the articles i read
Nah they lie. This is what I followed to get started https://aricodes.net/posts/perforce-server-with-docker/
Hi, I have a problem in P4V, I can't send my project to my server. I create a new workspace, after i choose my project files to add in workspace. All files are correctly duplicated in the workspace but when P4V try to push files to the server it dosent work and i have a warning for each file: d:\UnrealProject\W_Isometric\Isometric\Content\ExampleContent\ParagonGreystone\Characters\Heroes\Greystone\Animations\AimOffsets\Idle_AO_CC.uasset - file(s) not in client view.
If someone have an idea plz
your workspace root is probably wrong
If you were following Mathieu's Perforce tutorial on youtube (I assume you did) this is a known issue from his series
Lol i absolutly followes his tutorial
Do you know a good tutorial to configure my workspace?
Thank you!!
I have a 5.0 UE project that I have opened in 5.2 (as a copy), and it made a new project directory, etc.. Is there a standard way of handling this with my code repository so it keeps the history of the old 5.0 project? Should I just point the repository at the new project directory and go from there? Or go back and open the 5.0 project in 5.2 "in place" (which strongly warns me against, but the whole point of using version control is I can go back if I break anything)? Or something else?
Is it as easy as just pointing the repository at the 5.2 project dir and commiting everything and done?
I'm using git and sourcetree.
@frail condor check the pins here, but imo github is the easiest to setup and work with a small team
thank you very much really, I will do it
and your 50gb project you're just counting the files you need right?
what do you mean?
you don't want to check intermediate files into source control, or compiled binaries (usually), or most of what's in the Saved directory, or ... Just your source code and assets.
Hey there, I have released a new version of the Unity Version Control (formerly Plastic SCM) plugin for Unreal Engine 🎉 https://github.com/PlasticSCM/UEPlasticPlugin/releases/tag/1.8.1
It comes with robust support of the recent UE5.2, major performance improvements, QoL improvements, and rebranding to Unity Version Control. 🥳
I'm working with my dev on unreal with perforce , and he's using add-ons that are now not free anymore !
I precise that the plug in is to be installed in the engine , and right now i have compile errors on important composent of my characters , can he share the late free plug-in with me or do i have to buy it now even if it is source controled ?
thanks guys ! 🙂
Depends what the licence he agreed to says.
If it says he's free to distribute it, sure, why not?
It was last year but now the guys made it 60 bucks ! :/
so when i'm opeing the project with source , it says to me that i miss add ons but it redirects me on the market page to dl it , is theres a way for me to work with this add-on that he got for free at the time or do i got to pay for it ??
⬆️
Sorry for the ping by im having the exact same issue right now with buildgraph on a compile job, what did you do to fix it?
ahh ok seems like mine is unrelated then, sorry to bother
sure one sec, I need to run the job again
Currently doing sanity check with lyra because I got sick of triggering ci runs manually but this is what I get
****** [3/3] Compile LyraEditor Win64
Reading local file list from T:\UnrealEngine\Engine\Saved\BuildGraph\Compile Tools Win64\Tag-Compile Tools Win64.xml
Reading local file list from T:\UnrealEngine\Engine\Saved\BuildGraph\Compile Tools Win64\Tag-ToolBinaries.xml
Reading local file list from T:\UnrealEngine\Engine\Saved\BuildGraph\Update Version Files\Tag-Update Version Files.xml
Reading shared manifest from T:\UnrealEngine\Engine\Saved\BuildGraph\Compile Tools Win64\Manifest-ToolBinaries.xml
Running: T:\UnrealEngine\Engine\Binaries\ThirdParty\DotNet\6.0.302\windows\dotnet.exe "T:\UnrealEngine\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" LyraEditor Win64 Development -Manifest=T:\UnrealEngine\Engine\Intermediate\Build\Manifest.xml -NoHotReload -xgeexport -NoUBTMakefiles -log="T:\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-LyraEditor-Win64-Development.txt"
Log file: T:\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-LyraEditor-Win64-Development.txt
Using 'git status' to determine working set for adaptive non-unity build (T:\UnrealEngine).
Couldn't find target rules file for target 'LyraEditor' in rules assembly 'UE5Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
Location: T:\UnrealEngine\Engine\Intermediate\Build\BuildRules\UE5Rules.dll
Target rules found:
Took 1.3105514s to run dotnet.exe, ExitCode=6
UnrealBuildTool failed. See log for more details. (T:\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-LyraEditor-Win64-Development.txt)
AutomationTool executed for 0h 0m 9s
AutomationTool exiting with ExitCode=6 (6)
BUILD FAILED
Im used to BuildCookRun where you just pass the uproject dir and the target as params. Am i missing something for the compile task?
It works just fine when I pass in the Project={path to uproj} param but from what I seen that isnt needed which just leads to more questions
yeah, and it works when I give it the project path
how does UE get the target files in the first place if you dont specify a path?
i tried executing it in the projects base dir thinking that was how but it didnt work
i can't remember
let me take a look at my stuff, might be a while though cause i need to boot up work pc
take your time, thank you
What do people use for hosting their projects, if anything?
ue 5.1.1, I'm telling subersion what the repo is, yet on accept settings, it thinkts itis somewshere else , how do I update this ??"
with warning,this is not a workingdirector,which it is NOT ;0-0
I think I've identified an issue with the Unreal Engine source repository's .gitignore file. Specifically, the Engine/Binaries/ folder has way, way more stuff in it than the .gitignore folder would lead one to expect. I suspect that there are conflicting rules at play and no one has bothered to check. I'm also not entirely certain that I understand what is supposed to be in there by default, so I'm a little hesitant to attempt a fix and issue a PR myself. Is there some way to file a bug for something like this with Epic?
Is there a way to make internal assets available in users' vaults so you can push updates without making them available on the marketplace? Not sure the best way to deploy tools to 100+ people while allowing them to import to their projects easily and update
Is th at really what the marketplace is for?
You could use UGS for something like that
Well, we're introducing Unreal to an architecture firm for archviz, they'd all be using these tools across different projects, similar to how you can import marketplace assets on the fly, and clicking update would propagate the updates to all projects using that asset. Would UGS work for that? I had never heard of it
UGS is sort of like an "easy to use" frontend for perforce for unreal.
You would add your tools onto a p4 repo and use UGS to update it.
You could even put them in the same repo if you dislike organisation! 😄
Ah, I had tried setting up Perforce but put it on pause when it wasn't working, it may make more sense now
Is Perforce generally used for code and blueprints like Git, or is it also used for assets like meshes and textures that can be huge?
Perforce is a catchall for everything. It seems.
However setting up p4 and ugs is not in my wheelhouse. Just don't ask chatgpt. It gets it wrong.
Lol noted
hello p4 just ignored my ignores and added .vs files and some from Saved, how can ignored directories get added?
Are you sure it didn't ignore your ignore file?
i hope not
IIRC there is a tiny bit of setup to get the ignore file to work.
it didn't add everything
SET P4IGNORE=.p4ignore or something. I'm sure someone knows...
yeah did that
Ah
its been working
just oh some random files
when i add it ignores files and i get a list of files it ignored when i try and add from the base
but just now its complaining about missing .vs files
and p4v is grinding to a hault
any error messages
no error messages, just complains about .vs files and Saved/Log files that are now missing
no idea how thy sneaked past me
i was crazy careful
ok command line time, p4 submit -c 123 🙂
p4v is hanging
i see a lot of #1 files
is that normal
uasset#1
oh revision #1
Sorry, this must be asked really often, but I'm still a bit lost. Is there a source control solution that:
- is free or extremely cheap
- doesn't require self-hosting
- for solo development, so disregard collision and team size concerns
- works well with the engine built from source
?
Every option seems to have a huge con that sort of ruins my plans, haha. Thanks!
OBS: worth mentioning this isn't your 500gb nanite project, I don't expect file sizes to grow that large
You can "self host" a p4 server on a free azure server or whatever.
However, git is free, but they make you pay for LFS (large file storage).
Ohhhhh, so I can use Perforce with stuff like Azure DevOps? That seems perfect
I'd love to use GitHub as that's what I'm mostly used to, but I'm not really sure if I could get away from LFS. It seems like anything below 2gb is fine... but why would I have an asset above 2gb? Do unreal maps end up that large?
Thanks a lot!
It's not just the asset, it's the asset history.
And I'm not sure, but maybe there's some sort of data transfer cap too?
If you wanted to stick with git, you could use azure devops to run a git lfs server.
At least I think it's azure. There's one service that does a free tier.
(well, probably more than one)
I'll definitely look into it, thanks a lot for the help! Do you personally prefer p4 or git lfs, btw?
I much prefer teh simplicity of git. But LFS has its issues.
I'd love to be able to use p4 with branching, but it's not allowed 😦
(by the company I work for)
i broke git and gitlfs before, p4 even thought i don't really know it works better with unreal
i would love to get the time to understand streams, but perforce is a bit twitchy compared to git
any suggestions how to remove add //WildHuntTrailer/Saved/webcache_4430/Cache/f_0000fe#1 (thousands of them)
Delete key?
just learned the ... syntax
P4v should work just fine and easy to erase the saved folder
Sorry if it's a dumb question, but how would you guys go about "cloning 5.2 source code, making engine modifications and starting a native project there, while being able to pull 5.3 later when that releases"? With git, as I decided to go with git LFS in azure thanks to you guys ❤️
hello again, p4 is confusing the stuffins out of me again, i see a message D:\src\PHANTEKS_WILDHUNT\WildHuntPCGDev\Plugins\WildHuntEnv\Binaries\Win64\UnrealEditor-WildHuntEnv.dll i've put the Bins it the ignore list, why is it even looking at them?
It's pretending to be a raccoon?
this is probably the most likely reason
i googled and all i found was people cussing p4's ignore system
ya well p4 bites yes, doesn't work reliably in win11
so Iused pasted into notepad,done.
with luck , the other command line arguements work better ;0-0
anyone here getting folder level errors getting perf. working in sc in ue5 ?
I chose wk in place other than where project is
worfking dir
perf howto said nothing aboutnot being able to so...
the ignore system is quite simple in practice.
- perforce looks at environment variables to discover various file names to look for
- perforce looks for those files in the workspace as it traverses it during add operations, and uses them
you either added the DLL file already to source control, or something above isn't set up correctly
or you've found some other way to forcefully override default behaviour
why am I getting, does not map into directory with perforce,everything looks fine
CommandMessage Command: Connect, Error: Workspace 'neighborlee_Essence_Main_7073' does not map into this project's directory.
Hi guys, my plastic SCM keep showing this message " The remote host closed the socket " I try everything in internet but I can't fix it
is there way to find fix it
oh I fixed it. just sign out from plastic and sign in again fix it
sc in ue is so buggy
I can get errors, press exist, and it works ;0-0
with errors, but works, OK ;0-
do you like plastic scm ?
Ive no luck with any of them, getting scd working iin ue 5.1.1
perforce CLOSE, but it doesn't like where workspace is
What are you talking about
Also PlasticSCM is the worst source control I've ever used, and from what I heard still has the same issues from when our studio trialed it over 8 years ago
Hey, I heard that in UE5 with perforce there is a feature where multiple people can work on a level at the same time and am wondering how to set that up. Any ideas?
so far, ive got no sc working and ive tried them all but plastic, I dont call that very good sc
perforce is almost there, but nadda
Not being able to understand errors is not the same as it being buggy
and nobody knows whyk no responses on forum
I understaned the errors, but there is no remedy given, anywhere
iod c]
I'dcallthat ineffective
and on and on
Like what. The last one you posted is because you created a workspace but the project doesn't exist in a directory relative to the workspace root
yes and nobody has offered any help, the error is vaaaaaaaaaaaague
And no source control working sounds more like a you problem than any fundamental problems with the source control itself
That error isn't vague
still, no fix for the error 😉
ive googled, no fixes noted
ive tried moving wkspace close to project dir, still nada
as I said, the error is vague
It really isn't
"does not map into this project's directory" is telling you exactly what the issue is
odd tho,no hit comes back on google,for a fix
The workspace root must be a directory above the project
You should add the project to P4 in P4V before using the editor
done
np
With the workspace open
Did you make your content directory the workspace root? No wonder
The fact there's a directory called Blueprints in the root of the workspace
Also I don't know why you asked what I said back as a question. The workspace root should be the directory above the project
the tut i was looking at said to do that
I somehow doubt it
Before, it wouldn't mean anything else in this context. There's more to versioning an Unreal project than the content directory
the wkspace is in G:\Documents\EssenceSVNwc , one below xxxx where all of project is in
Im awareof that
i had to fix that,to get anywhere 😉
The uproject needs to be in the workspace, and all the other directories (Config, Source if you have code) need to be too
That's not the path in the screenshot
i know
so how does one GET a given dir, into wkspo
I was trying to get one thing done at atime
im been jumping between all sc options to find one that works,its been a bit uncomfortable
git is prob. the easiest, but it too isn't particularl well done with docs/tuts
none ofthem really are
there test.uproject is in wksp
just need toget config and content, yup
not sure how to do that
do I just copy them in directory of with a perf. tool ?
of/or
ok got it
so yes as i noted
Now that you have set up your server to properly recognize file types and ignore files, you can add project files to the workspace.
Copy your game engine project files into your workspace root folder.
ill do that momentarily
ty for your input any is appreciated
So perforce is free for 5 people it seems. Do repos have a size limit? Are they hosted in their servers? Do I need to use another service for hosting?
perforce does not provide hosting
there is no size limit, only a user/workspace limit
yes im doing it locally
and yes againm
5 users ...
no size limit as per file you mean ?
sorry didn't see daahrien speaking to you;0-0- wsas away for a moment
@orchid plover https://www.perforce.com/resources/vcs/helix-core-pricing\
How much does Helix Core by Perforce cost? Get Helix Core free for small teams and scale up. View pricing plans and details here.
Oh perfect. What is the estimate costs of using a cloud service like AWS? My projects is like 70 gbs at the moment. Also if I go local, I should have a pc on 24/7? Can I use my own PC? What are some tips or anything you think is relevant I should know.
you can use your own pc if you have a dedicated ip ( if you want to access it remotely)
if you're solo your pc is more than fine
only 24./7 if you intend other access and their schedule demands that for project
as for aws , if you're just begining i'd personnaly recommend against it , you mess 1 thign up and you end up selling da house to pay them
Get yourself a cheap vps / dedicated server if you dont wnat to host it locally
Ok. Thank you both.
You can go for something like this , its cheap af , has a lot of storage and good enough to handle it
Oh yeah. that's perfect for a small team.
do you really need a dedicated server, can't one just use a DIR setup with permissions,guess it depends on security needs?
but ya if that cost is fine, then awesome ;)))
also if you decide to go for remote , make sure you follow p4 guidelines on setting it up
so you dont end up allowing any1 to connect , register an account and just clone the repo
yes, in perf. you issue passwords to anyone that wsants access, as I recall , or amI confusing svn ;0-0
I suspects its simlar with all sc's
Yeah. My team is remote.
if you;re fine with some fees
give plastic a try 😛
its a LOT easier than p4
any1 with basic english can use it , doesnt require setup , and is very stupid to use
I thought about plastic, but how does it compare in space to perforce or is it just remote
perforce has not been the easiest ore quickest, but its not hard either ;0
Until the server crashes or freezes, or the buggy client fails a merge for bogus reasons
The WOAT of source control
git is perfect but files have to be binary on Unreal. :/
@orchid plover even over svn
@orchid plover HM cant find out how to change, what git thinks is workspace root, any idea how ? On choosing git in ue5,thereis no edit , for such git items
only thing is, git is in beta, svn is not
I use control system detached from the editor. As long as git knows it's folders and files it has to track.
ok
dev asure did the trick, copied to clip the repo into github in ue5 and bam
we'll see if its as slow as mentioned,if so ill use something else
weird tho, when I brought up github as choice in sc, the dir showing was actual project dir, but I accepted, and when lookingh in sc lower right on hover, it showed correct dir NOT project, so is that a bug who knows, if somebody else is seeing this, it works
still have this question
what feature
if you're thinking about multi-user editing, it has nothing to do with perforce or source control. If you're thinking about one-file-per-actor, simply make a new level with world partition.
OFPA is technically possible without world partition but epic considers it experimental - https://docs.unrealengine.com/5.0/en-US/one-file-per-actor-in-unreal-engine/
ahhh so world partition
idk, I just saw it in perforces video when they were using it
now we had a problem where a team member had a map checked out and another needed to edit it, so been thinking about that
OFPA does help, as does splitting levels into sublevels. Depends on workflow.
For us it's fine, they create assets and toss them in basically
aka replace placeholders
perf., ue5.1.1. all current, perf.working great, enabled, but then I get these CommandMessage Command: UpdateStatus, Info: Path 'G:/Documents/Essence/Test2/Config/DefaultEngine.ini' is not under client's root 'G:\Documents\Essence\neighborlee_Essence_Main_7073'.
CommandMessage Command: UpdateStatus, Info: Path 'G:/Documents/Essence/Test2/Content/Map/Esse_tall/_GENERATED/thehe/Sphere2_CE91EFC3.uasset' is not under client's root 'G:\Documents\Essence\neighborlee_Essence_Main_7073'.
,anyone know what might cause this ?
before turning on perf. sc,I added entire config and contents dir from repo so...
your workspace directory is not the same directory as your project
I know that
copied over from proj into wksp ,no more error
no idea why it was missed in the first place, odd.
I aborted a merge improperly and now git is is seeing a merge where there isn't one, preventing me from preforming the new merge that I need to.
I'm relatively new to git and realize that these mistakes are probably pretty embarrassing to have made. I'm using Sourcetree and was attempting to merge branch A into branch B. Partway through this merge I realized I wanted to make one last change to a file on the checked out branch B, and tried to abort. Instead of resetting the changes in what I now know is the proper way ("git reset --hard"), I selected the files in sourcetree and undid the changes manually (selecting 'discard changes' for edited files, and 'remove' for new files). I then edited the file and created a new commit, but because I didn't properly abort, Sourcetree/git thought this commit was still a merge. Now, since I've supposedly already merged the branches together, any attempts to merge ignore all branch history prior to this "fake Merge".
The main two fixes I've attempted were to make a new branch off of B from a commit prior to the fake merge, B/1, and merged A into that new branch. This succeeded, and I could theoretically just continue working off of this new branch, but that feels sloppy and unprofessional. Given that this is a public repository and for the sake of learning proper git practices I want to hopefully work off of my original branch B (and ideally even delete the B/1 branch). Attempting to merge B/1 into B results in the same issue as before, Since each branch has a merge to the other branch previously in it's history, it doesn't recognize any changes made to files prior to the fake merge.
The other fix I've attempted was to revert the commit containing the fake merge. I called revert -m x <commit>, with both 1 and 2 as the parent. 1 (parent B) resulted in the same issue, where git doesn't recognize any difference between the branches, and thus refuses to merge them. 2 (parent A) resulted in deleting the changes made to B.
I do fully recognize that I made a huge mistake by aborting the merge improperly, which is the source of all my issues. But I'm hoping I might still be able to resolve it
I need Perforce help.
I want to try do a "hotspot analysis". https://understandlegacycode.com/blog/7-techniques-to-regain-control-of-legacy/#6-hotspots-analysis-
In the article they give a git example:
git log --format=format: --name-only --since=12.month \
| egrep -v '^$' \
| sort \
| uniq -c \
| sort -nr \
| head -50
I need to do this in Perforce 🤔
perf enabled working mostly fine BUT as I save it seems sometimes I get a section of world part , that causes an error saying, X is not under clients root, fix??
hey joel, my egrep is weak but , are you trying to maintain a history of who made which changes
As I understands it I want to fetch the files that are mostly modified.
In this case it fetches the top 50 most modified files the last 12 months.
I want to do that in Perforce. If possible 👍
So I only need the git part "translated" into Perforce 🙂
I know the other commands
p4 changes
Seem to be the equivalent to ```
git log
Edit: Maybe not quite 🤔
Hi, does anyone know if you can run UnrealGameSync with flags to set the workspace?
You mean you have multiple workspaces set up within UGS and you want to start it with a specific one activated?
Or you want to specify potentially completely new workspaceS?
thanks- trying to do this
bumping this. the tl;dr of the issue is a "fake merge" in which I improperly aborted a merge, resulting in git merging two branches but discarding all the file changes in doing so (and now refuses to recognize any difference between the branches). Unless anyone has any fixes I'm probably going to take what I'm worried is the sloppy solution and work with a new branch entirely (maybe I'll rename the old on?)
not source control related and cross-posting of issues is not allowed
sorry for not updating until now but this was basically how I managed to fix it. I reset to the commit from before the merge, made a new branch B-merge, successfully integrated A into B-merge, then just renamed B to B-pin and B-merge to B. As far as I can tell git treats the original B and the "new" B (renamed from B-Merge) as a single branch as if I'd just done everything properly the first time around
is the pinned tutorial for using perforce with UE4 still up to date with UE5?
alright, thanks
Hey folks, I'm very comfortable with Git, and I've never used Perforce. Is there a specific technical reason Perforce might be better than Git for Unreal projects (ex: better handling of large files)? Or is it about the same at this point? I'm working solo indefinitely, so I think a local git repo to back things up to a local backup server is all i need, it would be great to know if there's a major benefit to Perforce though
It's not about the handling of large files so much as it is locking support for binary files (git lfs locks aren't great) and epic themselves using perforce (so any improvements to the editor's source control integrations tend to happen to perforce first).
Working solo it doesn't really matter though - locking isn't a concern, git will work perfectly fine though you may still need lfs for large file handling.
any norwegians here?
I'm struggling with resolving merge conflicts with ue5 using Github
Is this something i should do on the command line or am i better off just avoiding them all together?
there is github for desktop
Is it ok to ask about Perforce licensing costs here? Because of course you have to contact sales to get pricing
I think we pay $33 per year and seat. (Update: no, we don't)
Yes. Compared to the monthly cost of the cloud server it's on, it's peanuts.
P4 is only self-hosted. they don't have any sort of managed hosting
Ahh indeed, they offer hosting for everything except P4
Even Perforce doesn't want to have the hassle of managing a P4 server
they did try their hand at managed hosting at one point but discontinued it
I don't think it ever left an alpha/beta preview stage
But if I were to start over with what I know now, I would spend more time trying to make Git LFS work. Not a huge fan of P4's model.
Same
A friend also pointed out Anchorpoint to me, which is a sort of Git desktop front-end designed to be more accessible to artists and non-devs
But at EUR20/user/month, it's rather steep
per YEAR? do you mean per month?
if it's per year then shit i gotta contact them finally 
lol if Perforce would charge 33 per month, that's way too much
the historical "word on the street" for budgeting has always floated a bit over $1/day/person
i've never contacted them though
Sorry, long day, and I can't math. it's $495 per seat/year
so, not quite so cheap.
That's ok. Thanks for clarifying!
I'm struggling with resolving merge conflicts with ue5 using Github
Is this something i should do on the command line or am i better off just avoiding them all together?
Where do you have merge conflicts? in source code, or in assets?
I don't think you can resolve those. you can choose to keep one file and throw away the changes in the other. best not to let that happen.
I see ok thank you
Hey guys, got a question regarding baked data and source control- Building a scene with baked gpu lightmass lighting and a reflection capture, but sometimes it just doesn't carry over to someone else's machine when they pull latest on perforce. I understand that builddata for each level is a separate file, but does the connection with it and its corresponding level mean that if someone else has JUST the level checked out, new builddata wont work properly?
Someone has our level checked out but not our builddata. I get this is an easy thing to test but we're waiting on him for something else so I don't want to kick him off early if we dont have to
Hey everyone I really need your help! My lead UE engineer is alseep on the other side of the world and I am tasked with taking our project (that was made on his Windows pc) and cook/package a Mac-friendly version of our demo. After syncing repon and pulling the latest update of our game demo, UE 5.2.1 is crashing before opening the project on my M1 mac. Any advice?
error suggests ISR whatever that is is crashing , can't see all ofit at end
When Epic announced Instanced Stereo Rendering I was quite impressed since it sounds awesome and I can need every bit of performance in my VR project, but now I actually profiled to see the difference, and now I’m not so impressed any more. I see absolutely not benefit with using Instanced Stereo Rendering, actually, I see a decrease in perform...
dunno ,foundthis binging,maybe related
dep onyour system, a crash could occur from resource depletion
Ahh thanks will review!
🙂
on accepting subversion as sc method in ue5 project, error says g:/blah/blah is not a working copy,yet indeed what its pointing to is the project dir itself, where is it getting this, that I wantg that dir to be the working dir ??
I was playing around with some UE Source control integration and now everything is asking me to make 'writeable' despite having fully removed the plugin. Is there any way to make 'everything wirteable' again? I just want to go back to how I was manually managing things externally
just go to windows and change it? (but also why are you going backwards with technology
)
ooofff
Is that for P4?
EDIT: Nvm, just saw later into the conversation. Thats how much the Perforce rep quoted for me when I contacted them.
It frankly sucks because Git/Github isn't great with working with artists (the UE plugin isn't very nice and LFS locks don't work well with who we would need them to work with). So we've been using Plastic (Unity VCS) for our stuff.
Has anyone tried this? https://www.stevestreeting.com/2020/08/09/my-unreal-engine-vcs-setup-gitea-git-lfs-locking/
The case for self-hosting VCS For game development, I like hosting my own source code repositories. The reason? They get big really fast. We’re hardly making AAA assets but even so, things adds up very quickly unless you’re doing something low-fi.
Big files mean increased storage costs, and slower network transfer speeds if you use remote hosted...
LFS locks seem to be the important thing to get working.
Perforce pricing is opaque because they charge studios different amounts based on their size and budget
Base price seems to be around $495. The rep told me they do something different for perpetual licenses. (I think you have to have an org with 50+)
Hi Joel, I whipped up a script to try and get close to what you're looking for... you can call it by "./script.sh" or pass in the date "./script.sh YYYY/MM/DD"
Hi Fragrag, we manage servers in a few ways, we partner with Assembla, we have a service called Helix Remote Admin, and we recently just announced that we're launching a SaaS version of Helix Core.
Assembla is the biggest waste of money on the planet for P4 servers
but at least there's a first party SaaS solution coming
Thanks you! Much appreciated! I will try it out when I have time
@stable tendon I translated your file into a batch script 😄 You know, because of reasons 😓 I took some shortcuts with the date and I'm no batch expert
Edit: it definitely needs some optimisation 😅
I'm using the Git LFS 2 plugin and it's configured correctly and connecting to GitHub. Somehow I got my editor into a state where it does not show the right-click options for Source Control on assets. See:
Where in the engine source can I debug this popup to see why it's missing options?
heya, I need help urgently.
I already tried to get this fixed with ChatGPT, but I´m worried I´m just making it worse.
On top of that I can´t reach the official forums anymore, where I was just gonna post.
So, a while back I managed to install perforce on a VPS with linux.
I know nothing about linux, but I got it done just following the step by step tutorial.
Either the tutorial was missing that info or I just didn´t register it at the time, but apparently when connecting to it using ssl, there is a certificate created, that expires after two years.
And what do you know, that seems to have happend just now:
Certificate date range expired.
I tried a few things from here:
and here
Installing Perforce on Ubuntu is easier than ever with the helix-p4d package.
Most of the process is now automated, and it even generates an SSL certificate
for you. But did you know that certificate expires after 2 years?
I didn't, until my partner tried logging into P4V and got this
I also was adviced by chatgPt to mess with the environment variables in this file:
sudo nano /etc/perforce/p4dctl.conf
And I simply typed in "p4d" in the linux terminal, which apparently created a whole bunch of files and folders.
I realized way too late, that I was probably messing around in the wrong root directory (also thanks to chatGpt):
Like, I tried to set the new ssl directory in this folder
P4SSLDIR=/opt/perforce/ssl/
instead of the correct root folder of:
P4SSLDIR=/opt/perforce/servers/master/root/ssl
As you can see, I´m quite lost.
Any help would be appreciated, wish my company would just hire someone to deal with this stuff, we only recently moved to Unreal and since i did this before, I get to deal with it all...
We were planning on moving to windows, but for the time being we need to stick to the existing linux installation on our VPS, because we don´t have time to move.
Ok, looks like I massively fucked things up here...
Upon further investigation, I found SEVERAL other folders that contained db.xyz files.
The one with the largest files in them most likely should be the correct root folder.
But when I connect to it, I still have no users and when i created a new user I couldn´t see any of the depots...
Any help would be appreciated.
We don´t really need revision history for old projects, but I´m not sure I have a backup for old projects.
Of course we´d have to set it all up again and this time I´ll insist on a new windows server for that, but I´d still like to know how to recover the old depots.
I have several large files in the root of the perforce server, like db.rev, but the db.depot is only 16384 bytes, which means its pretty damn fresh...
solved -- it's https://github.com/SRombauts/UEGitPlugin and my ignored directories contained an empty string which caused all directories to be ignored (and I think the ignored directories modification was made by us)
Well. As much as this sucks...
I think we´re just gonna start fresh. I just checked and we have recent syncs for all out older projects, most of them in dropbox, so they are also cloud backed up.
Its all for offline content, so apart from the master materials/library stuff, we really don´t depend on it that much.
But next time I wanna do this on windows, its stupidly annoying having to do it in linux, when you don´t know how to linux...
I accidentally enabled revision control in editor and I don't want to keep it, but now its always asking me about 'make writeable' is there a way I can globally shut that off? It's done something to majority of my life I want undone?
just go to windows and change it? (but also why are you going backwards with technology
) (again)
are the files in windows actually readonly or is it doing something else to you?
I went and disabled all the readonly, and it seems to work okay for a bit, but then unreal re-applies it for some reason
I'm not using perforce, so I still version control, but don't need the file locking mechanism
i'm not sure if this will be a good suggestion or not, but you could first manually remove file readonly, and then delete project's Saved folder... it contains all of your editor user configs, so everything you've ever configured like version control settings should reset
ill make a backup of everything, and give that a shot
Anyone know if it's possible to have two separate billable PlasticSCM servers on the same organization/account?
I am getting this message in perforce- CommandMessage Command: GetWorkspaces, Error: The filesystem 'P4LOG' has only 222.5M free, but the server configuration requires at least 250M available. --- I have plenty of free storage so I dont understand what this is trying to say, does anyone know?
Ok now I am getting a no files to submit error on perforce
even though we have files checked out
Here are the errors
CommandMessage Command: CheckIn, Error: No files to submit.
Submit failed -- fix problems above then use 'p4 submit -c 46'.
This error will completely halt the server until you fix it, did you fix it?
Hey gang. Getting a hard cap of 2mbps from Perfece. Anybody got any suggestions?
I can't work it out at all.
Server is in Aus and I'm in the UK.
1666 is forwarded. No trouble pinging the server.
No network errors or anything, just crazy slow.
did you turn on parallel sync? if you are unsure: do you have a progress bar with % displayed during transfers or does it just give you an animated thing saying it's in progress? @lethal sluice
You can improve it a bit following some of this advice: https://get.assembla.com/how-to-maximize-perforce-performance/
Don't enable autotune though, in fact you probably want to make sure it's disabled.
Hey mate, I do get a progress bar, but everything is so so slow it's barely working. I left it on overnight and its managed to get quarter of a way through a 60mb file.
It seems to be using quite a lot of system resources too.
Is auto tune the same as window scaling?
Ah sorry autotuninglevel got it
Yeah that's disabled
I'll have a look through these thanks.
If you have a working progress bar it usually means Parallel sync is disabled. Make sure the server vars have it enabled (mentioned on the page I linked).
Ok I'll give them a buzz, thank you
Hmm, I mean can't get a 60MB file overnight is super bizarre, parallel sync won't fix that
But I don't know where to look
Server is running on any decent cloud vps?
Couldn't tell you I'm afraid. i'm an artist on the client side
Unfortuantely the article that noggs linked seems like its mostly targetted at serverside operations
Interestingly I've taken my desktop home over the weekend and am getting better rates 15-20mbps, however my laptop is experiencing the 2mbps cap still while on the exact same network
Foolishly I tried a load of things on the desktop not particularly scientifically though so I don't know if I've changed a TCP setting somewhere
I'm definitely not getting a progress bar. It just animates and says 1 of 1.
Yeah that's parallel sync and yeah it's server side to turn it on, so your team has. I thought you might be the only user or everyone might be affected
Yes I fixed it but now I am having problems with storage. I am using p4v and having it hosted by digitalocean, I have bought a volume of 100GB but it is not showing up in the p4v storage capacity. Do you know how to add the volume to droplet/ p4v?
You will have to look at DO's docs on it, and once setup it'll likely appear as a separate volume. At which point you'll have to move your p4d's storage over to it - p4d can't inherently use any available volumes, you have to choose a specific directory.
Moving to the volume should be as simple as moving the p4d server directory and setting up a symlink though (or changing the server config to point to the new location).
Assuming you're talking about block storage volumes, DO has docs for setting up a volume: https://docs.digitalocean.com/products/volumes/quickstart/
Ok thanks thats actually very helpful. One more question do you know a way to delete files in old revisions? My project is only 10GB but it is taking up 20GB do you know how to do this or what would be taking up the extra storage?
You can manually delete old revisions via "obliterate" which deletes revisions permanently. You can do so from p4admin in the depot tab.
If you want to set a general policy for specific file types, you can use the perforce typemap to set specific filetypes that will only store the last x number of revisions (you can also do this for specific files)
Note that files that already exist in the depot do not get new changes to the typemap applied automatically, you need to either set their type manually or use p4 edit -t auto ... to modify every file to match the new typemap.
There's information on the typemap here: https://www.perforce.com/blog/vcs/perforce-p4-typemap
The specific option is +S<n>
Also, I don't think the option applies retroactively so you'd need to obliterate old revisions manually after setting that flag (but new revisions shouldn't require any manual work)
Ok thanks. I am in the admin depot but when I click on the depot nothing pops up and the revisions aren't showing. Sorry for the basic questions this is my first time doing this type of stuff
run p4admin, go to the depots tab, expand whatever depot you want. There's a bug where sometimes there's nothing inside a depot, just press f5 to refresh.
Hi, does anyone here have experience with github self-hosted runners? When my workflow runs on a pull-request the actions fails in the actions/checkout@v3 with Error: fatal: --local can only be used inside a git repository and later Error: fatal: unsafe repository ('C:/Github/Runners/actions-runner/_work/MyProject/MyProject' is owned by someone else).
I googled a lot and could not find a solution on why the checkout actions fails... Sorry if this is not the right place to ask.
I run my runner as a service on windows
When I start my runner manually with run.cmd it works just fine.
Why would I want to disable Autotune? According to the description of what it does it sounds great 🤔
Ymmv but there's often a bug with windows clients and Linux server where autotune can cause a lot of errors.
I see. Maybe I should look into that at my company.
From what I can see there were some issues when it was introduced in 2017, but Perforce made it default enabled in 2019.
@cyan jay and for windows clients it seems that you might wanna look into "Receive Windows Auto-Tuning Level"-setting in windows
Always nice to find potential performance boost 😎
Using sourcetree and azure for my project. But everytime I open sourcetree it seems to pull a load of files i have removed...
Anyone have any clue whats going on?
Its like it overwrites all my changes before allowing me to push my updates!
Any renamed or moved assets reappear
Well, you're welcome to try it but I remember someone in here encountered the issue just a couple of months back.
Yes we'll see. It works pretty good now, so maybe I should just let it be 😬
Yeah definitely!
git config --global --add safe.directory "C:/Github/Runners/actions-runner/_work/MyProject/MyProject"
and make sure you run that manually on the box
I see the safe direcotry entry in the git config but it sadly did not fix the issue
then theres probably some reason it's not being matched properly
I figured out the issue. Why it was constantly relocking and re-adding 'read-only' to all my files. I forgot when I was experimenting with git LFS locking plugin. I had added to my .gitattributes to have git lock the uassets. I was dumb and forgot. Removed and it's all good now 😊
Hi @NT, are you using the P4V app? Sometimes on slow syncs, it might make sense to switch to the command line, to add more threads. Are you familiar with the p4 cli?
Hey Ryan. Thanks for the message. I've tried both and both seem to yield similar results. Seems to be a hard cap of 2mbs.
I've been too buried in work to try again recently as it's a bit of a rabbit hole tinkering.
You're welcome and good luck! When you're ready, try checking out parallel threads. Some might be server configurables, but some are command line options when doing a submit. Here are the docs:
https://www.perforce.com/manuals/p4sag/Content/P4SAG/performance.parallel_processing.html
https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_submit.html#Parallel_submits
hey ryan no specific issue, just wanted to say my small team switched to perforce from git recently and we're having an absolute blast compared to dealing with git. p4 integration with UE is great, thanks!!!
Awesome! Happy to have you on board! 🤘
Thanks Ryan will give these a go now. Very happy to be talking to someone directly from Perforce.
Ah looks like this will need a be a server admin thing.
I have less issues with my submits and they're basically just sequences so files are absolutely tiny
It's the pulling of new levels and assets when they're updated that can be five or six gigabytes where the 2mbps cap really becomes an issue
I left it updating overnight and it's only gotten to 20%
Just for the record I'm getting the same limitation with the standard p4 sync commandline operation
By comparison Lucid which we use for non UE file transfers gets 100Mbps up and down
Why are Perforce Task Streams supposed to be only short term? Is it because they do not offer advantages if half full so it would be the same as using Dev anyways? I was gonna do all the coding in a Task Stream child of the Dev Stream but unsure now.
You could use the cli to bump the thread count. So if you have your client/workspace setup, you could run something like p4 sync --parallel=threads=10
It depends on how much data you want to transfer and which files to map (to your workspace and your local machine). Task streams are meant to be lightweight, changing only a few things and then either being deleted or re-used. You could also check out virtual streams https://www.perforce.com/manuals/p4v/Content/P4V/streams.virtual.html.
Thanks for replying. Unfortuantely that doesn't seem to be making a difference.
It's getting up to 0.7Mbps.
But that will still take an age
All the data so Dev seems better to do. I'll just spinoff Tasks for patches or experiments. I was gonna do one Task leaf to do the coding but Dev seems more suitable.
Hey everyone😁
Noob question here - I'm trying to upload my first UE project to GitHub using LFS (Its the Lyra sample project).
I set up the ignore + attributes file, but for some reason, the push to GitHub always fails with the same file that's larger the normal 100MB limit for none-LFS uploads:
"he push operation includes a file which exceeds GitHub's file size restriction of 100MB. Please remove the file from history and try again.
File causing error:
Content/Effects/Textures/Flipbooks/SmokeSwirl_3_Flipbook_CHANNELPACK.uasset (142.57 MB)"
I'm guessing that it has something to do with the attributes file, but I added "*.uasset" to the file for tracking...
So, what am I missing? I'm attaching the attributes file if that can help.
Thanks!!🙏🙏
had you already committed the file before hand?
Yes, the folder is locally commited to main
just be careful since a dev stream will duplicate the whole stupid thing... if your server has one dev stream at 21 GB, and your server disk is 40 GB, extending a new dev stream will bring your server size up to 42 GB and brick your server until you enlarge your disk 🙄
also can take aaaaaaaaaaaaaages to create
A task stream doesn't duplicate the whole thing? What about having many release streams?
I thought only the virtual streams didn't duplicate the files and all the rest do. I'm not sure if task streams only duplicate the revised files.
making me second guess myself, maybe it does
I thought it did when testing it out.. i'll double check now.
lol yep guess it does. my bad. love perforce, but this aspect of it is absolutely trash
I can see them in the depot but I'm not sure if they're just mirrors of the dev stream
what else could make them lightweight other than not storing the files.. i do not understand this
just end up doing trunk dev all the time. iirc epic does something like keep two other streams active, one being "2 weeks out" and the next one "4 weeks out" or something like that. like they don't take off streams just for features, the streams just always exist as moving development targets
can't remember where i saw that though, a presentation years ago
Do the release streams take a lot of space? I have many release streams.
I have to package the same project in several ways.
i would swear task streams ARE supposed to work as deltas though, like i'm super confused, maybe it's a setting i did wrong...
I reckon it's deltas, they just show up as regular files in the depot
Task streams don't duplicate the whole branch
The depot size doesn't seem to have increased after adding and populating the Task stream.. so I think they're just deltas
They only contain the files that were modified in the task stream.
my new task stream is duplicating the full mainline right now as i speak, and there's no cancel so i have to wait while it copies 40 GB 🙃 but i think there's a "branch files" option when you create it that maybe i had on and need to have off
Yeah that's likely why
dev/mainline/release streams are heavy (full copies), task are light (only modified files), virtual aren't real anyway so they don't count.
Oh so the branching option does create a full copy maybe. This would make the task stream useless.
This makes even less sense because how do you even work in task stream without branching files.
not entirely useless, as it lets you play this menacing accidental unexpected game of chicken as you stare at your little VPS's disk space
well you can branch individual files, the option probably brute branches all files
i am unsure what practical use turning this option on would have lol... "i would like a lightweight stream in which i intend to modify every file in my project" lol
I have no clue why that populate option exists for task streams or at least why it isn't hidden away.
The branch option is awesome for creating streams they just get autopopulated.
I suppose task streams would need this off and individual files branched.. that's very awkward to do.
You can always play chicken with the database instead and manually kill the populate process from p4admin in the task manager view
I have no clue how safe that'd be lol
I'm not sure they need that - I was under the impression that they did so automatically on an as-needed basis.
Or maybe that's too sane of a workflow for perforce.
To do it automatically you'd have to branch all the files first to work on them.. or branch single files to work on them which is really awkward and probably incorrect.
damn, this falls so perfectly right on the line between "i want to try this and our team is running slow right now so let's see what happens" and "am i really going to be this stupid?"
I thought they were more like Virtual streams but with the ability to keep copies of edited files.
That's what I mean though, I don't think you do. It should act like a virtual stream giving you a view of the parent until you make a change.
Oh, no, I might be wrong. They might expect you to populate a subset of the parent branch. Ugh.
Yeah that's awkward to do. How do you import the rest of it or do they expect us to do all the work on 2 blueprints without a project file.
Hmm...
Branches and integrated files are stored in shadow tables that are removed when the task stream is deleted or unloaded.
So I guess you're expected to populate but then unload it later to clean up space
Oh so it's a regular dev stream taking up sweet space and then you unload it okay this makes more sense.
Yeah but it's still basically unusable for any large project lol
At best I guess it'd be good for a feature branch that you only need for a few months across the team or something
Not a replacement for branching for individual tasks
Yeah can't just spin these for random experiments if they'll do a whole copy of the project.
is it possible to archive streams?
That's what unloading is
like previous releases?
Unloading isn't the same as deleting/obliterating and is probably what you're thinking of
I'm thinking of how you can archive files for older files. can we do this for older streams.. then I can put all the release streams in archives to save space.. I have too many release streams is the issue as my project has several build configurations
This unload seems to be for clients.
It's for multiple things
I think you could in theory unload a stream and then backup the file storage to wherever you want
This seems to be for the client workspaces not the streams. I do not know if that hack would work. Kind of a hassle to recreate
It's for streams
There must be some backup for the streams otherwise all the previous releases will be taking up too much space.
Or well, it's for task streams. Not sure about other types.
I think the regular archive option might work for this.
alright 40 minutes in and it's like 1/4 done, CHICKEN TIME
Ah yeah. You could archive all revisions from a specific stream I guess
well archive is a depot too so that's kind of useless for saving space lol
Depots are easier to backup and move individually iirc
So you could archive and then move the depot into long term storage somewhere else
Oh there's a literal zip/unzip command https://portal.perforce.com/s/article/15336
So probably just zip your branch and then delete it
And later you can unzip to restore it to a "new" branch I guess
This zip seems to be hte best way if it can zip streams.
Yeah idk, would need testing.
My new depot is really small but I've made many branches of all types and used the autobranch checkbox. Depot only has the main folder. Adding and populating branches doesn't change depot size. Confused!
Now that I think about it... I feel like I tested branch operations (as in p4 branch, not creating a stream) and they didn't take up space until the file was modified.
Which makes sense, a branch should be an entry in the perforce database with a pointer to the original revision
Not a whole new file. So idk
Perforce is weird
I think my conclusion is that hojo's server is haunted.
I'm looking at this unchanged depot size after making 10 streams and then at Homer in the flood.. contradiction. How did he manage to edit 40GB of files.
Somehow one of the options is causing real copies rather than branches I guess
I think the haunted theory seems correct.. Maybe i'ts in how it's setup.. before i was creating the streams and then uploading to each from the workspace which probably does create copies.
Yeah adding files yourself makes new files. Branching just makes a pointer back to the original so it doesn't take up space.
I think this is the correct way to do it.
In most cases, p4 integrate performs a lazy copy. The contents of the file are not duplicated on the server because the integration record contains sufficient information to reproduce the file.
So yeah, no clue what's going on with hojo
I think if we start with an empty project Main and branch to Dev.. then Dev doesn't take any space. As we develop we add assets which all get copied up / duplicated so all streams grow huge.
Then the way to do it would be to do a temporary Dev stream for the dev until most assets are added.. then recreate the entire repository from scratch using the main to branch without duplication.
A seperate Perforce to get to alpha and then switching at the beta stage when most assets and files are already there. Probably easiest to dump the history and start from scratch.
i mean, why though
Then theoretically the streams do not take any extra space.
if you're going to do that, just merge into mainline and delete the dev stream when you don't want it anymore
Yeah you can do that too ofcourse.. i just do not see a point to keeping all that history
(also, the fact that we're even talking about doing something that is practically impossible, merging major development streams, is funny)
assuming the game is fairly stable by that stage then you can start fresh to do releases and final build
nah just start from scratch using the main stream to upload a new main
it's awkward but the only way to get the benefits of the stream pointers
but then if you're not going to dev on both mainline and dev, why would you use a separate dev stream lol
mainline isn't for dev it's just to join the sources / have a stable copy for releases
i was even gonna do a "stable" dev stream so taht i can mess around in dev
infact I will do this because space is not an issue
You had me worried because this duplication changes everything. You can't really get the full benefit of Streams without making streams.
Destroying the old dev streams is the only way to achieve this optimisation it seems.
if you're not going to work at all in mainline and just merge into it, and run some automated CI processes when you do so, yeah that sort of thing can be a valid setup
I think you've had to adjust your workflow due to this duplication thing but You can totally just start with new streams to avoid this once you have most your assets and files.
Then you can make as many streams as you like without any repercussions and reap the real benefits of having multiple versions to play around with.. this is the whole point of it
you talk as if it's possible and practical to make substantial branches of UE projects... it's not
Try this locally with your project
create a new depot and add your current main workspace to new main and make many streams and see the size of the depot.. then you'll see what i'm saying
You won't have to do this 40GB copy ever again.
what
if you make a dev stream, it copies the stream... that's all there is to it. there's no getting away from that
it doesn't.
tick the branch checkbox.
This is my entire depot folder and I have branched to 20 Streams in this depot. They do not even have any folders so zero files duplicated.
yeah, i guess you & siliex are just saying that the way i'm/my server is creating streams is abnormal, i'll play with it more next week when this copy finishes, thanks 
Do it locally to try it out if you're doing this on an online server. Make streams and observe depot size. I haven't seen any increase in depot from stream creation.
It's just an empty third person template c++ project and project size is around 3.5 GB and DEPOT size is only 335MB and it contains 20 STREAMS and the depot shows files are in each stream but they do not even have folders in the depot.. Zero Duplication.
Okay so there isn't any need to destroy streams if it's setup properly but any assets added through Dev are still Duplicated so destroying the Dev streams before beta is still a risky but good idea.
Ok, Turning off the "branch files" option results in an instant stream creation as would be desired for transient streams. Don't have time to play with it more though
I think the new workspace only creates a duplicate on the client for that workspace so ticking this shouldn't do duplicates either. It should work as long as the branch tickbox is checked. The best way seems to be to just create a main to upload the project to first and then do branches from this while having the branch checkbox ticked. Populating the files from dev to main does duplicate them which many people do, and we all have to do during development but this defeats the purpose, which is why I'm considering destroying dev streams or the depot before alpha. The only issue is that's probably the worst time to obliterate dev streams.
I wonder if my server is just so old that the ability for branching to work without full copies is just futuristic to it lol
I think you just started by populating the dev stream and are in this mess because of this but then it doesn't make sense that new branches always duplicate, so your server maybe haunted afterall.
I just did it with the new workspace option ticked and it only creates a local workspace copy but doesn't do duplicates on the depot either. It's pretty hard to mess this up. Just tick branch files.
Well if you started with an empty project the main and dev will be mostly duplicated anyways but I'm uploading a bigger project so I will do it from the main.
Oh I just thought of another workflow to achieve Zero Duplication.. the initial project in just main and task streams without any dev streams.. then at a semi complete stage just delete task streams and branch the main to a dev stream and use normally. This doesn't require removing any dev streams to get rid of duplicates.
The size is mainly an issue for assets so the proper way is to probably import assets from another stream to avoid having to worry about stream sizes but the above ways should also work.
Perforce compresses depots. I just added a 19.5 GB project and Depot size is only 3.5 GB. I think these stream optimizations are overkill for smaller projects but I'll do it anyways now that I got this far.
Compression is a server side setting and can slow down the server noticeably if it doesn't have a good CPU
Correct! We've recently-ish enabled binary compression by default. Glad you're seeing an improvement.
As for the server disk size, yeah, it'll grow. My usual suggestion is to have 2.5x the hard disk space available. So if you're project is 100gb, go to 250gb. Storage is "cheap" in comparison to other costs.
Also for the multiple release branches thread, we now have "Stream Components" which could probably make your release streams lighter, by including the "game" as a dependency and then change the necessary configs/settings for that build platform.
https://www.perforce.com/manuals/p4guide/Content/P4Guide/stream-components.html
I'm checking out stream components but I'm putting my base code in a component but it only seems to map the multiple folders component contents to a single folder. I might have to do this the other way around.
The big ??? there last night was that my server (which is probably at least a few years old) seems to always duplicate files upon creation of any streams if I enable the "branch files upon stream creation" (not exact name) option whereas the others are saying that branched files do not/should not cause any noticeable depot size growth/do not actually duplicate any data on the server until you actually modify the file locally. I'll update our server one of these days.
I'll try to reproduce later @woven sluice . What version are you on?
Not sure (don't have access atm) but wouldn't be surprised if it's 2019 or older. Not really worth asking you to repro, though I might be curious to just hear a "yeah that changed" or "that's not how it's supposed to work" so I know whether to expect it or not with a newer server and whether or not to go on a witch hunt for it 😄
Haha, gotta do a diff check! 2018-2023 has changed quite a bit 😆
@woven sluice honestly you maybe better off starting from scratch. Why do you need years old code anyways lol.
Unless you made some mistake in 2019 that you have to rollback your whole project to.
Doing any major upgrade/change is just "work" which is a hurdle for a tiny indy team 
If it's 2019.2 or later, it's just a stop, switch binaries and start 😉
oh wow, 2016, man i hate being a somewhat-new dad
"pretty sure i installed that yesterday"
i didn't expect my joke about your server being haunted to mean so-old-it's-undead
my server's got that old man strength keeping it going, not sure if i want to risk giving that up now
Anyone have any experience with repository setup for projects that include Plugins? I'm working on a new Plugin and am trying to figure out how to handle the repository configuration. I'm currently thinking that using Git Submodules would be a very nice approach as it would allow me to tie various pieces together with specific commits. Here is what I'm currently thinking:
- Main Project Repository - This is a "super"-repository that consists of a README and submodules (listed below).
- UnrealEngine - A submodule. This is a fork of the EpicGames/UnrealEngine GitHub repository.
- Development Project - A submodule. This is an Unreal "game" project that is used to test Plugin features.
- Plugin Project - A submodule. This is a submodule of the development project so that the Plugin source code can have its own history stream that is separate from anything related to test maps/assets.
There are several different possible variations of this hierarchy, of course. I'd be grateful if anyone here has any specific thoughts about this...
I have a large change list, and I only want to revert a couple of those files - what is the best practice for doing so? Should I just force pull some previous revisions and save the older (but corrected) files as a new change list?
I'm assuming this warning will go away - they are just trying to check that I know I am doing - (basically changing it out of order)
If you go to the CL and revert just the files you want, it should be fine? It will remove them from the CL.
Do you want to revert them to a specific CL from the past?
yes, to an earlier changgelist many revisions prior
Hmm. You can probably revert back to that file. Just check the file history?
I can revert it and it opens fine in Unreal like I need it too - but when I try to submit it, I get that thing that doesn't let me actually hit the submit button
crap, now it won't even let me force "get revision" and specify the number. I've checked them all out and then I try to get the specified revision and it tells me this -
So what should I do?
Erm.
I think it's because you haven't updated your local repo. I'm not sure with binaries tbh. I only do code. 😦
I would just merge with the latest and make any changes I want.
Have you tried grabbing latest and resolving it?
If I grab the latest, I don't see a way to resolve it
see, it won't let me resolve them, they are the newest one and I have checked them out
How is this done?
As I say, this works for me in code, I don't know abotu binary assets. I'd right click on the folder in my workspace and do 'get latest'. Then I would right click on the file in the CL and do 'Resolve'. It should go from a yellow triangle to a red question mark once you have the latest.
But I don't WANT the latest - I want the earlier revision.
Yes?
But you still need to get the latest version to say "yes, I've seen the latest and I'm sure this is what I want"
Very obtuse, I'm getting there though
You can't overwrite something when you don't know what the latest version is
I want the #1 revision but it doesn't list it here
no it's still there, I never submitted anything
Do it 1 file at a time and you might get a different, more clear window.
That doesn't mean it's still there. That just means it know it existed at some point.
Like I say, try 1 file at a time. You get a different window.
I'm not saying you hvae to do that for every file, but it will make the options clearer the first time.
I'll try 1, but I know they are still in the depot because look - if I get that revision, it changes their number appropriately
Okay I'll try that
It's not changing to the red ? though. Shrug
so the process is ?
1 - Get older revision.
2. Check out
3. Get newest revision
4. attempt resolve?
wtf
Erm, no?
One at a time -
It won't let me hit resolve
This process is so unclear JFC perforce
I'm pretty sure it would be a different process to replace the latest file with an older one.
Like looking at the file history and rolling back or something.
I'm going to basically need to copy them all out, revert them, then check them out, and copy the correct ones back then and submit it as a new changelist
That would be the "I don't know how to do it" workaround, yeah.
I know they are good, when I use "get revision #1" then open the editor, it is fine
hm, I wonder if I can take care of this from in the editor
"To rollback a file or folder to a previous revision using P4V, context click on the file or folder and select the Rollback menu option. From the rollback dialog, configure the rollback options and identify the changelist where you want the rollback saved."
Why wouldn't I do this - does this do the ENTIRE revision, or just the one for that selected file?
No Idea, I appreciate the help though
"get revision #N" is temporarily moving backwards in time
source control NEVER lets you move backwards in time
something related to undo changes will be the right approach but i can't tell you much more than that.
undo changes being the menu entry you get when you right click on a file in the workspace view on the left
and the option to undo changes probably won't even be there if the file is in a historic state
i don't know if you're going back e.g. 8 revisions, if you need to undo changes each revision or if you can undo changes back that many in one act. i would presume the dialog will give you options
Sync back to revision N/checkout/sync latest/resolve should work and I've used it in the past. Can't speak for what's going wrong there.
ah yeah, i guess you just have to brute force it past a couple warnings
also it is possible that the "undo changes" i mentioned is a prehistoric term and rollback changes is current lol
I basically had to get the revision I wanted, copy the files from windows explorer then, check out, get the latest revision (so perforce was happy) then copy back over the files. Worked but I'm not sure why the resolve didn't work /shrug
Blake, could this have worked? Checked out that file, clicked file history, right clicked on the version you want and say "Get revision", and then submit like normal?
I have a bug/setting? I excluded a folder from a stream view which excludes it entirely from the depot but the workspace still shows an empty folder for some reason?
Perforce isn't always the best about removing empty folders when syncing or deleting files.
It's annoying having all those empty folders in the workspace. I think it maybe due to Windows 11 permissions. If I create a virtual Stream and "exclude ..." I still see all the empty folders for my project. 🤦
hey i just setup my project with perforce recently and added the whole project to my perforce server.
I know have the problem that i get an error when packaging and I think its due to some files beeing read only bc of perforce, how would i best go about fixing this? should i just try to mark the specific folders as read & write ?
okay fixed it by marking config, content, intermeditate and saved folders & subfolders/files as not read only in windows explorer options. If anyone needs it in the future
Intermediate and saved folders shouldn't be in perforce to begin with. You shouldn't have to update their read-only flag.
you're 100% right i saw the unreal docs relating perforce after setting it up xD
hi, git lfs made me lose a day's worth of work so im going to switch to perforce
idk where to start
there's so many things like helixcore, hansoft
im a bit lost
anyone can give me a quick pointer on what i should be looking at coming from git?
looks like helix core is like the...basic version control?
is perforce for 1 person with AWS not free? it's going to be just me and 2 workspaces using it (i go to a different workspace during the day)
why does this Enhanced Studio Pack thing tell me the estimated cost is 400+ USD when i go to create the stack?
You can also host your perforce locally to avoid all that hassle. There's some videos on the Unreal and Perforce Youtube channels and lots of setup tutorials. Maybe the online people do not offer the free tiers, that Enhanced Studio Pack seems to be an AWS product.
could you explain what happened? maybe you can recover your work
i already deleted all of it and re-did it at my home workstation but thanks
LFS was throwing Client Error messages when I tried to push, and missing LFS files
i even stashed my changes, then tried to apply them later but certain LFS files were missing so I couldn't even restore my stashed changes (which was the reason for fully destroying my work for that day)
i read if i basically had gone home and done git lfs push --all then went back to my work station and pulled the lfs files, it could maaaybe work
but it was a weekend so i wouldnt be back until monday and the prospect of conflicts and not having that work over the weekend was too strong that i rather have gone home and re-did the work which is what i did.
but yeah basically i couldnt push my changes due to missing LFS files
even setting the lfsconfig setting to allow incomplete push didnt work =/
i think it occured because i enabled source control in-editor and it froze/crashed while trying to apply source control edits
i only enabled that because when i deleted actors, then pulled on another work station and loaded up, those deleted actors were back again. (world partition bug?)
with it enabled, that bug didn't occur
I think this is probably a good place to ask.
And please forgive me if questions sounds silly, just need to confirm a few things before I go experimenting.
Do yo use github or gitlab for unreal project source control?
If so do you also commit assets, such as meshes, animation and sounds to the repository?
Do you make use of IFPs for cold storage (or possibly in conjunction with gitlab to save on repos size)?
for raw assets, we use google drive workspace
Hey @dense ginkgo and @iron cave ! I helped build out the Enhanced Studio Pack (ESP) at Perforce. It's a collection of best practices to deploy a ready to go Perforce Helix Core onto AWS! You can lower the instance type and disk size down so it's a smaller cost. I think out of the box it's about $350 USD, but those are the defaults.
I can help you on Monday (I'm EST) if you drop me a DM. I can help explain everything :).
Here's a blog to help explain a few ESP options https://www.perforce.com/blog/vcs/perforce-enhanced-studio-pack. Have a good weekend!
good day Ryan, today I do come to you with a question / request:
is there a way to get special characters to show in p4 changelist descriptions? " ° " is not showing up and neither (and less importantly so...) are emojis. me and my team do love our emojis though, it would be awesome if there was a way to have them show in p4.
as you might be able to tell from the pressing nature of this request, apart from this very little (non)issue we are still very happy with the product 😁
i keep forgetting that perforce doesn't like you deleting files unless you do it via its tools
It doesn't care at all, but you then have to run reconcile offline work on a folder anywhere upstream of that to capture the change into a change list
actually i just had a weird weird bug, i upgraded my p4v client and it managed to submit my work and didn't complain about things needing to be reconciled
it will "work" fine, it just won't capture those untracked changes...
it was just throwing errors
then you didn't describe everything that you did
Hey. Working on a game (who woulda thought in an Unreal Discord lol), my friend's pulled a level which looks one way on mine but not that way on his when he's pulled it
For UGS, is the recommend approach to store project code and files within the engine as a subdirectory? Or can they be two completely unrelated directories?
Hi guys, in theory : is it possible with perforce to proceed to a diff before merge a Blueprint ( changed by 2 users )
Or is it impossible ? ( because checkout is needed )
/<root>/Engine/...
/<root>/MyProject/MyProject.uproject
/<root>/MyProject/...
What do you mean?
you can always diff between previous versions without checkout
Those share the same root
yes, which is what UGS expects
/<root> should contain the batch files like GenerateProjectFiles.bat
Ok, so it's not supported to use UGS and have the project files and engine files have dissimilar root directories?
It expects what Epic refers to either as a native project or a non-foreign project. Nothing else is supported
Not sure what I've gotten myself into but I'm trying to push some changes and Github desktop doesn't like it. It compresses, and starts writing but never finishes and returns with this when it's like 90% finished
Right so native project means within the same directory?
yes
Good to know. Thank you
the same way it was done in the Unreal Tournament repo back in the day
Just seems odd to have the engine and project files in the same stream
Maybe I can just use stream imports
it's odder to me to have it any other way after using native builds for so longer
Fair enough
Nice to have engine changlists seperate from project ones
But makes sense in terms of having all the code in one spot
I'm not sure how you even did that?#
also are you using classic depots for some reason? seeing as the dir is "depot"?
a stream is effectively a branch, yeah
I think they just avoided the term to avoid a conflict with existing p4 terminology
What?
If you see a main directory and then the name of your new stream then your workspace setup is not correct
And the problem is? Also it didn't "insist", you can switch your existing workspace to it or create a new workspace at a later time
Hi Ryan! I have a question for you. I used the basic DigitalOcean set up with ESP. The admin guide I followed from Perforce (here: https://help.perforce.com/helix-core/cloud-deployment/images/Content/Cloud-Deployment/digitalocean-deployment.html) says: " Select a plan. The storage amount is only for metadata and logs. You will add a separate drive for your depot. You can change the plan to scale up or down anytime."
But then it doesn't go into any detail about how to set up this separate drive.
Is this DigitalOcean's block storage? Do I need to set that up before setting up the stream depot?
Riderlink
you should not version the riderlink plugin
I'm confused - I need to delete a folder and ensure the source control registers that - I thought if I checked out the folder, then deleted it in explorer, then refreshed in perforce, it would see they they are deleted and flag them as a "push deletion" to the depot - am I missing something?
I'm not sure why you didn't delete from p4v or the Unreal editor. a checkout isn't a delete
Dont' I have to to make them writable?
???
delete from p4v runs the p4 delete command which marks them as deleted which you then submit
in addition, it actually removes the files within the directory rather than the directory itself. you'll want the rmdir flag on all your workspaces if you want it to cleanup empty directories as you update
thanks for the help I appreciate it!
A reconcile would register them as deleted, but, yeah, just delete from inside p4v.
I might actually do that instead if this doesn't work - there's a bunch of files that are referencing something but overall I need to delete the project - but I don't know what is referencing until it is missing
Ugh, I had to format my computer - I'm not sure how this asset was checked out by that machine but I need to tell Perforce that that user/machine doesn't exist anymore
How do I see when the file was checked out by what user - I can see the checkout name (I recognize the desktop name is changed because I got a new motherboard)
Like I'm logged in as the same user - but it's technically a different workspace - I have no idea how it didn't get pushed to the server before that but it's in limbo now
so how do I "uncheck it out " via p4 admin?
basically I'm looking for a ```"uncheck out file and revert to depot's more recent revision"
gah, where is the damn terminal in p4v
p4v doesn't have a terminal
ugh
there's no way to do this in the GUI?
I can't delete the workspace because i don't believe it exists anymore
that computer machine there doesn't exist anymore
How am I supposed to switch to a workspace that doesn't exist - it always says it doesn't exist when I try to switch to it
you skipped step 1
read the article
the first step is not switching to the workspace
the first step is not switching to the workspace
edit != switch
I don't know how to do that without switching it
right click the workspace > view > edit
comes up when i try to edit it
Hey, why can't I just be a firefighter or a paramedic, who is a designer...why do I have to learn ALL of this stuff when I'm not qualified for it
christ this is demoralizing
Btw, if you have a file checked out, do you even need to edit the workspace? Can't you just get the cl and remove the file?
it remains checked out still
you can forcefully revert other workspace's CLs from command line, yes. Though if the workspace is gone it's better to just delete the workspace anyway.
This may be me thinking too simplistically, but have you tried changing your computer name to what it's saying should be the host and rebooting?
it would be simpler to just use the command line...
It would
if I delete it, then perforce will recognize there's no way for that workspace to have the file checked out theN?
do I need to do that from p4a right?
p4a doesn't do anything around workspaces
I see that now
you can also try just deleting the workspace from p4v
but I don't remember if it'll let you with existing CLs
and if I remember correctly there's no force option in p4v
open cmd
set P4PORT=your.server.here:1666
p4 login
p4 client -d -f YOUR-WORKSPACE-HERE
and make sure YOUR-WORKSPACE-HERE is actually the one you want to delete, not the one you're currently using
I DO NOT mind you saying that, please always say that to someone every single time and thank you for taking the time to type it
Lol
let's see what happens in p4v now
ugh, THANK YOU
I could have done a workaround and just made a new file but I wanted to learn how to manage this in case I need to in the future
now, uh, do you want to help me with packaging errors because they, uh, are hurting my source control...somehow
I'm not sure of the correlation but post the errors
about 10-15 errors that are like this
I got to the asset in question and it compiles - when I validate the asset and its dependencies, it succeeds - and the widget that it is reference also passes these validation checks
Did you resave it?
yep, i save all of them and it does that
probably have saved it a bunch of times
i've tried fixing up redirectors too
What does it say when you cook via UFE or the BuildCookRun command
Because I'm not sure that is packaging related
I basically made a copy of the problametic structure then with through the asset and deleted all references too it
but it's like they are baked into the blueprint
As if we needed more reasons to not use Blueprint structs
it's not just that
and this was fine for YEARS
Why doesn't it SAVE???? it compiles fine - do I need to deliete intermediate maybe?
I have a volume mounted to my droplet but I don't see the updated storage space in P4Admin. Do I have to somehow tell Perforce to use my volume as p4root? I think I read that somewhere
What do you do with "can't find the specified file" error when submitting but you can clearly see the file both in windows explorer and in the content browser ???
Check these out! Also, I believe there are file expansion details in the VM once you login in the MOTD (message of the day).
https://help.perforce.com/helix-core/cloud-deployment/images/Content/Cloud-Deployment/digitalocean-deployment.html
DigitalOcean deployment
hello, is anyone's plastic scm workspace just randomly removing files locally lately?
specifically after a commit?
everything's been kinda f***** since the file locks update 😮💨
Hey, I have a problem where Unreal doesn't mark files for delete in Perforce :/ Adding and modifying is added to checkout properly, but deletion is not. I am doing Force Delete on Unreal 5.2.1. Did anyone encounter similar problem, or know how to fix this?
Hi, I wonder if with perforce we could, like with github, switch branch to work on another feature. I know perforce streams don't really work the same way. But I would like to know if I'm forced to create another workspace with the new stream to work on a new feature
You can switch your workspace to work in different streams quite easily, but from a workflow POV the concept of 'feature branches' doesn't really work with so many binary files / locking requirements. If you are working with 100% code and new assets then it might be workable. But IMO trunk based development is the best way when working with Unreal.
so trunk based means only one stream, so requires a ot of coordination///
yep
Trunk based is common even in AAA
Ok but it breaks my heart
Why?
Some ideals just... aren't all that important in real life
I don't think it's really a case of being "behind the rest of the industry" (what industry?) just that gamedev has unique challenges that are better addressed with different solutions. Anyway, this is going off topic 🙂
You could have one large stream with several streams within it? How does multiple streams not work for you? How do you have your trunk/stream setup now?
I need some help regarding github
My programmer has this issue regarding our project in unreal
@trail cedar
if it's LFS it shouldn't ever have that error
it seems like those were not in LFS
So, I thought LFS was only required if you have files larger than 100mb?
(Like, individual files >100mb each)
So LFS works with folders too?
Because if so, then woah
I couldn't even commit at all until I installed LFS, I got an error on my initial commit, and I'm doing a low poly game so nothing is even large
Having a similar issue with Github and Azure dev ops (using Git-LFS) for a custom engine build, trying to push the UE source into a private repo is proving to be super difficult!
I need to move my p4v server to a different service, does anyone know of any guides to do this?
perforce has multiple guides on this
https://www.perforce.com/manuals/p4sag/Content/P4SAG/appendix.moving.html
https://portal.perforce.com/s/article/2558
or if you use p4s in a docker container you can literally just move the config directory to a new device and it wont even knew
ugh, I just did svn checkout from repo, it worked, but trying to start SC from ue5.1.1, and it says , its not a working directory,and indeed, its the project directory, how do tell UE via subv, that that is NOT the working directory :+_lol
gez
So me and my team decided to start with perforce instead
svn?
Subversion, its another type of source control (SVN, Git, Perforce etc)
cool
I have a problem with Perforce in Unreal. If file isn't added to changelist, but is on the repository and I remove it in workspace through Unreal Editor, it does Delete asset, does p4fstat, but doesn't even try to p4 delete.
If file is already added to changelist, it works as intended.
Here's what happens when I delete changed, checked out file
I fixed it by making a new stream, workspace and project
Hello, multiple stream could work. Currently our code is on git and assets on perforce. But the problem with perforce and the code is that we have to create a new stream, which means duplicating all the project code on another folder. our project Or maybe there's another way?
Should I ignore the Content\Developers folder?
I want to start using perofrce but my team has more than 5 users. I know the free version is only up to 5 users, but theres 20 workspaces. is there a way for people to share user account but have their own workspaces?
No
Yes, this is what my company did. I basically had just one user account and everyone created their own workspaces. It works well if you're only planning on having that one project with one stream.
Now our team is split amongst a few smaller projects so we switched to self-hosted SVN because it's free and allows us to have multiple repos easily.
must be good to not have been audited then
Audited? By who?
depending on your jurisdiction, you can be audited for software piracy, and that is a EULA violation
I'd dare say that advice isn't allowed in this server. Piracy, along with asset ripping etc isn't allowed. Circumventing user limits definitely falls in that category
Honestly, if a big team using source control, you'd better pay for P4 or Plastic. If going for free, you may pick SVN or GitLFS2. The free tools are not that bad if not going to pay any for source control though.
ADO is probably the best free Git offering I've seen. 5 users free and no storage or bandwidth bills for LFS
Unlike Microsoft's other company GitHub
You pay per user after the 5, the first 5 remain free
Hi! Do you guys use Level Streaming with Perforce? We've found that many actions in the editor result in checkout, locking out others. For example, sometimes people want to hide/show sub-levels (mostly for performance reasons), but this action triggers a checkout on the level asset since levels visibility stored in the map itself. Another problem is "global actors", for example navmesh. Whenever somebody opens sublevel Unreal recreates a new navmesh recast agent, this is in turn may modify navmesh actor stored on persistent level...
For now, we decided to use world partitionig and stream our "levels" via data-layers, while it works it feels a bit hacky.
Feels like both approaches have lots of downside, is that your experience aswell?
Does anyone know why this kind of stuff happens? Link Moved from 'self' -> 'self'
Unreal seems to make a 'change' to the blueprint, even if I took 0 action on it. Which causes source control/diff issues that I want to avoid.
I never touched it, and these kinds of 'changes' seem to happen a lot whenever I open a blueprint. Its inconsistent so I can't definitely repro it.
I haven't checked since the last diff tool changes (5.2? 5.3?), but previously the diff tool for BP was pretty unreliable. There are some changes that it would simply not show, and other times it would invent non-existing changes. Diffing and merging BP is pretty much the worse thing in UE as far as I'm concerned.
Yeah, we only use the Diff tool to do code reviews. Never bothered to try to solve conflicts with it...
is there a way to force p4v to remove folders from my workspace that were removed in changelists? my local copy is full of empty folders because p4v dumb
ah i think i found it
Bingo!
Well, we have Helix4Git, which you could have your git repo mirrored into a p4 depot. There's always scripting available. Lastly, maybe you could use a virtual stream?
https://www.perforce.com/products/helix4git
https://www.perforce.com/manuals/p4v/Content/P4V/streams.virtual.html
Achieve 40–80% faster builds with Git tools than you would with native Git alone. See how Helix4Git (a Git server inside a Perforce server) and Helix TeamHub (Git code hosting) can help.
Working with virtual streams
I think we can deal with Helix4git, thanks 🙂
Hello I have been using perforce completely fine hosting on AWS and randomly in the middle of working got the following error: trying to connect to my p4 server: SSL connect to ssl:xx.xxx.xxx.xxx:1666 failed . Remove SSL protocol prefix from P4PORT or fix the TLS settings. (x's used to hide) my address
Is p4d running? Do you have the security group for the server correctly configured?
yup, everything was working for the past 2 months, i'm looking at AWS and it says its running totally fine
like literally I made a push, and then 5 minutes later it disconnected for no reason and everything seems fine on AWS side
and I made a security group and correctly configured it like 2 months ago
Well what is your security group configuration? If you only allow port 1666 to a specific IP address then your IP address could've changed
I configured so any IP could connect, my partner had been connecting just fine a few days ago
Does it affect everyone or just you?
good question let me see
@pulsar parcel complete insanity, after not working for 20+ minutes, and having internet working and AWS saying everything was working, I randomly am now able to connect without issues
Hi. Is there a way to make unreal show a popup window or warning, whenever it loses connection to source control?
Shit happens I suppose
indeed I appreciate your responses
That would be hard to explain because the failure could've been anywhere
how to correctly make a repo of the project about 15gb on github?
I used these limits but it still timeout on writing object step
I am using github desktop and lfs
also used this to increase the limits
git config lfs.activitytimeout 256
git config --global http.lowSpeedLimit 10000
git config --global http.lowSpeedTime 60
it fails on 85% , having error the connection disconnected
solved
creating a new repo without selecting unreal engine as a git ignore template solved this issue
now they don't have a reason to cmplain about my internet speed 😄
Anyone has issues with his p4ignore file recently ? I don't know why, on my main computer, I keep setting p4ignore with p4set and it just doesn't work even after restart, it's still looking to push what's in Intermediates, Saved, etc... I'm thinking about just redoing a new workspace that's weird. It worked flawlessly and this issue appeared out of nowhere
What are the main (UE) parts of your p4ignore?
Hello Ryan, looks like you are a Perforce pro 😄
Here is a sample of what's inside :
Saved/
LocalBuilds/
*.csproj.*
.vs/*
*.pdb
# Engine intermediates
Engine/Intermediate/*
Intermediate/
# Intermediate folders for programs should not be checked in
Engine\Programs\*\Intermediate\*
# Intermediate folders created for various C# programs
Engine\Source\Programs\*\obj\*
# Ignore project-specific files
GAMEPROJECT/Build/Receipts/*
GAMEPROJECT/DerivedDataCache/*
GAMEPROJECT/Binaries/*-Shipping.*
GAMEPROJECT/Intermediate/*```
And this is the entire file
Maybe it's been modified by a team member. Looks like it filters well what's in DerivedDataCache
btw I updated P4V because of that issue : Rev. P4V/NTX64/2023.2/2467475
and I followed instruction here :
thanks for your help @stable tendon
NP, taking a look, I'm usually on a Mac
Do you have any errors? If the "Saved" folder is already checked in, it'll stay there. Any new content being submitted will get that error in the bottom of that screenshot.
can anyone assist me with this error?
Enumerating objects: 1357, done.
Counting objects: 100% (1357/1357), done.
Delta compression using up to 4 threads
Compressing objects: 100% (1218/1218), done.
remote: fatal: pack exceeds maximum allowed size (2.00 GiB)
fatal: sha1 file '<stdout>' write error: Broken pipe
error: remote unpack failed: index-pack failed
github only allow 2gb data for free users?
Looks like it Missty!
https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage
2GB
so this is for the whole project, right?
my project should not exceed 2gb?
GitHub has strict file limits, other source control providers don't. Products like Plastic (UVS) or Helix Core.
ADO is an option as well
https://learn.microsoft.com/en-us/azure/devops/repos/git/limits?view=azure-devops
private repos will be accessible by other devs like my class mates and friends to see what i am doing and they can also help me
?
Class mates? Helix Core is free for educational institutions ;).
I don't have any exp in this stuff of source controll
new to it, I thought github is a good choice and started with it
this solved the issue
#Custom Directories
!Content/
Content/Animations*
Content/Audio*
Content/Developers*
Content/LandscapeMountains*
Content/Marketplace*
Content/Meshes*
Content/Particles*
Content/StarterContent*
Content/VehicleVarietyPack*
so Only source related things is upoaded
ADO is free for 5 users. You only pay for the 6th user and beyond
I will learn about this
Every UE/github tutorial really glosses over the step connecting github desktop to UE besides "don't use the built in github option", I'm not sure what to do here. I think I have everything ready in github but I don't know if it's seeing my UE files. I just want to get source control swept under the rug so it's there when I need it lol. Git really annoys me.
there's a guide pinned in #ue5-general that goes over GitHub/UE stuff
it might interest you
if add this to my gitignore, why it doesn't ignore this file
SurvivalGame.uproject
because you've already staged or committed it - you must first remove it from the repo.
But why would you ever want to ignore the uproject file...?
right it works , thanks
I want to ignore it to avoid building everytime when I fetched from my repo
that's a horrible reason
the uproject is required for the project to build, don't ignore it.
contributors has different .uproject files
that's not at all how you're meant to work with unreal
everytime they push, it changes and if I fetched it mine on local also changed
why are you using different uproject files in the first place
and then
...tell them to stop committing changes to the uproject that don't apply to everyone
or properly setup installed builds
because the engine version is different
then tell them to stop committing the uproject file
or use the proper engine version...
people working on the same project should not be using different engine versions
they need to add SurvivalGame.uproject to git ignore to stop commiting it right?
4.26, 4.27
yes, that's asking for someone to be unable to work in the project
all right
no, they should look at their changes and not commit it manually because it should not be ignored.
I will not disable it from my end right?
you don't disable it on anyone's end
hmm, fine
you get everyone using the same engine version because mixing engine versions is outright not supported. You're going to end up with people who can't open some assets or crash at random or simply corrupt other assets.
gotcha, will request them to stop committing this file 🫠

I am running perforce on a linux server hosted on digital ocean and need to increase the size of it beyond 300 gigs.
I added an additional block storage volume to my droplet but I wanted to see if there are perforce commands to either specify a new depot that should point to that new storage or specify that storage volume as another perforce file storage location?
looks like @rare notch had the same issue. @stable tendon do you have any documentation you can share on how to specify which filepath on linux is being used by perforce? Can it be more than one so I can use the digital ocean droplet SSD + block storage?
Absolutely can! I believe you can change the drive in P4Admin, let me grab a link...
looks like it gives a path that can either be relative to the server root or a custom path which is not, so maybe I could create a new depot with the path that is the block mounted storage?
I'm not too big of a linux expert so I'm not sure what the default would be for where digital ocean puts their block storage
Checkout method 2: https://portal.perforce.com/s/article/2559
You can check out the drives when you connect to the DO droplet. Try df -h.
@stable tendon Thank you for your help. I tried modifying by editing the storage location on the gui on P4A, not sure if that's the same result as the command line reference you gave. I have to take a break but I will try the command line way next time I am working.
It seems I am getting a permission error when it tries to upload files to the path I specified on the DO droplet (the new mounted block storage)
GL! Also, make sure the "perforce" user has access to that new mount.
can someone tell me what this means?
What part of this is not obvious? An upload of a single file must not exceed 1 hour
mate why would I ask if I understood it says?
does that mean files can be pushed once an hour? does that mean that the time it takes to upload files shouldn't be over 1 hour? does it mean a single file cannot be uploaded once an hour?
so many possibilities
It means an individual file must finish uploading within an hour, or it will fail. You can upload multiple files within an hour, just 1 file cannot take longer than an hour
ah okay okay, thanks
Anyone have any experience with using Unity Version Control (Plastic SCM) with unreal 5.2? We were using Perforce, but it would often not push work like expected, or just wipe changes altogether. I used git for years with Unity, absolutely no trouble, but not robust enough for Unreal. Information seems to be sparse and vague.
I have no experience with plastic to offer, but the unreal integration was actively being worked on by one of the plastic employees. It seemed to be improving rapidly. I think was SRombauts. I won't unnecessarily ping, but yeah, I'm sure if you have questions they will be happy to answer.
Maybe try and solve those issues with P4? At my old studio we went Perforce -> Plastic -> Perforce because Plastic had a lot of client UX issues and bugs, and from what I heard, they still exist over 7 years later
especially "wipe changes altogether" wtf
Yeah, that definitely sounds like a workflow or training issue
Thanks BorisTSR and sswires. We’re definitely actively against perforce, even the level designers were having issues with it.
As far as proper usage, I’m usually the go to source control person and typically have very little trouble understanding the flow, I followed the directions and watched how tos and p4 simply has a mind of its own.
yep... that's PEBKAC alright... but what the hey, a person might as well try UVC, it'll always be hard to defend perforce amongst indies without any indie license options anyway
Hello, is anyone familiar with moving Perforce server from a machine to machine? I have moved one successfully, however for some reason the change lists for users are gray, i.e. they can't act upon them, even though the accounts are the same. Does anyone know what may causing this?
Answer: #source-control message
You'll likely have worse issues with other SCMs. But I'd be intrigued to know the actual issues in more detail