#source-control
1 messages · Page 8 of 1
We walked through the process together first time we did it, but yeah, he also managed to check out a complete folder with all subfolders that had nothing to do with his project...
P4 does handle large files, it's kind of the reason it's the defacto standard in games
Could an interruption in the internet connection cause something like that?
and yeah, that might be true, but games probably doen´t use 20GB alembic cache files regularily...
We´re producing linear content for TV with it.
I have another idea though.
I set up a master template project and mapped paths so every new project imports and import+ certain folders from that project.
In order for other users to not mess up those imports, I also made sure only my user has permission to submit to that project.
So, I never had any issues submitting, but he might have had an issue.
Usually there would only be an error message though, if I tried submitting files to a "import" only folder, I never got any file locking because of this, so thats what I don´t understand.
Actually, I think I figured out the cause.
he used some bad characters (german umlauts)...äÖ etc.
I´ve had that issue before, so I just gotta figure out how to proceed.
Probably rename in Unreal first and then revert the submitted files in the changelist with the bad names and resubmit them with the good names.
Ok, yeah, that works. rename in Unreal and save. That results in an error, but the assets get saved with the new name anyways.
Then revert bad character names files in the changelist and then submit good character files.
There is still something funky going on though, we had to cancel another submit to test this and after cancelling, all the files in that submit list got locked again.
Its seems to be submitting correctly now though.
100gb Alembic cache, jeez.
Heyo folks hope you are doing well,
I'm wondering if anybody knows of a way to make use of the source control features when using multiple git repos in plugins, I have 6 individual repos for a project, the base project and 5 which are in the plugins folder. Any content within them is expectedly not able to be picked up by Unreal's source control management. Being able to diff would be really useful.
Does anybody have any tips as to how to manage this kind of workflow? I'm seeing murmurs online of git submodules and subtrees but not within the context of Unreal and I'm wondering if they may be the right route to look into, if anyone has any knowhow please do let me know!
If I want to remove and add a file to a perforce depot to make sure it uses the latest version of the typemap, how should I do this? Should I delete it and add it again?
i think there's a way to "apply" the typemap across lots of existing files... but i don't know what it is. you can also just change the type of individual files in p4v if that's all you really need to do...
Really? So one of the use cases is all the builtdata files of the maps. So pretty specific uasset files. Still a lot to do manually but it could be worthwhile
The thing is that both the typemap and the p4ignore were not entirely setup when the pretty large project was submitted. So now I'm torn between resetting the repo entirely or fixing some of the files. For instance a bunch of files are on there that shouldn't have been, now the ignore file does its job but they're still there of course...
the ignore problem might take a bit of manual culling but the typemap... keep looking you might find a way to automate it
I feel like if I can fix it while the repo remains up I'll learn a lot more. But then again, is it worth the hassle ^^ the repo has only been up for about a month so resetting it wouldn't be that bad. The ignore issue is harder to think about, so there's a bunch of files that are in there that are being ignored right now but they are on the repo and set to read only...
On the other hand we haven't had any workflow issues because of it
P4v was working fine but now whe connecting it says no workspace found? Was absolutely fine earlier today
maybe username case-sensitive
Does anybody know, why this might happen? One blueprint does not stage no matter if I do it using console or any UI
Not sure if git add . will do it... What about git add --all ?
Or git add path/to/file ?
If neither of those works, then maybe try to close UEditor before you perform a Git op and see if that makes a diff.
Always worked with git add .. It was something to do with the file. I duplicated the asset and everything went normal. I do not why, but I couldnt revert this file, nor commit it..
Hey guys I am planning to use the source for 4.27 in git. Is there anyone here that has done this before? What should be my .gitignore file?
Here is an example .gitignore:
https://github.com/XistGG/UE5-Git-Init
This is for UE5 but UE4 should be the same I think
this is for the project. I am looking one for the engine code
if there is any difference I am not sure
If you use Git, why not just fork the engine on GitHub?
That's the suggested methodology.
I did it but when I make changes to the engine I want to send them to other users
Yep. That's what your fork is for.
Push changes to your own branch on your own fork.
hmm I guess I dont have the fork now
Is there a way to recrate it by showing the folder for example?
Seem to be having an issue w source control, it seems that its sometimes not actually uploading everything which as u can guess is a bit of an issue lol. I made some changes just before submitting, I deleted the files I had on my workspace then forced redownloading the latest revision. When i opened it some folders were missing aswell as the changes i had just made hadn't been applied
I tried reconcilling but its not added a couple of folders that luckily i had in a backup locally. Is source control just unstable or what am i doing wrong lol
Has anyone tried to implement slack notifications with Perforce Helix Swarm with success? I'm trying to do only that, but nothing seems to happen. The logs shown in the admin's system page shows email errors only. I don't need emails, but I can't find documentation anywhere to disable that if that is what's holding up the process.
Since i installed git hub (which fail anyways because my project is too big).
The compilation takes a lot more time.
Should i remove github?
2>Using 'git status' to determine working set for adaptive non-unity build (C:...).
2>Waiting for 'git status' command to complete
2>Terminating git child process due to timeout
why am i getting this "unity" message
Unity is a build mode used to speed up compilation.
this started happening when i put the github on
and i cant even use it because my project is huge and with big assets
so now this is just a nuissance
damn i just want to remove github
@untold jacinth
you can self-host a git server and repo on your own computer if you can't pay for a hosted service
you can turn off unity build in your game modules if it's causing slowdowns (most people prefer it off anyway in your game project)
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!```
Good morning! Who else woke up to this? 😱
Hi, I'm using Perforce source control with UE4. My coder had trouble submitting to the Depot, so he's going to send me the latest version of project via Googledrive.
Please can someone let me know how to create a brand new Depot for this new project.
When I tried creating a new, blank Workspace, the Depot automatically populated itself with the previous project files even though the new Workspace was empty!
Thanks for any advice 😉
Here are instructions for setting up a new P4 Server + Depot for a Lyra Game Project. Your project will be different, of course, but you can still read this to get an idea how to import a project into P4.
https://x157.github.io/Perforce/
How to set up a Perforce (P4) server for an Epic Games Unreal Engine project, including example Stream setup and working PowerShell examples for a UE5 custom engine and a UE5 Lyra game.
There are point-and-click ways to do this as well. You can point-and-click yourself if you like. The concepts are exactly the same, this just documents the command-line method.
Ok thanks 🙂
So this is what Skein was
Yeah. It seems to work pretty well from what I've seen, but at least for now it seems to just be for assets (and I guess verse?). Who knows if we'll ever get it or if it was always meant to just be a UEFN thing.
Question: I just created my master project for my game, and set up perforce on Unreal 5 with the dedicated depot and everything. Do I also have to setup source control inside Visual Studio or does UE handle it already by itself?
@true yacht can you help me out real quick
So right now I have the depot and it's full of useless vs stuff
How do I go about fixing it?
I don't really know
@queen mulch ?
I don't mess with administrating p4 really... and I don't get myself in that kind of situation (I'm sure I could figure it out if needed)
yeh I just figured there was an admin way to just blow away the repo and restart
and am too lazy to look
Yeah so now I have an empty depot with just .p4ignore
I'm gonna recreate the project in unreal, but how do I go about pushing it to the depot with only the right files?
A version control that will help you develop new features in parallel, go distributed, merge in time, and never break a build again.
are they renaming to Unity Version Control?
Yes, SRombauts mentioned it a few weeks ago. Beyond the name, nothing else should change
Does anyone know how to make perforce use an updated typemap for existing files?
found it p4 edit -t auto ... replace ... with your directory ie //DEPOTNAME/... to change all the files in your depot. Which for me was 90k+ so it might take a while
Perforce doesn't always delete things marked for delete, so if you have P4V you can use Tools - Admin, click the Depots tab and click the arrow next to 'depot' to show the folder list. Find the folder / file you DEFINITELY want to get rid of - right click on it and choose Obliterate
So I have a bunch of files on my perforce depot that were initially not ignored but now are. So changes they're never added to a changelist anymore but they are still on the depot. What would be a good way of getting rid of them? Because if I mark them for delete, the files will be gone but I only want them to be removed from the depot.
Is the only way to just copy all of them. Delete them on the repo. Paste them back in (and ignore existing files)?
@late jungle
Does that only remove it from the depot or also locally?
It's purely a server-side operation
Ok thanks. I'll first do an experiment with it
Sounds like exactly what I need though
I'm guessing there's no version of it that automatically obliterates anything that's now being ignored?
Don't think so, that'd be way too dangerous
Okay yea that makes good sense
Is obliterate the same as delete -k?
That I don't know, in the better part of ten years I still haven't learned most command line usage lol
As a thank you to the helpful Unreal community 🙏 I wrote this guide to Get started with UnrealGameSync https://branched-ceramic-2dd.notion.site/Unreal-Game-Sync-Getting-Started-f2d96afbe09b456e95692cc3caac3764
I hope you find it useful 😁
This Guide will contain the steps to setup a Perforce Server for UnrealGameSync. I won’t go into details and explain what has been already well explained in other Guides / Documentations. Have a look at the Ressources if something is unclear. I will share my thoughts and mistakes that I made on certain parts.
Delete appears to just mark a file for Delete
Hi, Im working on UE5 project for college, I need to transfer my files back and forth from home to class. Is there any easy quick/efficient way to do this, because my zip files are massive and take forever to upload to onedrive, like half my lesson would go on just uploading stuff.
Be very careful with obliterate, it removes all revisions of a file permanently.
A file marked for delete normally, when submitted, removes the file from your local workspace and the depot but it does so by adding a new revision such that you can undo the delete later if you want. Obliterate completely removes all revisions of a file such that it cannot be recovered from the server again.
If you're in a time crunch you might consider using SVN... I never normally recommend this but it's probably the simplest working version control system that is reasonably useful. Otherwise the two giants everyone in here talks about are Git and Perforce.
But for a school project might be a big hurdle to learn a complex vcs
Agreed.
Is there any video tutorials or Web pages to show how to do this please?
My UE project file is 37Gb, I tried using GitHub and Azure Devops but kept getting an error after waiting for ages to check my network connection or something...
Tried again same error after it reaches 100%
You'll have to Google. You'll probably have to either self host something on one of your machines, or pay money. Free services have limits
If you already know a bit of git, you could of course use it
It just errors with your 37GB project?
Because for Azure Devops I didn't find any documented limitations for LFS Storage
Azure is supposed to be a bit more useful in the "free" department but I don't know its limits and probably still need to set up LFS somehow
Yeah, with LFS I'm using Azure DevOps without problems with a 24GB Project (Don't know 37 though, maybe the limit is along 30 or 35 and I didn't reach it yet)
How do I setup Azure with LFS?
You just point your project to the repository HTTPS URL (does not work with SSH, beware 🙂 ) and make Unreal setup the LFS for you
You could still need to issue a "git lfs install" command in the root of the project, but you should be good to go after that
Thans for that:)
Make me know if you succeed 🙂
hey i want to develop a game with my team. i want to use github to collaborate so my team and i can work together concurrently.
what happen if me and my friend A edit the same blueprint file,
for example i edited BP_Thirdpersoncharacter adding some mechanism,
at the same time my friend A also edit the BP_Thirdpersoncharacter.
how to merge the BP_Thirdpersoncharacter.uasset file? as far as i know that the file is binary file so it would difficult to merge a binary file with git ?
It's pretty much impossible to automatically merge BP's, so usually all content is marked as Exclusive checkout so only one person can edit at a time. Git does not support this natively, you need to enable LFS for locking.
is LFS a feature from git or unreal engine?
It is a Git feature
Does anyone have any experience with selfhosted hardware for version control?
i wonder if there are any specific brands of NAS or similar that work well...
the hardware requirements are quite low for hobby/indie level work. i ended up going to a cloud VPS anyway both to speed things up a bit for all other team members and to spread my data to one more physical location
i see
i sit on a 1000/500 connection
But yeah i did some quality internet browsing and found some HW solutions
for source control I'm missing the create new changelists option how do I enable that?
i see in some videos its a button right next to the 'refresh' option
The "Source Control" -> "View Changelists" (now "Revision Control" -> "View Changes" in UE5.2) is only enabled with Perforce & Plastic SCM/Unity Version Control
I'm currently in 5.1
And with what source control provider? Git doesn't implement Changelists & Shelves
UE 5.1 & Perforce
Sorry, I didn't read correctly your first question 🤦♂️
In UE 5.1, look for the little + button, it's now located right next to the list of Changelists
wow I'm blind ok thanks!
I honed in on tutorials and just kept looking for the big button.
Does UEFN just use Perforce Helix Core or something different? We have been using SVN and have a lot of random issues with it, and the one in UEFN seems so fluid and functions well. I wanted to see if it is just Perforce or something custom?
should I enable one file per actor with perforce?
UEFN uses an in-house system called skein. No, it hasn't been released for anything else (and epic hasn't said if it ever will be).
does github source control also allow for collaboration on projects?
It makes sense in practice, but is there something I'm missing
Hey how do you add c++ to a blueprint project without wrecking the project?
Hey guys, I have both the Perforce client and server setup on my machine and I have it all hooked up to unreal (I can edit a file in unreal, save, commit, etc and it updates the Perforce server) but how do I set it up for my team members? Ive been trying for hours and just can't figure it out. Any help is appreciated.
Use the editor to add a native class. It'll add all the stuff you need. Then never use that function again.
When I try that I get a notify to recompile- but no specific instructions how. And I still can't add cpp. Any idea?
can I use LFS with github? or is there a storage limit?
You can, but the free limit is relatively low. 2gb i think? $5USD per additional 50gb block.
Are there any better alternatives?
I've seen some ppl in this server use azure devops
That's a popular one, but one I'd be careful about using. If you plan to use that and don't factor in a budget for it, there may come a time when it's not longer free and you are in a very difficult position.
that said, it IS currently free, so no harm with using it until then, but i'd definitely factor in a budget for source control
I personally run a locally hosted p4 instance, but have a small project with a few contractors that i just host on github. 2 data packs covers my needs by far. I chose github over azure as i am already familiar with github and 2 datapacks wasn't a huge factor in comparison to other project expenses
is there a limit on data?
on azure? I'm not sure on the full details. The way i hear people talk is that it's unlimited and free, but that sounds too good to be true.
It is unlimited and free, they charge per user (but the first 5 users are free).
iirc there's some note in the docs that they may reach out if you go crazy with storage but there's no specific soft-cap.
I don't know that I'd be specifically worried about them suddenly changing their minds - it's not like it'd be hard to move to another service using git. And in the meantime... it's free.
You'd close the editor, open the sln file in VS or Rider and hit compile.
Is there a way to get file at specific revision from P4V/P4 without updating local workspace to that revision/CL?
In SVN I could simply select revision in history and drag&drop to file explorer.
right click file in the workspace or depot tree > get revision... > choose the revision
alternatively, select the file and look in the history tab (might need to show it in the view menu) > right click the revision you want > get this revision
depending on what "without updating local workspace" means to you... siliex's answer will "downgrade" the file in your repo to the selected version... you might want to use a timelapse view or something else to view other versions instead. it should all be available in right click menus
Hi everyone, I have a couple of .Uassets that require the use of Git LFS, but all the others don't. Setting up Git so that all .Uasset files use LFS would be quite wasteful of my bandwidth. Does anyone have any advice for setting up a workflow in which only specific .Uassets use LFS? Tracking a specific file using gitbash is of course an option but I was wondering if anyone could point me towards a better workflow
can I use hamachi in order to be able to have the multi-user editing plugin work without having to actually be on the same LAN
Is there a set list for p4ignore and unreal of things to omit?
Binaries, DerivedDataCache, Intermediate, Saved, any IDE specific files.
Yeah I found one for IDE stuff with visual stuiods. Think I may have to try and look around for a rider specific one but prolly hit that up tomorrow
gotcha ty
.idea, not .intellij
Ahh .idea
that's it thanks
would I add */.idea/* then?
.idea/
Thanks, though I was thinking of something like export option in SVN, that would export the files@revision to a separate location without affecting state of the workspace and unfortunately, GetThisRevision affects the file in workspace by downgrading it to that revision, just like HoJo mentioned.
there's a command line you can use, just gotta remember the command
p4 print -o path/to/output.file //depot/path/spec
that'll download a file from the depot to whatever path you specify
sweet, thanks
for a specific revision of a file it'll be //depot/path/spec#1234 fyi
When I pull the project from Perforce, every folder in the project is read-only, is this normal?
Here is my Perforce typemap setup
Yes. Things are read-only until you check them out.
I know files are read-only, but I'm currently not sure if folders are read-only by default,
So you mean folders and files are read-only by default, right?
I just found out that even if I create a new folder on the desktop, it is read-only by default. I made a joke, haha, thank you, bro
So, I just set up perforce with Rider and Unreal. This question I suppose is more focused on Rider aspects than Unreal, but want to ask in here just in case. It seems in order to Build within Rider I need to check out everything from the directory...
This doesn't seem right. Anyone know what I may be doing wrong?
from what directory
BInaries? Intermediate? That'd be a problem with your perforce setup, not rider or unreal.
Or not so much a problem as you're submitting files you shouldn't (or at the very least you're not using +w on binaries, and you should never submit intermediate).
I thought I had an ignore on binaries in my .p4ignore
lemme post my p4ignore in here
I copied most of this from a UE Dev off the forums but added the .idea for rider
*/Intermediate/*
*/Saved/*
*/DerivedDataCache/*
*/Build/*
# ignore rider files
*.idea/*
#Ignore resource files
*/obj/*
*/fbx/*
*/psd/*
*/tga/*
# Ignore root Visual Studio solution files. We do check in some sln files in subdirectories, so only ignore
# the ones found in the root.
/*.sln
/.p4sync.txt
# Ignore all Visual Studio temp files.
*.suo
*.opensdf
*.sdf
/Engine/DerivedDataCache/*
**/DerivedDataCache/Boot.ddc
**/DerivedDataCache/**/*.udd
# Ignore all Intermediate and Saved directories
*/Intermediate/*
*/Saved/*
# Ignore UBT's configuration.xml
Engine/Programs/UnrealBuildTool/*
*.uatbuildrecord
# Ignore built binaries and temporary build files
*/obj/*
*.csprojAssemblyReference.cache
# Ignore UBT's log output files
/Engine/Programs/UnrealBuildTool/*.txt
# Ignore Python cached files
*.pyc```
yeah I dont see the binaries in there now that I look
did you set server typemap?
Off the top of my head I have no idea what that is. I didn't see anything named that in the VCS settings in Rider for paths or perforce itself This is my first time doing any kind of server setup for perforce and unreal. And information to connect the two regardng workspaces and depos was spare.
you could serach perforce typemap on unreal document,that said the setup of typemap will decide whether the file is read-only or writable
This affects whether the code can compile success
If you're ignoring binaries you don't need to touch the typemap.
Though you should setup the typemap to lock uassets anyway.
Yeah I found the directions for typemap
everything else looks like i did it right just not the typemap
The problem I faced yesterday was almost the same as yours, and I haven't solved it yet
lol. Maybe I should just go back to git
I'm the only person working on this thing anyways I just wanted a handy way to revert
I had used perforce from a user perspective like 8 years ago so I Figured maybe I'd give it a go.
Don't worry that the core problem should be typemap, I took a break and didn't deal with this problem all the time
Yeah its frustrating I want to get back to coding I can still build things I just have to check out all of the depot which doesn't have binaries or anything in it So thats whats weird to me
that's my depot for the most part
you could set server typemap use this ,must do this step before upload project to server
https://x157.github.io/Perforce/Typemap
Yeah I make just purge my depot tomorrow and try again from scratch
Tried following the https://docs.unrealengine.com/5.1/en-US/using-perforce-as-source-control-for-unreal-engine/ guide on typemap. Still having the build issue. Not sure anymore
ahh may be wrong order
Nobody can help you if you don't share any info
Build output log
Have you tried making a new workspace of your project and seeing if it builds? It looks like you succeeded at not having build artifacts stored in the repo so far
Not even getting to that. I'm just trying to compile the Uproject. It wants me to rebuild manually.
I know if I do it outside of VC it compiles fine. And if I check everything out - it'll compile fine. SO it has to be either ignore or typemap, but the typemap should be perfect...
Except you haven't even shown what files it's complaining about
I dunno I'm gonna have to sit down with someone tomorrow or this weekend and look at it step by step
and ignores/typemap don't apply retroactively
yeah I removed all the files
and then added them again
I don't know how to show what you're talking about the only error I get is
build from visual studio...
Not using VS, using Rider but yeah build issue same stuff I had prior
UnrealBuildTool failed with exit code 0x00000006
had to go through and ensure P4 was connected to it
and it appears to be
I'm gonna see if I can get with someone whose done this before and sit down and go through it to figure out what I'm messing up
You need to show the full output...
rider connecting to perforce has nothing to do with builds failing
but looking at the full output log would tell you what's actually wrong.
on rider's build tab just hit this icon
Sending in two parts too long for one:
Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" AdventurerEditor Win64 Development -Project="B:\Perforce\Workspace\Adventurer.uproject" -WaitMutex
Log file: C:\Users\Forge\AppData\Local\UnrealBuildTool\Log.txt
Building AdventurerEditor...
Using Visual Studio 2019 14.29.30145 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Determining max actions to execute in parallel (16 physical cores, 32 logical cores)
Executing up to 16 processes, one per physical core
Building 1 action with 1 process...
[1/1] WriteMetadata AdventurerEditor.target
Unhandled exception: System.UnauthorizedAccessException: Access to the path 'B:\Perforce\Workspace\Plugins\Developer\RiderLink\Binaries\Win64\UnrealEditor.modules' is denied.
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
at System.IO.File.WriteAllText(String path, String contents)
at UnrealBuildTool.WriteMetadataMode.ExecuteInternal(CommandLineArguments Arguments, ILogger Logger) in D:\build\++UE5\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Modes\WriteMetadataMode.cs:line 194
at UnrealBuildTool.WriteMetadataMode.Execute(CommandLineArguments Arguments, ILogger Logger) in D:\build\++UE5\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\Modes\WriteMetadataMode.cs:line 105
at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in D:\build\++UE5\Sync\Engine\Saved\CsTools\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 648
Build failed at 11:05:18 PM
It appears it may be Unhandled exception: System.UnauthorizedAccessException: Access to the path
look at your ignore file
it doesn't ignore the plugins' binaries/intermediate directories does it
lemme double check
*/Intermediate/*
*/Saved/*
*/DerivedDataCache/*
*/Build/*
# ignore rider files
*.idea/*
#Ignore resource files
*/obj/*
*/fbx/*
*/psd/*
*/tga/*
# Ignore root Visual Studio solution files. We do check in some sln files in subdirectories, so only ignore
# the ones found in the root.
/*.sln
/.p4sync.txt
# Ignore all Visual Studio temp files.
*.suo
*.opensdf
*.sdf
/Engine/DerivedDataCache/*
**/DerivedDataCache/Boot.ddc
**/DerivedDataCache/**/*.udd
# Ignore all Intermediate and Saved directories
*/Intermediate/*
*/Saved/*
# Ignore UBT's configuration.xml
Engine/Programs/UnrealBuildTool/*
*.uatbuildrecord
# Ignore built binaries and temporary build files
*/obj/*
*.csprojAssemblyReference.cache
# Ignore UBT's log output files
/Engine/Programs/UnrealBuildTool/*.txt
# Ignore Python cached files
*.pyc```
I tried to go off of what I found on the official forums from a UE guy but it was from like 2021
So you're still not ignoring binaries
or +w-ing the plugins' binaries in the typemap
do I need to do */Binaries/* then I am guessing
binary+w //....dll
binary+w //....lib
binary+w //....app
binary+w //....dylib
binary+w //....stub
binary+w //....ipa
binary //....bmp
text //....ini
text //....config
text //....cpp
text //....h
text //....c
text //....cs
text //....m
text //....mm
text //....py
binary+l //....uasset
binary+l //....umap
binary+l //....upk
binary+l //....udk
binary+l //....ubulk
Would be my typemap
added Binaries to the ignore will give this a go tomorrow see if its still having issues
pretty sure that will only match Subfolder/Binaries/Stuff (i.e. plugins binaries)
you might need something else instead. maybe
Binaries/*
maybe just this, or maybe this plus what you wrote before (with a wildcard subfolder at the front)
Think I got it working. It had to be my p4ignore
the guide I was following had me doing it as .p4ignore I changed it to p4ignore.txt and told it to be that file by default and now its compiling and building without complaints
Yeah everything is good and working now quite nicely.
Enable Perforce source Control in UE, use Chinese for the description when submitting, and then look at the submission history, the description is full of question marks, and it’s fine if you use English.I checked on the Internet and said that both the perforce client and server should enable unicode. I haven't solved it for a long time. Has anyone done this before?
Server-side you need to do this: https://www.perforce.com/manuals/p4sag/Content/P4SAG/superuser.unicode.setup.html#Configur2
If the previous server did not set Unicode, but I have already uploaded the project to the server. Now, if I want to change the server to support Unicode, I have tested and the result is likely this picture
So I can only clear the projects on the server first and then redo the operation?
Hi there, for some reason one of my partners terrain didn't sync up with the other members after someone push a change
They've already update their workspace etc. We're using Plastic SCM by the way
I think plastic is having issues with the most recent update. I remember someone talking about it yesterday. Not sure on the specifics
is there a P4 command for the server to find where the server files are located
Some idiot didn't document where it is
||That idiot is me||
Odd, since only one member is affected by this and the other members project seems intact
Is there a temporary fix for that issue for now?
I'm not sure all I know is I saw some people yesterday complaining about plastic and unreal with a patch. May be unrelated
Aha! I found it in the p4dctl.conf file
Hi there. I'm trying to setup source control for a project in my LAN. I work with my friends and need to share all changes and updates with each other. I tried to use Subversion, but now having some problems in commits from other pcs. Main repository is on my pc. I followed the guideline given here https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/SourceControl/SVN/ and it worked, until we started importing Quixel materials to the project. Could anyone help with that problem or suggest better and easier source control system for non-code projects?
Hello, I have a pull request which has a conflict with a branch it's being pulled to, but the conflict is with a uasset file. I would like to be able to select which ones version of file I want to approve to the final pull, how can I do so?
why does running the p4d command in an incorrect folder create server files and launch a bare server
rather than telling you that there are no server files and that you should check your folder
You shouldn't be running p4d directly imo
If you follow the Perforce server installation guide you should end up with a service you start or stop.
I know, I broke my p4dctl config and I'm afraid of breaking the server if I fixed it
If only there was version control for version control...
I just made a backup of it right now and next week will be a calm week in the office, maybe I should take the opportunity then to fix it all up
You don't have backups of your server then?
No haha. Look it's a NUC and we're a team of two devs and the actual projects are backed up 😂
I solemnly swear I will change my ways though
😄
Fair enough, it's understandably at the bottom of everyones list. Until something like this happens 😄
Hey I mean it worked out for project zomboid 
If I'm using a fully local git repo to manage versions of my Unreal Engine projects, and I put plugins in one version of it on one computer, will pulling it to another computer automatically have all the plugins installed?
It would all be on my epic account, it's just a way for me to easily transfer new versions of the project between my two computers. My vault would be the same on both computers
vault/launcher/epic account are irrelevant
if you install plugins to your project and commit those files, then it's in the repro
if you install plugins to the engine then they're not in git and you'd have to manually install on every computer
I don't mean in the project file
I mean in the plugins folder inside your project
as opposed to the plugins folder inside the engine install
the epic launcher isn't some sort of dependency manager, it doesn't automatically install plugins specified in the uproject
Ok so engine side I need to do manually but project side I can just pull from the repo and it will be there
yes
Makes sense
I think I have all the same plugins on both computers anyway, but I wanted to check in case I add more
a good practice is if you have a third party engine level plugin that's really important, is to make it project level
Hey guys, having this werid issue. UE5 doesnt seem to recognize some of the UAsset files after moving them to another folder. I can go to the explorer and see that they are there. But when launching in ue5 and navigating to the same folder inside UE5 it doesnt recognize them. Any idea on how to fix this?
You moved these through explorer didn't you? You have to move through the editor
Otherwise, you are possibly seeing redirectors which aren't typically visible in the content browser, and you need to turn on show redirectors. These are are tiny files that point to the new location of the file. You can right click the folder and choose "fixup redirectors" which finds and adjusts all previous references to the old location and points to the new file, and then deletes the redirector
No I did move them through the editor. I can't fix them now as I just deleted the files and recreated them all from scratch...5 hours of my life gone. Whats even werider is that I meant to move the entire file contents and it just completely failed. Like instead of it being a direct move, it copied half of them, than the other half was just gone. I forgot about the redirector toggle tho. Thank you for that.
So, I've been using source control for just over a year with Github desktop. Just recently I set up git lfs, but I want to be able to use file locking.
Can i do this directly in UE? I see a disabled button for this:
Or do I need to use a different service in parallel with UE? I've heard a lot about p4v.
I found UEGitPlugin and installed it, but when I go to submit a changed file I get this error:
Also I doesn't seem I get options to checkout files:
This isn't inline with the documentation:
No, but it can help if you have a large team and multiple people are working on the sane level.
I have a C++ project it uses Git. I'd like to share project (all Content) with other users but without source code (c++). Are there any good practices of doing it ? What can I do about it..maybe some kind of modularity or plugin ,dll ?
you can give the other people in your team/group/whatever prebuilt binaries of your project. if you include the editor as well they will be able to work on your game without having access to the source code. you might want to look into UGS if you want an automated delivery of this. you can add it to your CI/CD pipeline for maximum automation
Hello, I have a pull request which has a conflict with a branch it's being pulled to, but the conflict is with a uasset file. I would like to be able to select which ones version of file I want to approve to the final pull, how can I do so?
whats the simple source control that works well with BP projects?
i dont need any remote accesses
I think git would be the best for a local only workflow. P4 has a personal server mode but I've never worked with that
Oh, funny to see you here now @tribal lynx 😂
geeze I wonder where the interest in source control came from
1.5 decades of neglect
so just roll back via the sameish stuff that exist
instead of mergediff
Thanks I need to have a look into UGS. Of course Binaries folder is added to .gitignore,because it doesnt make sense to syn it with Git.
Did you do a git lfs install in your git repository? I'd guess the git lfs isn't correctly setup. Also, for an existing repository that didn't use lfs before, you need to migrate any files that are marked as 'lfs' (in the .gitattributes) so that they are correctly treated as lfs files. Maybe worth cloning the repository in a clean directory, install lfs in the repo and git lfs pull just to see if everything works correctly.
I don't know the UEGitPlugin you're using, but I just enabled the "Git" plugin (beta) by SRombauts and Epic Games Inc.
Yeah, what does your .gitattributes look like?
I initialized git lfs on a fresh project and setup gitattributes.
With the built in plugin checking out files has never worked for me. your saying that it should work?
UE file types
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
Raw Content types
*.fbx filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.xcf filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
@clear lake
I haven't used the plugin myself, apart from switching it on and playing around with it, but haven't tried committing anything. The git plugin itself is in beta, so in theory it could have some serious bugs, but I somehow don't think that's the problem.
The .gitattributes looks fine. I have a few more file patterns in there, such as .udk and .upk and a couple of raw binary files (.tif, .blender etc), but yours looks good.
I would just clone the repo in a different, clean directory, git lfs pull in powershell (or command line) and open the project in UE to see if the LFS files are there (it will crash on startup if the .uasset files are missing)
When I played around with the git plugin and SCM enabled, whenever I edited an asset there was an indicator that the file has been modified. I never committed the changes through UE though. I either use the command line / powershell, or through the IDE
Hiya all! Is there a way to get the latest changelist number from p4v with a blueprint node?
when u submit it reports the latest changelist number in the little succes window. So i figured its possible, but havent found a way yet
very highly extremely unlikely.. probably. there is tons of functionality that is not exposed to blueprints. backend stuff especially
Ahyeah though so, c# c++ probably
ye i cant remember which. pretty sure its C# which basically rules out any kind of blueprint integration.. maybe im wrong 🤷
if you can find the string that gets printed to screen on success, just do a find on the engine source
yeah it prints it in the message log
ye so just copy that into a visual studio find all dialog
ill have a look thanks!
I created a p4config file at my project root directory(.p4config), I also executed this command"p4 set P4CONFIG=.p4config"
these are all of my perforce vars which are set.
but it seems that ue4 can't find my p4config file.
do you know what's the problem?
I'd really appreciate your help, I searched a lot but couldn't find a solution.
Can you show me your source control settings?
I'm trying to setup a depot with perforce, but for some reason, it is changing the filename of some files, then failing to submit
this is what it looks like in explorerer, so i'm not sure why it's adding a "?" to the names
they fail to mark for add
Hello all, I'm currently setting up for a new phase of a project that I'm working on with a team of about 10. We use Perforce + UGS, but we're wondering what the best "branching" strategy is for perforce? We're used to having done feature-branching/git-flow in the past, but wondering what the best approach would be on P4 (branching as in, using p4 streams)
Wouldn't recommend branching at all with an Unreal title. Trunk-based development is the only realistic methodology because of the amount of binary assets required on an Unreal project, which cannot be merged.
When it comes to stabilising the builds for milestones/release etc, you can have a release branch but need to be quite careful about how that's managed.
What is the right way to use source control with UE4?
I generally use Github Desktop with git lfs
and copying project for local backup
Hlo.
That sounds about right.
You might consider a VCS with file locking that works correctly for binary assets like p4, svn, etc.
Hello
I wanted to refresh my knowledge on perforce, are the pinned guides agnostic or too tinkered towards unreal engine?
I can’t really find any good updated guide
On Apple Books there is Learning Perforce SCM but it was last updated in 2013…
Guys any good generic modern resource on perforce?
Thanks
Hello, I'm trying to revert a file change using Perforce, but for some reason I can't.
I've renamed a file in my last revision, but now I want to revert the whole revision. The way I'm trying to do it is by pressing on the file I've renamed, and then selecting the previous revision, and clicking "Get last revision". Afterwards the previous file is in my workspace, and I try to press Undo Changes on it, but any of the option from the list of undos doesn't allow me to do anything. If I select Undo all changes from a selected point to the most recent version, and select the revision I want to revert to, it says The file cannot be undone. The revision you requested is greater than the latest revision on the depot., however, I have submitted the change, hence I think it should be on the depot.
Can anyone tell what I'm doing wrong?
undoing a revision is a forward movement, not a backward movement. you can never move backwards with source control
you should not be trying to "get this revision" to an older version of a file. what this is doing is backtracking your workspace back in time. you probably cannot undo changes to advance the depot forward while your workspace is currently "in the past".
I'm not sure about your last error, if it's something else or if it's directly caused by trying to undo changes while your workspace is in a historical state
So, should I basically rename the file manually?
Well if the only change was the file name... If it's that easy, yeah you could. Or you could try and use Undo Changes, but properly
I have P4V setup with unreal, and have recently moved my project to UE5. Just spotted that renaming a file inside Unreal, that has already been submitted to the depot, doesn't actually do a move/rename, instead it's creating a new file. Whilst the old one doesn't appear in the content browser in engine, it does still exist in the depot. This is really messy and stops the file history being useful. Have I got something setup wrong? I could've sworn it used to move/rename correctly in UE4.xx
You're probably not doing anything wrong. What you're seeing is a redirector:
https://docs.unrealengine.com/5.1/en-US/asset-redirectors-in-unreal-engine/
Thanks. Not a great way to have to work. Good that I can cleanup redirectors, but why it's not doing a proper move/rename perforce operation is beyond me.
it is
perforce doesn't have a separate move/rename operation - a "move" operation is equivalent to branching the file to the new location and then deleting the old one in a single operation. Unreal is doing the branch, but not the delete because it leaves a redirector behind in case anything still references the old location.
If you're working solo you pretty much always want to fix up redirectors immediately. On larger projects with a team that may not always be possible.
Perforce's massive list of commands makes this a bit confusing - move/rename are the same thing, and under the hood they're just doing a branch and then delete... but "branch" refers to multiple things in perforce terms - it's both a branch in terms of classic source control but it's also (in this case) the name of an operation where you copy a file retaining a pointer to history.
tldr: unreal isn't doing anything wrong - it's being safe about other files referencing what you're moving. perforce's terminology is just confusing.
FYI - easy way to verify what I'm saying, make an asset in unreal. Save it, submit it. Move it within unreal itself, submit the changelist.
Right click on the file in P4V's depot or workspace browser, go to "Revision Graph". You'll get a window showing the history of the file including the rename.
If you're used to git then the result is a bit weird because perforce stores revisions on a per-file basis, so moving a file creates a new file at revision 1. But history is still retained, just under the old file's name (and you can view this in the revision graph).
I'm used to both git and perforce, having used P4 for 15+years. Doing a rename/move in perforce, or in Unity using perforce integration behaves the same way, and a file will appear in the changelist twice. The old name marked for move/delete, the new name marked for move/add. The file in the new location will have all the correct history.
Unreal doesn't do this, it just marks a file for delete and then makes a new file marked for add, which will not keep the files previous history viewable in P4V. I've literally just done this and both the history window and the revision graph shown 1 revision, because it's a new file
Then something is wrong, because unreal definitely does moves correctly for me.
I'm staring at a change made in unreal with a proper revision graph
What version are you in? Like I said, I'm pretty sure it worked as expected in UE4 last time I worked on my project. This is in UE5 I'm getting this behavior
And that's my moved and renamed file with 1 revision
if unreal didn't retain history on moves then epic themselves would be in trouble since that's what they use.
As I said, something seems to be wrong. Did you try doing anything with the file beyond simply moving it in unreal? Can you make a quick blueprint as a test, submit it, and then move it?
So, steps I just did:
- UE: Create a new actor BP in folder X.
- UE: Place an instance of the BP into 2 of my maps so it's referenced in an unopened level. Save all
- P4V: submit changelist
- UE: Move test BP into folder Y and rename it. Save All (checking out whatever unreal needs to)
- P4V: Submit changelist
- UE: Find the redirector in folder X, right click, choose Fix Up. Check out all files required, save all
- P4V: submit changelist
I am left with the renamed file in it's original location, and no history related to the move/rename
Yeah I'm not sure what to tell you - I don't have the same behavior.
Actually I take it back - I sometimes have the same behavior?
Hmm, I wonder if there's a bug when it leaves behind a redirector where it's doing an actual copy rather than a branch.
there's a UDN post about it. Apparently this is a known issue specifically around redirectors, as the order of operations for redirectors doesn't allow them to execute a proper move with perforce and would require a refactor of how assets get renamed altogether. ¯_(ツ)_/¯
*Perforce can't create directory for mkdir: The system cannot find the file specified. * Anyone seen this error message before?
I can't seem to get the repo linked up properly.
@merry verge Well, I appreciate you taking the time to point me in the right direction. It really does seem like a bug, I'm sure I'd have discovered redirectors before if I'd seen this behaviour. Mind linking me to the post you found?
It's on UDN - you won't be able to see it unless you have an agreement with Epic, but if you do have UDN access it's this: https://udn.unrealengine.com/s/feed/0D54z00007CyBfJCAV
They do link a public-facing issue but it's very sparse - https://issues.unrealengine.com/issue/UE-35365
From what I can tell, the reason is that unreal creates the destination file before calling into any source control provider. So the destination file already exists, therefore a p4 move/branch/etc won't actually work. They need to refactor asset renaming to allow for running source control operations before the destination file is written I guess, but they probably haven't done so because they don't need it and no one has really bugged them about it much.
Either that or perforce needs to allow marking files for an operation without actually performing that operation...
I don't, but I can bug someone at work who is on an unreal project. They should have access, and I can at least ask how their team manages this sort of thing. Thanks again
wtf?! in ue5 when clicking sumbit content, deselecting items that you don't want to push isn't possible anymore?! Anyone knows how to deselect changed files you choose not to push like in UE4?
Hey, with what source control provider is that the case? And in what version of UE5? (if I have to bet I would say Git on UE5.1)
It broke on UE5.1 so I provided a fix as a PR for Epic Games that made it in UE5.2 Preview 2
edit: it's something that can be worked out more or less on the side of the plugin, so this is was I did with Plastic SCM / Unity Source Control
the reason is Skein / Unreal Revision Control for Unreal Editor for Fortnite UEFN doesn't provide this ability to select assets to checkin
@reef orioleHey, thanks a lot for the answer, I thought this was intended to stay that way. It is 5.1 indeed & we're using sourcetree (basically git). I loved to be able to cleanup my commits from UE instead of Sourcetree since everything was there - history, diffs etc. and especially for blueprints it's really nice to do it in the engine instead of in the SC software. Glad to know its just a bug and will be patched-up in .2 🙏
Right, it's only a side effect; it's still working as intended for Perforce so they didn't realize it was breaking other plugins (mostly Git in fact since I worked around the issue with Plastic SCM) 🙂
Hi there so i recently set up perforce for my unreal projects
but when I submit a .p4ignore my p4v still shows all these files in my workspace
is there some way to hide them or have i done something wrong?
In P4Admin software, I am a p4admin administrator, but now I cannot access permissions.
At first, It was fine. After I changed the name PICTURE2, make it no longer "p4admin" when I saved edit, a "p4 protect" error message popped up, and then I turned off P4A. When I opened it again, this situation occurred,
There are someone can I solve this problem, please help me
The current issue is that no user has Super administrator privileges, so no one can access Permission
Does anyone have a pointer to project best practices for storing project documents (and art file source would be follow-on question) in relation to the Unreal project? I'm using github. Do most people create a secondary folder structure somewhere and version that separately?
Hey, I could use some help sorting something out...
So, we´re a small company doing only linear content (tv/commercials) and recently started switching our pipeline to Unreal.
We went with Perforce for source control and it took me a while to figure out a system to build a MasterTemplate with a Material Library, that we could build on the go, while already working on projects:
So, we have a MasterTemplate Project in one depot as a mainline stream and than another depot holding all our projects as mainline streams.
So, each project is a separate stream in that depot.
Now I simply set up the client views for each project stream to
"import+" the material library folder from the Mastertemplate.
This way we can access the material library from witin the project streams and also add to the material as we work on these.
I also set up a bunch of "import" only mappings for stuff our team members shouldn´t be able to break and a bunch of "exclude" mappings for stuff we don´t need for every project.
This works pretty need, but then I saw the "state of unreal" and got pretty excited about "Strata" materials...
Since Strata and legacy are sort of mutualyl exclusive, we would still be able to use all our legacy master materials if we enabled strata, but if we ran into issues, we couldn´tn simply switch back.
Naturally I´m not wondering how I could use a stream of the Mastertemplate to try out Strata and figure out what works and what doesn´t etc.
But lets say after a while I figured it out and now I wanna merge the changes back to the mainline stream...
How does that actually work?
Isn´t merging only for code and materials etc are binaries?
Yes, you can't really merge uassets. I think for your use case as you describe, your best option is to develop the Strata alternatives in parallel, alongside the traditional master materials. Gradually move projects over to use the new materials, and assuming no problems you'll eventually be able to remove the old master materials.
So there is no way of using a development branch to test the changes and then simply merge them back when I´ve tested them thorroughly?
if the names stay the same, could I just copy them over instead of merging and overwrite the old ones in the mainline?
Gradually moving projects over to use the new materials is tricky, as we will still add new mastermaterials and they would have to be manually copied over to the strata-template project, instead of automatically appearing in the branch.
You can 'merge' if by merge you mean 'overwrite with the new ones'
assuming your old material and new strata materials are compatible (same parameters etc, and no other Strata related issues) then maybe it would work
erm... actually not sure that's correct information I gave you there
Yeah, I mean simply overwrite the files in the mainline.
I think the "accept target" option would be best then and disable "Merge binary files as text when resolving content"
I´ll try this anyways in a mainline duplicate first.
👍
The main thing is to enable Strata in the development stream and then when I "merge" the dev into the mainline, make sure I also merge the project settings (or wherever Strata needs to be enabled)
I suspect you might end up having to edit all your material instances and point them at the new base material
Hm. Yeah, I could see that happening.
I should probably check if there is a tool that allows to replace all parent materials.
Hm. Actually this might be sort of a deal breaker.
How would I know which parent material was used in a Material Instance...?
Because then all our old projects would break, because I don´t know which material instance had which master material parent.
Well.
Only one way to find out...
Downloading 5.2 preview right now...:)
you could probably write an editor utility to do that, if it's not possible already.
if it was me I'd probably go with the route of developing the Strata materials in parallel, and switching them over, but you know your projects better than me 🙂
Yeah, I will probably end up with an alternate mainline for the MasterTemplate, "MasterTemplateStrata", if the material instances are a problem.
Because we regularily have to go back to old projects and then its probably best to keep the workspace mappings point to the original MasterTemplate and as you suggested, switch new projects to use the Strata template instead.
yeah exactly, backwards compat
although I would have thought for this reason you'd want to Integrate the materials into each project, rather than importing.
say you have an old project relying on Material X, if you modify Material X later on then the old project will end up looking different now when you open it.
Yeah, we thought of that too.
You can keep projects up to date by integrating new versions whenever you want, but it should usually be a conscious choice to do that. E.g. what if you are finaling a project and someone changes a master material without realising the knock on effect.
Its not ideal yet. The reason for teh way we set it up now was, that we are still building our master materials library as we go.
So, we will regularily need to change master materials or add new ones while working on a project and needed a simple way to add them back to the MasterTemplate.
Right now there is a workflow where only I as the admin can add to the "FINAL" library, everyone else submits to the MasterTemplate to a "WIP" folder.
So I can make sure to check that the changed MasterMaterials stay backwards compatible, by making sure any new options default to a value that makes it look like the previous version.
Hm. Now as I think of it.
There would be a simple solution to the problem of updated MasterMaterials when using "import" or "import+", when revisiting an old Project.
All we´d need to do is, after finishing a project, deleting the Path mappings with "import" in the stream and only leave in "share..."
This way it would only fetch the MasterMaterials from the Project stream in the Project depot, not from the MasterTemplate stream in the Template depot.
It would require that bit of maintenance, but would assure that we´d get the exact same results when revisiting an old project, wouldn´t it?
Do we have any UnrealGameSync experts in here?
Hi !
I would like some advice / help with the use of the GIT LFS 2 plugin.
I've installed the plugin, connected to the repo (azure) and it seems to work, but there is several strange behaviours:
- Check out: works, but after a couple of seconds the check out indicator disappear and the file look like it's not checked out
- Check in: Well, with the issue explained before, the asset can't be check in. But I managed to do it quickly and the lock is not removed after the check in.
UE 5.1.1 + Latest version of GIT LFS 2.
Any idea ?
Before you ask: Git Attribute is set up as per the documentation.
thanks 🙂
I am looking into branching strategy with Perforce. I am not used to work with this many and large binaries also this is my first project with many coworkers working on assets.
I know Perforce have time locking feature, but does it work cross branch/stream? 🤔 I can't find anything on that.
Any tips on how to do feature branch strategy with Perforce and still preventing designers working on same asset?
On their website they mention branching strategy but only from code perspective
https://www.perforce.com/resources/vcs/version-control-branching
And Epic's guide only talks about setup
I have a really annoying issue with perforce:
Most of the time when I am trying to move an asset into a different folder, I get an error message saying the asset could not be renamed and I can´t move it.
Sometimes I can fix this by hitting "fix up redirectors", but sometimes that doesn´t help either.
Am I doing something in the wrong order maybe?
Aren't you the one that insisted on putting your workspaces into a share cloud drive (a long time ago)? Are you sure it's just perforce causing this?
There is a feature RegisterStateBranches that you can use to display asset status between different branches or streams... But it seems like pain or impossible to set up for anything except completely persistent streams. Many smaller people just give up and do trunk dev
(And it might not enforce locking, it might just show if the asset is checked out elsewhere, I think)
Thanks! I will look into that. I've been reading all morning and, as you say, trunk dev seems to be the way. So instead of looking into how I can make branching possible I have started looking into how to bulletproof trunk dev instead 👍
A best practice seem to be feature flags. Anyone have any experience with that in Unreal? Anyone used any centralized flag management system?
Haha, yeah, good memory...:)
Works pretty well so far, no syncing issues.
I´m pretty sure it also happend before using dropbox, but I´ll check again.
Hi, I was wondering if anyone could help with an issue. I've been using Git + LFS and recently, when I downloaded the repository to test if my project would open properly, I discovered that all of the .uasset and .umap files are seemingly corrupt. They're visible in Windows Explorer, but not in the editor.
When opening the editor, I also got an error message about it failing to load the map that I'd set as the editor default.
I just double-checked a previous project where I used Git + LFS, and the downloaded repo for it works fine so I'm currently deleting the repo for the new project and remaking it to see if someone thing got messed up along the way.
Something indeed got messed up somewhere; remaking the repository has solved the problem as far as I can tell. I'll just need to be more careful with my commits and test more often going forward.
Hi y'all so I'm having an issue with unreal game sync, on my personal computer it's fine I'm able to grab latest etc. On other computers all the changelists are greyed out. and if I click sync I get an error saying couldn't find any changelist. Pre-compiled binaries are in a seperate stream titled Dev-Binaries. I know I'm probably missing oneeee little step haha, curious if anyone might know what might be the issue
https://media.discordapp.net/attachments/221798862938046464/1099113173241581658/image.png?width=741&height=439
i cannot fix this error on github desktop.
I have:
uninstalled, reinstalled the app, added new ssh keys, regenerated them, signed out and signed back in tons of times. its a private repository and i jsut want to work on my game not deal with github. pls help if anyone knows
I downloaded P4VS and linked the solution - but normally the .sln and other visual studio files are not synced with the depot (using the p4ignore)
So how does that work really? Do I have to add the .sln to the depot? How do I keep the files synced otherwise? The Perforce integration in unreal doesn't do the source control for cpp files
For Unreal, you don't add the solution to perforce. Instead you re-run the GenerateProjectFiles batch script to recreate the solution (you can also do this in the editor if you have one that builds and runs) after adding files or syncing perforce. If you're using UnrealGameSync (UGS) it will do that for you after syncing.
Hi, I am using SVN as version control for my project and I'd like to display the current game version in a widget ingame. Is there a way I can get the current CL number and description exposed to blueprints ?
I am getting the "Certificate date range invalid." from p4v. I'm trying to update the certificate but it seems like opt/perforce/servers is empty?
Is there a way to determine where else the certificate files could be? I browsed around but didn't find anything
If you're using p4dctl, check the files in /etc/perforce/p4dctl.conf.d to see where your servers are. There should be a line that says P4ROOT = /path/to/server/directory, inside that directory there should be an ssl directory with the certs.
I'm not familiar with that, I will check it out
I found p4dctl.conf.d but how do I open it?
hmm. I can't seem to
nvm, I got it
ok I see that the P4ROOT is at /home/perforceserver/root
but I can't find that directory. If I cd to the base directory I see only these
servers directory
But how do I work with the cpp and h files? Unreal doesn't check them out manually and they are read only
I'm not sure I follow. You still configure visual studio to work with perforce, you just don't check the solution or project files into perforce.
I switched over to Rider, so I don't even bother with the solution now, but it all worked just fine while I did.
It's probably not entirely true that it recreates the solution file (my bad), it's probably just updating what it needs to for the files & plugins that are there and leaves the source control configuration alone.
p4vs tries to put the vcxproj and the .sln into the depot even though they are in the .p4ignore
I can't believe how stupid and unintuitive this is, you should just be able to seamlessly work with files like you do inside the engine
Hmm... I don't recall that happening for me, sorry.
It never surprises me when you're trying to get 3 different programs from different companies to work together that things can get silly.
You could switch to Rider, since then you don't need the solution at all, but you've got to pay for that IDE. There's no free version any longer (that I'm aware of).
It's likely your p4ignore isn't configured. Did you set a P4IGNORE environment variable or use p4 set P4IGNORE=.p4ignore? Perforce doesn't have an inherent ignore file, you have to tell it what you called yours.
If you've already done that, how are you ignoring the sln and vcxproj files?
I did, and I had to modify it from the standard one because it didn't work properly
What would I gain from using Rider? Better perforce support?
You can use p4 ignores cmd to help figure out what is going on (https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_ignores.html)
To open a cmd window with the correct settings, open p4v, right click the root folder and choose "Open Command Window Here"
I solved that but when I try to add the project to source control using visual studio it crashes lmao
I'm trying Rider now to see if it's any better
@unborn relic I did that but I still can't seem to submit changes
well no idea, as we have preflights and stuff within the P4V Client I just use the Rider integration to checkout the files, but do everything else in the client
yeah how do you checkout the files?
It does it automatically
if the directory mapping and perforce stuff is setup properly of course.
Ok it works in a different file, just on this one .cpp
Yes, the perforce integration is a bit better, but it also has a lot of direct support for Unreal that VS doesn’t. And the intellisense doesn’t completely lock up the machine when dealing with a project as large as Unreal.
ye I switched to Rider it's pretty cool
hey, any clue what this error with perforce is?
The filesystem 'P4ROOT' has only 4.8G free, but the server configuration requires at least 5G available
double check where your perforce root directory is and how much disk space is left.
If you're using p4dctl to manage your server, the root dir is set within /etc/perforce/p4dctl.conf
yeah, we found the issue
basically, we have a 50gb server, and recently cleared 20gb worth of files to start a new project
meaning we have 2 projects worth 20gb on there, in data
for some reason the server still registered the other 20gb
so i just scrapped the droplet and im uploading it to a fresh 70gb droplet now
I have been following along with this guide that I found here on this discord to try and get UGS setup with Perforce: https://branched-ceramic-2dd.notion.site/Unreal-Game-Sync-Getting-Started-f2d96afbe09b456e95692cc3caac3764
It has honestly been a big struggle because I had to upgrade my perforce p4d server in order to have access to stream components which was a hassle in it of itself and I have tested that shelving and submitting files work.
I am on the part of the doc where I am trying to submit the unreal source engine files to perforce which is the image I have attached
But when doing this I get a swarm error which I am not sure why swarm is involved at all. We do utilize swarm for our code reviews but I am not even creating a review.
I get this error:
Submit validation failed -- fix problems then use 'p4 submit -c 5638'.
'swarm.enforce' validation failed: Submit trigger unable to communicate with Swarm server.
I am very confused why this trigger is involved at all and why it just wont push the files? Do I need to also update my swarm server? Do I need to edit my trigger in some way? Is it because this changelist is huge because I'm trying to push the unreal source build which is massive?
I know this is not a perforce discord but any help would be greatly appreciated as this has taken me some time to get setup. Perforce is great to use but any setup or technical issues is a nightmare to figure out and their docs are insanely convoluted and confusing.
This Guide will contain the steps to setup a Perforce Server for UnrealGameSync. I won’t go into details and explain what has been already well explained in other Guides / Documentations. Have a look at the Ressources if something is unclear. I will share my thoughts and mistakes that I made on certain parts.
Because you have a submit trigger set to talk to swarm (probably so that people can't just submit changes without first going through a swarm review) but it's failing to communicate with swarm.
iirc swarm won't actually block submissions through that trigger unless you explicitly configure it to, but in this case it's not even getting a chance to check because p4d can't reach swarm at all.
Thank you for the response, as I mentioned in my previous message I did try submitting a small changelist with success. The only time that issue pops up is when trying to submit this large changelist.
I don't really have an answer for you. Maybe the trigger is set to only operate on a certain path that you're hitting with the big submission.
You could also just disable the trigger temporarily. Or figure out why it's failing to talk to swarm.
Maybe it's an old trigger that shouldn't exist anymore - you'll have to look at the triggers list to see what it's doing and what might be wrong.
Thanks for the suggestions, I will try doing that.
I temporarily disabled it and it worked
hey, we made a new 70gb server and pushes the project
all was well until the last push
now were getting this error
doesnt even make sense
Probably your disk partition is full, that could be very well the case if perforce root is under /opt/perforce
Use df command to check how your 70gb storage is partitionned and where are the mount points
70gb isn't a lot for a server, particularly when it versions all your files.
Ours was like 200gb in ec2
yeah its 91% full
how could i remove files? we literally only need 20gb of it
So I'm learning how to use perforce streams. I don't fully understand the idea of merge down and copy up. Does this mean that if I copy up from the dev stream, I create copies of revisions on the server? This would use up a lot of memory for the larger binary assets of which I maybe don't really care to have additional copies. Could anyone enlighten me?
Find out where all your space has gone. If it's perforce, the only thing you can do is start removing files or get more space. Don't forget that unless you tell perforce not to keep history of your files, it will store every version of every file. For text files this doesn't really matter unless they are massive or you have hundreds of thousands of them, but for binary assets it racks up fast
run sudo du -chd 1 / you'll see what folders take the most disk space
This folder contains "Depot data, archive files, scripts, and checkpoints" as per the Helix Server Manual (https://swarm.workshop.perforce.com/projects/perforce-software-sdp/view/main/doc/SDP_Guide.Unix.pdf)
Start to drill down into it, you might have some older depots folders in there that you can probably delete
thats what i wanna hear
we suspected p4 was keeping our files in archive as we had double the usage w ewere actually using
Nice, congrats on the release!
can someone help me with this? I primarily use github desktop but I switched to cli to solve this problem. i tried increasing the buffer, changing from http to ssh (and reverted). I have 5 commits that need to be pushed. thanks in advance!
You should use LFS
Im trying to track changes to my custom Engine build with a forked repo on github, and I added a new steamworks sdk to my engine folder containing .libs/.dlls. The .gitignore for the unreal's engine repo black lists dll and lib files, Should I just bypass the .gitignore in the engine and add all the dll/lib files to version control?
Does anyone know if I can add the "Timestamp" files to .gitignore?
There seem to be some in plugins from Lyra thajt I'm using
and they change - are they safe to add to .gitignore?
Hey there! Someone told me you can use perforce with more than 5 users by using workspaces, is this true?
Sort of? Not really? You can't get around the user limit without paying. You can at best share accounts and just have people use different workspaces. Which isn't something I'm recommending in the slightest, but you can do it.
just exclude those specific paths with !
Can someone tell me if i can delete these empty folders? They are world partition folders that are local. I am just wondering if these are remnants and if i need them?
Hi does anyone has any idea how to connect one repo of unreal engine project with 2 different organization from 2 different accounts for push and fetch in azure devops? Or anything with unreal engine ci/cd pipeline in azure devops?
Yeah you can safely delete them
@iron bronzeThank you, appreciate it. 😊
Sometimes when I pull down from github and there's a merge conflict on the main level in my game, if I pick the newest change and I merge, the level corrupts so I cannot open it unless I go to github and manually download that spesific file again and replace the bad one.
Has anyone had this problem before and does anyone know of a good way to avoid this happening. We try to work on seperate levels as much as possible, but sometimes it still ends up happening. If I were to delete the project locally and clone it then it's also perfectly fine, so it only breaks on my end?
You can't really merge binary assets. You need to be able to lock files so no-one else can edit them. Git needs LFS support for this.
Anyone have issues setting up a Perforce server with a Charter Spectrum Router? Seems the port forwarding just doesn't work. Tried Canyouseeme.org to check the port and connection constantly times out.
When you say "real mess" ?
We just can’t seem to add changes, mark anything for add, and the Depot doesn’t reflect the latest
It’s one project, and two users, 1 Depot, and two workspaces so it can’t be that bad.
I guarantee you it’ll be something super simple that we overlooked, but we are backed into a corner here and are willing to compensate anyone who can give us some of their time. I imagine the whole ‘untangle’ for someone who’s very familiar with perforce would take half an hour
If the job takes longer we can compensate accordingly
Hi:
I've setup a local perforce server as well and ... it's not good either.
Got 2 drives, one 64gb (for sys) and 6tb (for the files ideally).
Seems everything has been pushed to the sys drive. My friend has created 3 depots and I can't even seems to delete any of them to free the files.
Further more, the configuration itself of the P4 + Linux seems to be wrong because the files are not stored on the 6 TB ...
If anyone has ideas, I am all ears ...
I created a folder p4repo mounted on the 6tb, and installed while saying P4 should use this folder, but that's not what is happening ...
ideally we would like to keep the configuration, clean the repo(so that the system drive is being freed a bit) and remake the depot on the 6tb.
thank you for you help !
I don't know enough about it to fix anything, sorry, btu describing your problem is going to be quicker than asking for somebody to help by sharing screens, even if you're paying.
Have you done things before with perforce? You know how mark for add etc works?
Yep, we’ve been using perforce since we started the project about two years ago
The headaches started when we upgraded to 5.1 from 5.0, created a new workspace to accommodate it, and now we can use VC at all and we’ve been hanging our heads against the issue for three days now
We’re late for a deadline and are going to get our asses kicked
Do you get any error messages when you try to do things?
It appears that most files are locked by an empty workspace, for one. When we try to push changes we get a message saying it can’t clobber the files.
Can't clobber the remote files?
What's the exact error?
And have you tried turning clobber on for your workspace?
Hey, the other guy on this project here. He isn't receiving any errors when trying to push the entire project.
Here are the events leading up to the issue.
We opted to update UE from 5.0.1 to 5.1.0
Tommy did so on his end successfully.
He created a new workspace with the new project.
He then tried to push the changes, but despite this, the depot is not updating and the files remain in a locked state by his user profile (see screenshot).
I've tried to pull, and though it shows 66773 files added, I still don't have his 5.1 version of the project.
He has tried making changes and pushing, and is able to do so from both, P4V and from within the editor, but the changes are not being reflected on the depot.
I've tried using clobber on my end to no avail. We were waiting for some guidance before attempting to turn Clobber on on his side.
well that's an exclusive checkout, as a superuser, you can use p4 revert to revert files in other workspaces
p4 revert -C name_of_workspace //path/to/file
There are no files that are locked or checked out in that workspace.
well that tells you otherwise
Hence our issue.
this is a command line tool and is typically installed with P4V
you will need to run p4 set to make sure the usual environment variables are set
though I'm kinda confused as to what necessitated creating new workspaces after an engine upgrade
We thought it'd be good practice (super novice users), but now know better.
perforce not installed or maybe its windows 11, but so far im getting nowhere, as p4d wont run,not showing up under sevices, any idesa ?
I meant maybe its permissions, or windows 11 install hit a permission issue
about ready to just give unitys thing a try
p4d -r C:\Program Files\Perforce\Server -xu , i was told by p4d exe, to run that, but that's not even working
Perforce server error:
Usage: p4d -h for usage.
Unexpected arguments.
Database is at old upgrade level 47. Use 'p4d -r C:\Program Files\Perforce\Server -xu' to upgrade to level 49.
What would the be the best source control that is easy to use, free and best for a 2 man team?
Oh and if its selfhosted, linux only.
I currently use Azure
subversion ive had some issues ws
with
no idea, ive never used that sorry ;0-0
i know of it.
No problem, thanks anyways :)
i'd go with perforce
freefor up to 5 I think,its what im tryingggg toget working
UE defaults to it, ue uses it
I ,mean epic, uses it
Hmm alright, if me and the other dev are in UE at the same time and we push an edit to the game, would it be competing or would it know which files to change/merge?
i m having ttrouble with serverstarting, prob. a darn windows 11 thing
W11 sucks :/ i regret moving to it
same time no problem as I understandit, thats the idea behind sc, I think perforce does a great job at, that, yoiiu can verify at their website.
me too overall;
overall
just eating more ram, just lovvvvvvely ;0-0
Lmfao, im upgrading my pc soon
cool
Gonna get a 4070 or 4090, i9 13900, 64 gig ddr5 and 4tb of M.2
that should work for a nice long time
As the log said: upgrade the database using the command provided and run the server again
hopefully helpful sidenote: it looks like you guys messed up another thing from the start; you have a few temporary files in your depot in this screenshot, including the one you're asking about. it shouldn't even be in the depot. do you have ignore files set up and working? @lyric root
or did temp files accidentally get checked in by you guys when you set up new workspace maybe?
Most likely the latter. We do have ignore files.
yeah that makes sense given that i just glanced again and it says revision 1
Do you guys ignore your binary files for source control? I'm a one-man band and really just want a backup, for now anyway.
So generally speaking you exclude intermediates from your version control. Does this also apply to plugins? Is it always safe to delete the intermediates in a plugin for instance?
Any specific sort of binary files your talking about? I still use source control for my hobby projects which I'm the only one working on. But I still work on it the same way I would at work, binary content is submitted and binaries (exe, obj, other intermediates) are not.
For those that are part of your project and are building locally, it should be. Not so sure about Engine plugins if you're getting them from the marketplace and using an installed build. I would have been a little surprised if there was anything there.
There's a bunch of stuff in there and the fact that it's read-only because of perforce is interfering with packaging and building from VS. So I want to obliterate from the repo what I can and set it to read-write. But I'm not 100% sure that removing plugin intermediates will not break anything.
Hi .... anyone had this error in perforce (linux, server)
syntax error on line 17 of configuration file /etc/perforce/p4dctl.conf.d/p4ds.conf ?
@iron bronze the command didnt work.
I said that in the long comment I made yesterday
ty for commenting
You probably need double quotes to account for the space character in your perforce server path
What s the simplest way of installing source control for a 2 people project? Plastic SMC? Do you have a tutorial? Thanks a lot
@iron bronze ok HM,,ill ty that ty:)))
always something ;0-0
@graceful ridge i avoided plastic as its by unity3d, regardless, perforce is prob. best overall as its what epic uses, but so far here its a giant headache to setup
did try plastic, but it was also a headache, so decided to default to a headache with engine I use ;)js
finally got perforce working here, hoping it goes well,if it works for epic its worth trying out:)
Nothing specific, more just from a ignore list standpoint. I don’t think I’ll include binaries at this point.
The only reason to ever include DLLs and associated files in source control would be to produce a ghetto build distribution system, so that artists don't need to build DLLs
It will take up a ton of space BTW and I would recommend telling your vcs to keep only the latest version if possible
generally, anything that can be produced or generated by other things in source control shouldn't be tracked in source control
Going through Teamcity + Perforce setup, will Teamcity create a new workspace for each build configuration?
One workspace per agent minimum, any additional workspace depends on your build features
In my case I reuse workspaces for faster build times (benefitting from Intermediate, Build and Saved folders already existing)
Me and my cousin are starting to work on a game is there a chance me and him can work on the same project at the same time we both live in different states
Working on the same file/map at the same time is quite difficult, but working on the same project isn't that hard.
Is Perforce free to use?
You need to set up some repository for your project and share it with your cousin.
Free up to 5 users, I think?
Something like that.
is it this Get access to Unreal resources form that I have to fill out to get it going?
Get started building games, films, and more with Unreal Engine and Perforce Helix Core.
or is there some other link?
I have no idea.
ok, not sure what to use for revision control
I tried to set up GIT but it seemed they wanted me to pay for LFS
GitHub will, sure.
You can set up your own LFS server for free on other services, such as AWS.
No just find the downloads section. Look for P4D (server) and P4V (client). Watch lots of tutorials before starting. Not everyone ends up loving perforce, especially those who already really like using git
Thanks guys
How can you reuse Workspaces?
By keeping the same working directory at each build step
Hey guys! Having troubles with perforce permission table, can't figure it out.
Let's say I have 2 directories in my stream //depot/foo/stream/dir1 and //depot/foo/stream/dir2 (stream depth is 2, if that's important). I have two groups "group-read" and "group-write" and the following rules:
write group group-write * //depot/foo/stream/dir1/...
write group group-write * //depot/foo/stream/dir2/...
open group group-read * //depot/...
Then I have user who is included in both group-read and group-write. The problem is that only one of these directories is available to this user, and I can't figure out why. I've used 'p4 protects' to make sure that only these rules are applied, nothing else interferes. Any ideas?
Permissions are applied in order from top to bottom. The open permission is probably overwriting earlier permissions for your write group - simply move the open permission to be the first line.
Thanks! Tried that, but no result. I believe order isn't important if you don't use exclusions as in my case. The highest permission will be granted (source here: https://www.perforce.com/manuals/p4sag/Content/P4SAG/protections-implementation.html). And if that was the problem, both directories would be unavailable
If more than one line matches, the last line "wins".
order does matter, I can't speak for why it isn't working for you though
that page contradicts itself lol
I've definitely had issues where ordering caused issues without using exclusions. Their "most permissive option wins" might only apply when multiple groups are used... which I guess is true in your case so I'm not sure what's going on.
I have bunch of other folders that work fine, so I think in this case order isn't important. That's why you always have admin permissions at the bottom
is it possible streams are making difference?
I don't think streams affect how permissions work
have you opened up p4admin and looked at what the server thinks permissions are? If you select a user or group on the permissions tab it shows that user/group's effective permissions for every directory and file in the depot tree.
it also shows which rule is being applied if you select a specific file/folder
yes, I did. That's the issue, I cannot make it writable by reordering stuff
this may be a dumb question, but you did save the permission table after reordering things, right?
sure, but I think preview is updated right away. At least when you select another user
maybe the way groups are applied is important? read-only access is granted to the group, which contains the nested group containing the target user. And write-access is granted to this nested group explicitly
anyway, thanks 🙂 will try tech support
What's the proper way to deal with binaries in perforce? There are members on the team that should not compile c++ so I guess they need the binaries, but it also seems like something that could bloat up the repository. What are the best ways to deal with this?
You can check them in manually and make sure the typemap has +s2 or whatever set for that type, which only keeps the last 2 revisions, or however many you configure. Alternatively you can configure Unreal Game Sync, ugs, which does all that stuff for you
Yea I could do the 1st step no problem. I'm looking into the alternatives. But one thing that confuses me, is that the guide says that you have to copy an Unreal perforce stream. Why is that?
I guess it's to have changes to the engine and being able to merge them with engine updates?
If you make an empty blueprint, commit it to source control and then move the BeginPlay node somewhere, then put it back (or even ctrl-z), hit compile and save. The BP has actually been modified even if there are no detectable changes in the diff.
Is this because I'm using git or just how Unreal functions right now?
Very small team with guaranteed max of one coder and no desire to set up extra tooling: make binaries always writable with max revisions, coder can check in binaries whenever they want
2+ coders in a small team, set up CI to build and submit binaries. Use a virtual stream for coders that excludes binaries.
Yes, that is how Unreal works
We do not include Binaries in repo. Here's our redacted .p4ignore file.
( Note that we do force some changes in Build folder, like for mobile icons and such )
This does mean that all devs will have to build project with Visual Studio if there are any c++ changes. We've setup a script that clears Intermediate folder and regenerates .sln to make things a bit smoother.
/xxx.sln*
xxx.uproject.*
# Ignore IDE files
.idea
.vs
/.idea/
/.vs/
/Plugins/Developer/RiderLink/
# Ignore generated folders
Saved/
Binaries/
Intermediate/
DerivedDataCache/
Developer/
Build/
/DataExport/dump.*
ArchivedBuilds/
Plugins/BlueprintAssist/NodeSizeCache/
Plugins/AutoSizeComments/ASCCache/
# Additional
log.txt
*.tmp
.*
# Notepad++ backup files
*.bak
Yea that pretty much aligns with what I've looked up. Thanks for the clear and brief answer! Right now I'm the only c++ dev. I can see that changing but not immediately. I guess there's no huge drawback to including it with max revisions for now?
So you also have your non-programmers build from source?
They have VisualStudio installed, they run the cleanup/regen script and press Play in Visual Studio, it's not that bad when setup like this I reckon
No it's not that bad. But I'll still consider the alternatives.
If you have a LOT of c++ changes, like daily, then this might be suboptimal. We only have maybe weekly c++ changes, mostly BP
Yea, hard to say right now. It was a BP only project that I joined, but there are some things I can't access in BP and starting to do some things in c++ might cause a ripple
Even with 2 devs it's not terrible right? You just overwrite each others binaries each time? As in, I pull some changes that don't match with the binaries of my local changes, I just build again and it's fixed right? I'll probably set up something better, but I'd like to know if that would be the workflow or if it would be worse.
Well I guess it also doubles the amount of binaries everyone is pulling. But that's also the case or the non devs if you set up the virtual stream.
well... yeah, if that doesn't sound annoying to you then it may not be annoying 😄 with CI set up it's completely seamless during normal work, only when things don't work right and you have to fix your CI once in a while it's annoying
No I would prefer to avoid that altogether, but still it's good to know what the worst case would be. So I can maybe do it at a more opportune time.
I mean you're going to be building from code anyway if you're working in C++ right. And if you're not, you'll want the binaries to run the editor anyway. So basically anytime you're not building from source, it would be beneficial to pull those binaries haha?
I don't think it matter how many developers there are. If everyone is capable of and expected to be building the game locally anyway there's not a compelling reason to commit binaries to source control (IMO). It's when you have a tipping point of people that can't/shouldn't be building the game that it becomes an issue.
Epic has a tool called UnrealGameSync that's meant to help with this issue to some degree. It requires some setup and infrastructure like having build machines (it may require that perforce is your version control system) but it designed explicitly for setting up team members that shouldn't build the game and should sync the binaries from somewhere. (usually that's still perforce, but someplace other than the binaries directory)
My humble viewpoint is that UGS is probably overkill for like a 5, maybe even closer to 10 man team. Wouldn't hurt, but wouldn't substantially help anything either. If you already use perforce, simply implementing CI into the team wins the 80/20 rule for very small teams
The CI setup w/ virtual streams sounds interesting : do you happen to know of a blog post or such going over the setup process in detail? ( Note we already have Perforce + Jenkins setup and so forth, but I am not clear on the virtual streams role in the show )
a good initial chunk of what i did here https://unrealcommunity.wiki/jenkins-example-windows-installation-perforce-z98w4map
am still using jenkins out of laziness, but have seen most people seem happier with team city instead
I also set up a perforce discord bot to post new commits, and a jenkins discord bot to post CI build start/success/fail messages
This page provides information on setting up a basic starter Jenkins CI environment.
Nice, just found that while googling as well. I also am kind of bonded with Jenkins, it being familiar and a known solid workhorse : )
Thank you, will investigate.
i'd normally happily share my bot codes too, but i suck ass at python, and my jenkins bot seems to have a bug that after about 12+ months of running it starts suddenly lagging by several days on its posts 😂 and i would hope by now someone has made a discord perforce webhook... hope at least. there was none years ago when i set mine up.
So the idea of this is that non-coders never have to build with Visual Studio, right?
yeah
artists basically just sort of watch the perforce channel to make sure it's greenlit before they update
coders are "simply" responsible to very strictly ensure mainline always builds
Will have to ponder whether it is worth the hassle to set up in the near future, the team seems pretty used to the current Way : )
I guess the benefits really start stacking in a c++ heavy project
don't also forget, if you have more than 5 team members using VS, technically you may owe microsoft something like tens of thousands of dollars
actually there's probably a lower tier that would let me say "several thousand" dollars per year or something
$45/mo/user I guess
That's actually an interesting detail, never thought about that side of things for VS
Technically the non-coders are only using MSBuild, via VS : E
Might see if I can get a project build purely via MSBuild .bat script : )
if you speak to a lawyer long enough and throw enough money at them they will eventually probably tell you that isn't a loophole that exists. in order to use the build tools, you must have accepted a VS license.
for the same reason, if you have 6 Rider users, you must now also pay MS for VS licensing
as for artists just using it to build... as long as you're being fully honest with yourselves that this is exactly true, i call this kind of thing "jaywalking in the desert" ¯_(ツ)_/¯
whether or not it may technically be violating the EULA as written, it clearly isn't violating the intent of the EULA by any reasonable standard. i wouldn't lose too much sleep over it and just keep moving forward
Yeah, it's definitely not a trivial tool to setup so there's definitely a cost/benefit to determine for a team's specific circumstances and composition.
Here's my cleanup and regenerate .bat script - it's a bit crude, uses environment variables and have to set the projectname variable into the file
:: MAIN
set projectname=<MyProject>
@ECHO OFF
ECHO //// STARTING CLEAN, REGENERATE ////
CALL :CLEAN
CALL :REGENERATE
IF errorlevel 1 GOTO ERROR
ECHO PROCESS SUCCESS
PAUSE
EXIT /b 0
:: SUBROUTINES
:CLEAN
ECHO Deleting Intermediate folder
RD /s /q "Intermediate\"
ECHO Deleting Visual Studio solution
DEL *.sln
EXIT /b 0
:REGENERATE
ECHO Regenerating solution with Unreal: %UNREAL_ENGINE% and %PROJECT_DIRECTORY%\%projectname%.uproject
"%UNREAL_ENGINE%\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe" -ProjectFiles -UsePrecompiled -Game "%PROJECT_DIRECTORY%\%projectname%.uproject"
EXIT /b 0
:ERROR
ECHO CLEAN FAILED: Check that following environment variables are set.
ECHO Open Environment Variables. In User Variables, click New.
ECHO Set EnvironmentVariable Name UNREAL_ENGINE, and Browse Directory to your equivalent of "C:\Program Files\Epic Games\UE_5.0"
ECHO Set EnvironmentVariable Name PROJECT_DIRECTORY, and Browse Directory to your equivalent of "C:\perforce\project"
PAUSE
EXIT /b 1```
Okay so currently it's a 3 man team with me on c++. It's likely to grow, but not as of yet. I don't have a build machine. We us Perforce. So I guess what you're suggesting in that case is to just have everyone build from code. Though in the comments below yours, VS licensing is brought up so that could be a reason to share binaries over having everyone build from source. But I get your point, that it's only really worth it with a large team of non-devs.
Do they still even have to run in VS this way? Can't they just run the uproject file?
After reading all this, I think I like this system best. So Jenkins is buildings and submitting the binaries to the stream of the non-devs and the devs are on a virtual stream that excludes these binaries? No UGS required?
someone knows how to debloat source?
I'm trying to test initial source control sync, to make sure that other people I hire have a clean setup experience. What's the cleanest way to simulate first-time sync from source?
I'm using Plastic SCM if that matters
Like should I delete the project from the Epic Launcher? Delete the folder in Windows? Or does Plastic SCM have some "wipe out local files" option?
The cleanest way should be to literally do it normally? Write a step by step guide that you'll give new guys, and do it?
I wanted to try and get UnrealGameSync setup and using perforce with our team. I successfully got things working for me on my local computer but when trying to have other members of the team sync from the stream they are getting a bunch of errors. I followed this really awesome tutorial and things work great for me locally. https://branched-ceramic-2dd.notion.site/Unreal-Game-Sync-Getting-Started-f2d96afbe09b456e95692cc3caac3764
So when a new user pulls down the project for the first time I had them try to run the GenerateProjectFiles.bat but it had a bunch of errors saying packages were missing so I had them run the Setup.bat assuming that was the next step and I keep getting errors in the attached image. What are the proper steps when a new users pulls down all the files from the stream for the first time? I feel like I am missing something.
This Guide will contain the steps to setup a Perforce Server for UnrealGameSync. I won’t go into details and explain what has been already well explained in other Guides / Documentations. Have a look at the Ressources if something is unclear. I will share my thoughts and mistakes that I made on certain parts.
Hey y'all, Is there an faq on how to use unreal with git source control? I did a commit and got hit with the Git LFS data quota at 80%
I'm scared of doing another commit
What's the best (or perhaps, the cheapest) way to handle storing data in source control for unreal?
that cdn error is likely related to this github issue: https://forums.unrealengine.com/t/upcoming-disruption-of-service-impacting-unreal-engine-users-on-github/1155880
We are actively working to resolve a disruption of service that impacts Unreal Engine users on GitHub. Anyone downloading fresh copies of Unreal Engine code from GitHub will experience a disruption of service when running the Setup script that fetches dependencies, indicated by a “Failed to download” error message. Those with existing copies ma...
I ran into that last night as well before seeing this forum post. pulling in the latest changes from origin fixed the Setup.bat issue for me
Ah I see thank you for the info.
np
I'm hosting my UE projects on a network drive. 10gbite line, NVME2 cache, stacks of ram.
Whenever I need to save or edit a skeletal mesh with Chaos Cloth Physics, I literally have to wait minutes for it to save/process.
Nothing obvious shows in the task manager, minimal resource usage compared to other tasks that are lightning fast. Anyone else had this trouble?
...don't edit your project on a network drive? I feel like this is a question that answers itself. Given that most professional development is on SSDs you've chosen just about the exact opposite of that.
The issue isn't bandwidth, it's latency. You cannot get anywhere near the latency of local NVMe over the network without some crazy hardware that I doubt you're using, and the engine isn't in any way optimized to operate with anything other than local storage.
NAS for a shared DDC makes sense. NAS as the destination for a source control repository makes sense. NAS for editing the project itself does not.
Yeah, I get that. I just have literally hundreds of projects amounting to terabytes of data, so hard to keep it all locally.
Might look for a solution where I can clone quickly and push the results back to the network when I'm done, thanks
Awesome, made a temp workspace/folder that clones the existing workspace to my local drive. Can modify, push changes, then delete, and it all stores/downloads from the local network which keeps it all at speeds I'd expect
Really upset at the moment, attempting to compile a engine source build to continue working on a project, but I can't as the unreal dependency CDN is completely dead: https://forums.unrealengine.com/t/upcoming-disruption-of-service-impacting-unreal-engine-users-on-github/1155880/
Needless to say, not very happy at the moment.
We are actively working to resolve a disruption of service that impacts Unreal Engine users on GitHub. Anyone downloading fresh copies of Unreal Engine code from GitHub will experience a disruption of service when running the Setup script that fetches dependencies, indicated by a “Failed to download” error message. Those with existing copies ma...
Hey, can anyone let me know how bad the Blueprint source control is in UE5? AKA: do I still need to lock and unlock everything, or are buleprints/objects actually semi-mergable now?
(I'm running a private git server that I'm source controlling things on, and have the editor hooked up to it and the repo OK so far.)
You will still want to lock assets.
That bad, ehh @merry verge ?
They're binary assets, they're inherently unmergable.
I mean... I see they added merge stuffs in the editor
but like... idk if it's stable.
There's an in-editor merge/diff tool but it's something you have to use manually and you do not want to rely on it.
It's something you use if you absolutely have to recover some data that's going to get stomped, not as your primary workflow.
It also only covers blueprints. No other uasset types are even remotely mergable.
It's a 3-way merge view that leaves the actual merging up to you.
Okay... that sounds decent.
It really doesn't
It's not decent.
oh no
Again, it's something you only use if you have to.
There is no good workflow that avoids locking.
It's that fucked, ehh?
Why are you that against locking?
Because not everyone on my team is familiar with the Unreal Engine SCM workflow.
And I was hoping maybe Epic finally included some better tools...
So teach them.
Lol, yes, I know. But I was just checking to see if things had gotten any better first.
Sadly not 😦
... That's annoying. I guess I'd rather them actually finish the documentation first, lol.
File locking is great, considering enforcing using it in future for all c files in addition to bps to avoid nasty merge issues in code as well.
Artists indeed should get used to it especially, since blob files are always non-mergeable
You do not want to be locking code files...
locking should only be used for files that can't be merged -> binary assets
if you're in a position where you're working successfully with a workflow that involves locking code then you're either on a tiny team that never needs to touch the same files or you're slowing your team down without realizing it.
Why not take advantage of it since it is there. Might be a sign of overly large classes if there are too many coders fingering the same big file all the time. That can and does cause merge situations which can be pretty nasty sometimes.
Locking when you're going to do a massive stomp of a branch or something makes sense. Not as part of a normal workflow.
Locking exists to solve a specific problem - multiple people trying to modify files that aren't mergable. Code is mergable.
Using it "because it is there" is not a justification for it.
I can't tell you how often I need to be working in the exact same files as other members of my team. All development would grind to a halt if we had to lock code regularly. And that's not because classes are too big or have too much in them, it's because any large program has lots of interconnected pieces.
Not to mention that most changes do merge cleanly
Locking others out because you might have painful merge conflicts (which are totally solvable) is a horrible way to work.
Fair enough. I have faced super nasty merges relatively rarely in the end, over around 20 years... but still considering it : )
Like you CAN always force a checkout, but it might be good to make sure people have awareness of what areas others are working on
It might help enforce communication on working areas, which would help avoid bad situations
If you have a bunch of people working in a single file then that is an issue. The solution isn't locking, the solution is to figure out how you got into that situation in the first place because that's an indication of a team or code organization issue.
Why are 4 people all rewriting a single system at the same time? That's something you prevent from happening in the first place rather than try to work around with locking.
And by using locking, the issue gains awareness before it becomes a problem.
But you don't want to prevent changes to the same file
It's not like people should be working in isolation from each other
Not prevent : minimize simultaneous overlapping work areas
But by locking you're preventing anyone from even remotely modifying the same file. If I need to update an include in one file because unity build broke something, but someone has that file locked, guess I'm just out of luck.
Small changes to a single file aren't a problem. If everyone is rewriting large chunks then yes, there's a problem, but even a decently organized team should be able to head that off before it happens.
P4V you can unlock any file at any time, at least on our setup
Why are you unlocking other people's locks
that defeats the purpose
you can already see when people have something checked out
We can always say "hey I need this", and other person can say - "ok, wait 1 hour / 1 day / just take it, I will revert"
Depending on what the case is, ( revert just for BPs )
And now instead of making a quick change you have to wait for 1 hour/1 day for someone else to tell you that's fine. Despite your change not even remotely having a chance of causing a painful merge conflict.
Those levels of merge conflicts should be rare enough that you don't need to optimize around them.
But by doing so you've slowed down all of your other work.
I don't know of any studio that operates that way outside of exceptional situations (like merging major development branches - in that situation yeah, locking things for a few days makes sense). Hell, look at the use of git - it doesn't even support locks natively and most of the software world runs on it.
And merge conflicts aren't really something people optimize their workflow around because it's just not that big of an issue most of the time.
Gamedev is unique in that it deals with source control for lots of binary assets and you don't have the option of merging those without a lot of custom tooling. So you use locks. But that doesn't mean you need to use locks for everything.
I totally understand your angle : but I feel the awareness of what files are bloating up and becoming risk factors becomes much more acute : the motivation to split up a behemoth gets a lot stronger if there is even the 1 minute comms checkup for any significant change, compared to relying on auditing / awareness / technical debt sessions.
Optimally one could have the option to see the diff of other people's branches 'live'
And yet most of the industry works exactly the way I describe
Locks for assets, merging for code.
Sure. Doesn't hurt to ponder different angles from time to time
It doesn't, but it means you should have a strong case for why a workflow is better.
and I see this as optimizing for something that rarely happens in exchange for slowing down development.
Also, P4 totally allows you to see what other files people are modifying without locks. I've had people occasionally poke me asking what I'm doing in a file.
You can't see exactly what the changes are unless someone has shelved, but that's probably for the better - P4 is already annoying at best when it comes to keeping the server up to date...
All granted. Might still try it out for a week or two sometime to get a feeling for the impacts.
Let's switch to another micro-management thing I've been pondering. Considering how desirable is would be to prevent people from committing to mainline when builds are broken because of commit x. Most of the time I would like to see a dev immediately fix the breakage, and not let other commits stack up meanwhile.
But maybe again the process of blocking/unblocking mainline might be more trouble than it's worth.
Hey, real quick. did Unreal implement a context menu option for checking out and checking in (locking) with git LFS?
Because I see it being mentioned in the documentation, but it ain't showin up for me.
I don't know if the built in plugin has that
but one of the other plugins does iirc
I believe this is the one that's the most up to date: https://github.com/ProjectBorealis/UEGitPlugin
greatly apprecaited
Yeah... it's weird because it's in the 5.0 and 5.1 documentation, and says it's SCM type agnostic... but also I wonder if it's just perforce.
It's agnostic... but the plugin has to implement it
shrugs
... idk, it says it works with git lfs, but I'm not seein the context menu item.
Not every source control system supports locking. Git doesn't natively, it's part of LFS, and epic hasn't really kept the git plugin up to date.
Hence the various community created ones.
Gotcha.
I just kinda assumed the git one would be up to date with LFS support because I remember it working in like... 4.25 or somewhere around there.
speaking of which, no git in dropdown anymore for source control, is it back in 5.2 ?
yes that is odd about epic and github, since that is where they put the c++ source ;0-
as relates to git source control option :()
and so far anyway, perforce is rather buggy
OUcccccch, dont recall doing that, but git was removed as plugin...sigh
so nvm, but still applies I guess, perforce isn't working reliably on project start,and git isn't being maintained, so what are we left with as desired default?
Im sure not going with unity, I guess subversion.
Epic doesn't use github themselves except to distribute code publicly and occasionally to look at PRs. They use perforce internally.
If perforce isn't working right that's probably an issue with your setup, not the plugin.
Because again, that's what epic themselves use.
I don't know what you mean.
so I have to close, then magically it shows, working and enabled\
odd.
on start, it shows green check
but on open of sc ui, there is a problem with path or something
I close it
then error goes away
but honestly, perforce docs are very outdated.
so there is that
I mean at perf. website
Our perforce setup has no significant glitches that I am aware of, what's going on with yours?
I just explained
Please try to compose the issue in one or two sentences in one post
alright
Perforce's own docs tend to be fine if annoying to search through, if they're outdated it tends to be because you ended up on one of the old doc links. They really need to figure out how to deprioritize search results for their old docs, the 2022.x docs are fine but google regularly points you towards 2016 and older versions lol
i hover over source control lower right corner ue5 UI, shows error, I open to see what is wrong, close, error goes away during hover on same location on UI as above.
Getting anything in the source control logs?
checking
CommandMessage Command: Connect, Error: Workspace 'thehe_Essence_3527' does not map into this project's directory.
CommandMessage Command: Connect, Error: You should set your workspace up to map to a directory at or above the project's directory.
CommandMessage Command: UpdateStatus, Info: Path 'G:/Documents/Essence/Test2/Config/DefaultEngine.ini' is not under client's root 'G:\EssenceWkSpace'.
but oddly, source control shows green checkmark in green circle.
Mkay, seems like you might have some p4 setup issue. I haven't seen this on unreal side, but have seen it on p4v
HM ok ty for info 🙂
well , one thing I can't get working atm, is available workspaces never populates. ideas ?
Regarding the p4 setup, I would check through "p4 info" and "p4 set" via command line, looking closely at what values you are getting when in project root.
Yeah, I always just input that manually, never seen it populate : E
is this a complete replacement for the built in git beta source control provider?
if so, id SO rather use this
anyways, this STILL continues to be the most annoying problem ive ever faced when dealing with UE source control
does anyone know how to mitigate it in the meantime?
oh yeah, "p4 client" is one more useful command line thing - you can see this same data in p4v, "Connection->Edit Current Workspace"
Damn, that looks nasty
"When it rains, it pours"
heh, true
Maybe they figured they have it mostly under control and rest up the weekend, hopefully get it kicked into shape early this starting week ( fingers crossed )
Afaik yes. I don't use it myself, I use perforce.
ah
sadly it IS
git was the easiest overall to setup,saved me from a mess once.
Im a bit surprised I got perf. working, but was glad for it, but website for perf. where you are referred when binging, its out of date afa howto goes and thats where you are referred.
I decided to try perf. given its what epic uses, I guess their team has it down pat ;0-0
I mean, if unitys offering is 'easy' to setup, then yes I couldn't agree more with lepren, pls put it on the todo list.
what setting do most here use, assuming many prob. have teams, I am solo. Do you checkout on modification ?
appreciate siliex for getting me going fixing perf.
Unreal doesn't provide source control. Everything is provided by third parties, and it isn't Epic's responsibility if you're unable to setup a perforce server. The unreal side of the integration for perforce works fine.
Unity's original source control is not something I've heard good things about. Their newer program (plastic scm) isn't theirs - it was acquired. And now you can't even find out pricing on plastic without contacting them which is... a choice.
default options are fine - all that really matters is checkout on save (which isn't optional). The editor should warn you if you edit something that's checked out by someone else.
Though since you're solo, it really doesn't matter.
I disagree a litttle. I mean docs for perf. are in docs
how to setup
if imperfect.
old ish ?
Those docs are not how to setup a perforce server though, and they're not out of date. Nothing around perforce setup has changed in years.
ok
define faint of heart
I mean that I don't think anyone here should be running a perforce server without being willing to learn some sysadmin skills.
I know some of those
tho I am rather rusty, linux skiill if not very rusty
I dont know. if its that serious, of all, the perf. 'howto' outdated video says nothing about those needed skills
I still agree overall about the todo list
That isn't a video from epic though
i kmow yup
From what I've read, perforce is usually the go-to for source control but it's not for the faint of heart due to the learning curve?
The more I know, The more I dont truly know.
The more I get to know, The more I know that there's still more to know
The more I know....
heh
Perforce isn't all that hard to use. It's hard to administrate if you don't have any experience setting up that kind of server software.
It's not even any harder than any other software of it's kind (occasional shoddy documentation aside), but not everyone has Linux sysadmin experience. There are tons of hosts for git that do the hard part for you, but the only such host for perforce (assembla) costs a decent amount of $.
Git is nice in that you can easily set it up for local use, which is what I'd recommend if you're a solo dev working alone
Though there is the local option on P4 I suddenly remember, I never used that before
early bird ;))heh
I had git working before anything, saved myhide once, but I was curious about Perf.
git once up, never gave me errors, perf. not so lucky but a per siliex, I am looking into it
a/as
and yes I m doing mine locally no reason not to, new onboard pciE m.2 2280 so might as well. I went too long w/o SC so I'm glad I took plunge.
OUch, glad I never got too deep in plastic, no idea they sold it. major ouch.
Totally a gap in the market there!
... I mean... I'm running a proxmox home server (and have a degree and years of professional sysadmin), so maybe I should just ditch git server and try perforce. Is it runnable on a private server or do they force you to use one of their partnered hosting platforms?
You can run your own, I'm pretty sure.
You definitely can.
Sick. I might give it a go then.
If I host it, will it still cost money?
That's the real kicker
... ohhhh I see... it gets expensive after 5 users...
Yikes
Okay... maybe nah, then.
Also, and this is probably a hot take, I like using no auth git-daemon as the sc protocol because it makes it easier to work with artists and less-program-savvy individuals.
But also I have bi-daily (out of container) backups and am running raid-1 for data retention/integrity.
So... it's still stupid, but... I honestly care more about reducing fiction, than security for hobby stuffs.
I tried using git but after my recent commit, I think I exceeded the lfs quota.
Could you explain what hosts you're referring to?
I'm working solo at the moment so that I can learn unreal
GitHub/gitlab/bitbucket/azure devops/probably some others
I'm using github but there's a limit (got an email about it)
I know gitlab has a limit of 10gb but doesn't game dev take more space than that?
A friend mentioned I could host my own git lfs server but I don't know where to start on that 😅
If you have assets that add up to be larger than that, sure. And you can generally lift those limits by paying.
Azure DevOps has unlimited space but limited users
You could host things yourself but then you're paying for the storage yourself anyway.
There is no totally free unlimited solution, every host has limits depending on what you're willing to pay.
Thanks for the explanation!
I'm hosting it myself. You can actually buy refurb servers for cheap for homeserver stuffs for example, or just slap a ton of storage on an old laptop or raspberry pi.
But also... that's not for everyone (as much as I am very much FOR home server).
Hi, I have my project on p4 but my p4ignore file keeps getting ignored when trying to reconcile offline work. All the intermediate folders etc keep getting marked for add
Does anyone know why would the p4ignore file not work?
I've noticed that as well, good question
I somehow got it to actually work but only for some files, really weird
Like, it's preventing me from marking some files for add but others, not
Even though the rules are being correctly specified in the file
I tend to work around it by running reconcile on select folders only
Fair enough, bit of a headache tho 😦
yepp
Ohh I got it working
So you will need to open the cmd and run this
p4 set P4IGNORE=p4ignore.txt
Or whatever your p4ignore file is called
Then close and reopen p4
And it magically works
error setting certificate verify locations: CAfile: C:/-redacted-/gitInstance/--/ca-bundle.crt CApath: none
i get this error when I'm trying to add remote in Fork client, anyone knows how can I fix this?
stackoverflow is quite confusing for a git noob with some PTSD
It could maybe be related to the unreal git outage, mentioned... somewhere. They've been having issues since Friday
We are actively working to resolve a disruption of service that impacts Unreal Engine users on GitHub. Anyone downloading fresh copies of Unreal Engine code from GitHub will experience a disruption of service when running the Setup script that fetches dependencies, indicated by a “Failed to download” error message. Those with existing copies ma...
This was happening since a few months, but thanks for letting me know
this happens on a local project though, not UE source code
Ah, in that case probably different issue. I didn't have any trouble setting up an unreal fork with Fork, so no further clues here
git credential manager makes auth easy for everyone!
Ish.
Good news - now you can. https://unity.com/products/unity-devops about halfway down. (Wasn't discoverable before to my knowledge)
I have some bps that say scheduled for addition, but I can't see a way to submit these files to the repository
where does git pluginfrom github go ? its saying can't compile it ?
its the refactored one
its in project PLUGIN folder
git works fine,just not UEgitPLUGIN from github
oh sorry, thought all had gone lights out LOOL
ty for responding 🙂
I'll check that out, ty mcoms
I know but the weird thingis, UE does try to compile it, always fails. Is something wrong I wonder with UE settings ?
I do btw, have latest community Edition VS installed here
It is the version , 2022 btw, so ya weird, it cant' find it, checking for information
@quaint obsidian are you sure it has to be compiled, nothing indicate that, on github page
indicates that................
would it say .uplugin if it wasn't compiled ?
there are no binaries, yes im sure
i made the plugin :D
check Saved/Logs folder to see why it isnt compiling
gotcha thx
its too huge and badly spaced to find much,but
searching for git UEgit , nothing comes up, which I would think....
so now what
hmm well I know its late, ic you posted hours ago, so
So i'm about to go set up perforce on AWS EC2. That should be viable, right?
Absolutely
That's what we used for a while. Cost aside its a great way to get started
not if you consider their very outdated videos 😉 its not.
git was way easy to get going with,in seconds.
both have their own problems.
but I do have perforce working, finally,so if git doesn't work out, I can revert
and also, not sure which forum to put this in, UGgitplugin from github, placed in project/plugin folder, doesn't work, on project start,it says can't compile plugin, but its already a plugin isnt it, as the suffix is .uplugin .
I'm just doublechecking my understanding here -
1 - Let's say you have a depot on Perforce and pull the entire thing to a workspace.
2. P4 sees the depot/workspace match.
3. You copy the workspace to another windows folder, then delete the files in the workspace folder.
4. You copy the backup files BACK to the workspace folders.
Even though windows might see these as different files, merely of the same name/size/etc, the P4 depot will recognize them as the same because of the binary nature?
Hopefully I'm explaining that correctly
ya , but I think you have to change the workspace in perforce, to where it now resides
Perforce doesn't compare anything about files in your local workspace unless you explicitly run p4 reconcile (or use the reconcile offline work option in p4v).
The server keeps track of what revision your workspace has, and all operations are based on that. "Get latest revision" will do nothing if the server saw that your last sync of that file was at the latest version, regardless of what you've done to the file locally.
So yes, copying files out, deleting everything, then copying files back will still be seen as you having the same files at the same revision because you haven't told the server about any changes.
How long does it take for UnrealGameSync to detect Precompiled Binaries from perforce?
I have been waiting over 30 min and it still doesn't detect them.
Does that mean that Get Latest revision will not revert local changes? I'm hoping that the force checkbox does this
correct
Are there any docs anywhere and how to compile hegira plug-in , Visual Studio won’t load anything in uegitplugin folder