#source-control
1 messages · Page 16 of 1
probably means any platforms for which by default you need an NDA ( Playstation at least )
Oh right! That makes sense
because the license cost will be proportional to your budget
what do you mean by this? when I inquired about getting a license I was just quoted a ridiculously high number by someone at Epic without any discussion whatsoever around budget.
and did you respond?
I mean I asked for a few details and clarification but it was definitely very out of range
think they would've gone down with negotation?
probably, because there are a bunch of factors in licensing when it comes to the royalty % and if it's based on gross or net
the royalty % was actually reasonable, the problem was the flat fee they wanted off the bat
I got an urgent Git issue at our studio atm
One of the artists managed to push one month of progress without merging. His merge commit is completely empty. I tried to undo the last 4 commits with git revert, but I can't revert an empty commit, and the commit before that doesn't want to be reverted. Is there a way to just set the HEAD of main to the last valid commit?
The commits by Arvincle are the problem, so I want to go back to "Fixed artisan ABP error"
I see. So would you recommend me to do the force push, or is there a better way out? If I revert commits, should I skip merge commits?
Should creating new .uassets from branches prevented? I believe I've heard somewhere that it could cause problems since they got a unique ID from the editor which might conflict between branches? Is this a valid issue?
hi all! is there any way using the submission tool in UE to shift select and check/uncheck multiple files at one for submission? I know I can uncheck/check ALL the files in a list, but in the case of the image here, I just want to select all the question mark ones and uncheck them for submission. The UI lets me shift select them, but then when I click one of the check boxes, it only modifies that one, not all of them i had selected.
Oh if that's the only problem that's nice
Sadly my GIT-knowhow is only limited to a few things - it's served me pretty perfectly with Unity for the most part, but now that I am in Unreal territory I am up against a wall. Trying to check in my branch (it's got a lot of heavy UASSETS) and it keeps erroring out. If there is a kind soul who wouldn't mind to get into this a bit with me, I will be forever in your favor.. (going via sourceTree, btw)
hello devs , rn i am pushing some big commit to the server it already took like 3 hours and still didn't finished . SourceTree rn looks like this , i am starting worring that it just frozen and not actually pushing , is there a way to check is it really pushing or not ? how much it already pushed etc
You might be able to make a rough estimate of how much stuff you have versus your internet bandwidth I guess... I seem to recall most version control clients being pretty bad at reporting mission progress
task manager? lol
just look and see how much bandwidth it's using...
Hi Guys, i am a bit lost on AWS, Perforce, to UE5.3 . I have setup AWS and Perforce works fine. I can submit and get latest from p4v. No issues. But when i try to connect the Version Control Server in UE5.3 the server is not connecting. Is there any other settings to touch in UE besides this option box? I input the same details i used in P4V client to login.
Make sure you entered your server URL in the correct format: <IP address>:<port>
If your Perforce server is using SSL, the format is ssl:<IP address>:<port>
You should have received instructions for this in the terminal when Perforce finished installing.
If that doesn't work, there should be an error message in the log.
Thanks @neat grotto ya the URL i am using is the same one i have used for P4V login. It works well in P4v.. its a SSL ssl:<IP address>:<port>
But when tried the same in UE, it's not connecting. so i am wondering if i need some other URL ... another thing is, there is no Workspace name showing.
it'll be the exact same format you enter it in P4V
Still trying to get things ironed out on my end. Traditionally I've been using Unity with GIT/SourceTree and never really had any issues to speak of. Didn't really bother with LFS either. Now after doing some digging into Unreal I am seeing that things are pretty profoundly different in this environment. I am using much bigger assets here (basically working with valley of the ancient scene for now) and going back & forth between the main coder and myself (tech artist essentially) has been pretty one-way, to this point. (He makes changes, I grab his code and merge to mine, but he never grabs any of my stuff since - I commit things locally but haven't pushed to server yet since all the files are so mega-huge!)
At this point it looks like I should just setup GIT LFS but already it is gigs & gigs of data from those assets, due to the nature of our project (silo'd project, non-game, for a client to do some internal work with) I am not sure how best to proceed. It doesn't seem like LFS is gonna be a "magic bullet" and might introduce other potential issues.. maybe we could get setup on P4 but there's a whole rabbit hole to go down with figuring out that pipeline as well (neither of us have any kind of this experience setting up multi-user project versioning). I am tempted to say screw it, for now, and just back up locally and find a kludgier method to send stuff back and forth and not waste time getting into testing and researching all these different methods while the clock is ticking and my workload of "actual work" is getting backed up, but I also don't wanna start incurring gnarly tech-debt here. (continued..)
Is there an "easy way" to just use GIT for and ignore all UASSETS and UMAPS and just pass that stuff up/down on Dropbox, or is that going to create mountains of headaches? Am I being too neurotic about just signing up for GIT LFS and worrying that the costs could start ballooning/other problems could arise from this method? Sorry for the giant wall of text, I am kind of at my wit's end with this issue and just wanted to see if there were any other informed opinions on the matter.
I would say that there is no way to avoid Git LFS when working with Unreal. In Unity, scenes, prefabs etc. are text based, in Unreal they are binary. I would suggest that you create a new repo on GitHub (or on Azure DevOps) and setup LFS correctly. To do that, you need to create a the .gitattributes file and .gitignore. You can take them from this article (just scroll down): https://www.anchorpoint.app/blog/git-with-unreal-engine-5#configure-git-by-setting-the-gitignore-and-gitattributes-file
Almost every Git client supports LFS now. When using GitHub, make sure that you buy storage packs. On Azure DevOps, there is no pricing on storage.
Putting uassets and umaps on Dropbox will give you the biggest headache ever. Don't do that.
thanks will look at this. If anyone else has thoughts, please share!
Don't need to use LFS at all? I posted an image yesterday here - #source-control message
I've set up without using LFS currently, and you say it's simply out of RAM? I will look more into that, as well-
Understood. I was just surprised to hear that it would even let me upload files that large at all without LFS, I suppose (figuring I had gone over some kinda limit). my host is just using a regular github repo
I apologize for my ignorance, again coming from Unity (never having to deal with large assets in such a pipeline before) this is new territory to me. Based on what you are saying - unless you are aware of this as a fact - could it be safe to assume that github won't let me upload these huge files without using LFS then?
(based on the brief googling I have just done, doesn't sound promising)
got it
Ok. I am gonna get some shut-eye (meeting in the AM) so I will investigate this further following that. This stuff is frustrating, but I suppose it is good to be forced to deal with it as it's pretty integral to pipeline.. gotta face up to it eventually. Thank you for your help!
Right. It is just the nature of this project that is dealing with much larger assets than I am used to. There were funky workarounds I could do in Unity sometimes as I am much more familiar w that pipeline, but I am not as savvy in Unreal at this point.
So I'm setting up Perforce, but the weird thing is why does it copy the project files to the workspace folder?
?
i created a workspace
i added the project files to that workspace, and it copied the files to that workspace folder
it wouldn't copy anything?
it did
yeah, you're going to need to show what you're actually doing
doesn't sound right at all
p4 add doesn't copy files
thats why I'm asking
after creating a new workspace from here
and adding files to the server from here
have you actually created a depot?
The files i added to the server, are copied to the workspace folder i created
can you explain more?
a depot is where your project goes on the server
have you created one?
judging by not knowing what one is I would suspect: no
this would be in p4admin
or CLI
classic depots suck ass so I would suggest not doing that
stream depot
why?
branching is painful?
I'm not going to create branches, just one main branch, I'm solo dev
even with p4 trunk-style development, you'll still typically use streams for stabilisation and releases
okay? but classic depots are called classic for a reason
so what do you suggest
and it's easier to just do the right thing now than fix it later
removing the workspace and do it again?
from p4admin create a stream depot
alright
then create a mainline stream for it
also i don't know why its stuck at 0
I'm not sure why you're using this wizard or what suggested you to do it
not using the wizard in p4v and create the depot ahead of time so you have an empty workspace to work with?
ok i reverted everything i did
now i will create a workspace, then i will add the project files to it, and choose stream depot instead?
You explicitly create a stream depot
You usually name it after your project
Alright i will check how can i create stream depot
So i think perforce copied my files
because i created a workspace in a folder, and added files
Should i set the project folder as workspace folder?
Well I would usually have it one directory level up so that switching to a source build isn't annoying later
As i said, if i create a workspace and i add files from the wizard, its going to copy these files
So let me try how is this going to work
I think i got it now
thanks
P4V has a couple of nuisance helpers when you're setting stuff up, any time it says stuff that sounds like it might be spoken by
i basically ignore it. wizard, or "would you like to copy files to this now" type prompts lol
So how would I remove Linux from the source control build of Linux from GitHub just untick linux? Not at computer so…
Why am i getting this persiting sandbox state error? anyone know? Perforce, unreal engine 5.3, only happens for certain actors
LogConcert: Warning: Can't check-out file 'D:/Perforce/depot/depot/VirtualProduction/UE5/VP_Template_5_3/Content/1_VP_Technical/Blueprints/Tracked_Camera_Blueprint.uasset' from revision control when persiting sandbox state!
Concert: Error: Can't check-out file 'D:/Perforce/depot/depot/VirtualProduction/UE5/VP_Template_5_3/Content/1_VP_Technical/Blueprints/Tracked_Camera_Blueprint.uasset' from revision control when persiting sandbox state!
LogConcert: [Pending] Persisting Session Changes - See Message Log
LogConcert: Error: [Failure] Failed to Persist Session Changes - Failed to persist session files. Reported 1 error.
AssetCheck: New page: Asset Save: VP_Calibration_LAB_2
LogContentValidation: Display: Validating /Script/Engine.World /Game/2_VP_Visuals/Maps/Calibration_Lab/VP_Calibration_LAB_2.VP_Calibration_LAB_2
LogConcert: Error: [Failure] Failed to Persist Session Changes - Failed to persist session files. Reported 1 error.
Yoo folks, Im using perforce in my project and I have question about cpp files. For now we only push "Source" folder to the repo (we don't touch Binaries folder, we want everyone to recompile the project after the push). This approach isn't the best bcs when anyone push new changes to the cpp files, no one knows about them. I would like to somehow trigger window with prompt to recompile the project. Which files should I push to the repo then?
Don't you have a CI server that pushes binaries?
Nope :/
then look at setting that up so not every member of the team has to compile
you'll only get that prompt if it can't load the DLL for whatever reason, and you're just asking for data loss due to someone not building
So basically CI server should recompile code and make a push with the newest binaries, ya?
well a CI server like TeamCity or Jenkins will be listening for commits and when any of those commits contain source file changes, then it'll compile the code automatically and push them back to source control
Epic also offers a tool called UnrealGameSync, but that requires a native source build
I see, than you so much for help, Ill dig into it 😎
any good documentation good practices on how to setup your studio perforce streams?
I was thinking this will be the ideal scenario:
//GameProject
//full_sources (engine + game sources + gameproject content)
//game_sources (engine binaries + game sources + gameproject content)
//content_only (engine binaries + game binaries + gameproject content)
all the documentation that I seem to find out is kind of all over the place 🤔, if anyone have good resources about that, I'll really apreciate it
That's not enough to tell. Your stream graph & configurations is also important. If game_sources is a release stream based on full_sources, this might be okay. If they're just two separate streams it's probably a mistake.
It also depends on how you plan to manage those binaries. If you're using UGS, you don't need any this because your binaries are kept separately anyway so you only need the full_sources stream.
oh so I can make UGS to distribute engine + project binaries? then I'll need to look into that, thanks 🙏🏻
Yeah, as long as you have a machine that can build them and put them somewhere (I think a dedicated place in perforce) then people can choose to sync precompiled binaries instead of building from source.
hopefully you mean virtual streams here
but if you deploy UGS then that does workspace filtering too
also with doing source build, I would recommend merging that from a clean branch, makes it easier to manage your custom engine changes
Could you expand with what do you mean exactly by that?
the engine will need to be side-by-side with the project, you will inevitable make small engine changes here and there, but what happens when you upgrade the engine?
so it's easier to have a separate engine depot which has the clean engine in it, as acquired from Epic (either from github or the licensee p4) and you merge that to the project depot, and yes, you can merge between depots in p4
gotchhaa, yeah that will be the play here, thanks 🙏🏻
Hi, does anybody know about user-limit on Perforce Helix Core (on-premises)?
5
There's also a limit of 15 workspaces too if I'm not mistaken
20, but yes
every perforce tutorial that I've looked at seems to be outdated because I follow them to a T and yet I'm stuck with a workspace I can't submit uassets to
Nope
That seems very unusual. You can submit other files? Look for some error logs.
If I was to guess, a stream depot was created but the workspace wasn't created using the stream
Using workspace mappings with a stream depot seems to work, but is completely read only
Hey im making a small fun game with my freind, he got a free plugin that isnt free anymore that we were planning on using. he made a git repository witch i cloned, i get the error that the plugin is missing. do i copy it over manually? would that be a licensing issue that he has bought it but not me? can i still develop with it legally or? or am i missing something? :3
tried googeling but just got a bunch of github repos on ue5 plugins
so i noticed my depot is on my root harddrive, which isn't actually that big. And it takes up a huge amount of space. I want to move the depot to one of my much larger harddrives but I'm really not understanding how one is supposed to do this from reading the perforce documentation on it
would anyone be so kind as to help walk me through it?
Simplest is just to create new workspace and redownload
a single plugin can be used by multiple people for the same project, just copy it over
but the workspace and depot are seperate are they not?
I don't want the depot on my c drive but my workspace already wasn't on my c drive
Then why is the "depot" on your local machine?
it's fine to move depots to other locations although i don't think it's a super simple click-click-done process
unless... symlinks?
Really just want clarification on what the supposed interpretation of "depot" and "workspace" is
Based on the previous messages
licensing rules for unreal plugins are and always will be vague. if the plugin is something that two people (seats) will be using at any given time, you absolutely should ensure you have two valid licenses, however they are obtained (free + bought)
if you definitely will not be using the plugin (e.g. if it's a level editor tool or something like Houdini, and you will only be working on other things, or editing other things in a level without using the specific functionality of that plugin yourself), but it still has to be there for you to open the plugin, then people start to disagree... my opinion is if you are not really conceptually a user of the plugin you shouldn't consider yourself forced to own a license of it. if my team has 4 people and 1 of them is a level designer, we're not buying 4 licenses of a level design tool so that our sound designer can open the editor and check their sound, unless the software license explicitly describes such an arrangement
https://portal.perforce.com/s/article/2559
@chrome badge
(method 3)
method 3 is the one I understand the least sorry
I've never used symlinks
and I don't really understand how to
I was going to do method 1 but my p4 command prompt wont open
i figured I'd need that
well i'll have to tackle this tomorrow, any way to delete it would be fine too. I have everything non perforce backed up too. Maybe if I make it fresh it's easier than moving it?
good clarification
also good clarification
symlinks are the easiest thing ever compared to moderating a horde of p4 settings and procedures, just make a test one of some other test folders first
(i don't know what the 2024 best way is... is Link Shell Extension still good, anyone know?)
basically you would find the physical depot folder, move it, and then remake a portal folder (symlink) in the place of the original depot folder pointing to the new physical location
though you'd have to look for that tiny.db thing before attempting. i have no idea what that is
that might make method 3 suck, i suppose
hiya, hope this is the correct place to ask. This is my first time using Perforce with my self hosted server back at AWS. In P4V, I was trying to submit my first changelist that consists of just one file. Upon executing however it errors out like this. Anyone has a solution? I've been banging my head on this one and it's a terrible first experience trying to transition from Git. Thank you
did you create any p4trigger entries?
guessing you're going to say no if this is a brand brand new server but... the error...
(also you said transition to git - did you mean transition to perforce?)
i meant to say transition FROM git to perforce, sorry
yeah this is a fresh-ish server
wait
i have checked
it turns out, I do have a p4 triggers set up, its a check-case validation, i've commented that out and it works
should I leave it commented?
Check case validation? Were you trying to enforce something on your files?
i didnt add that myself
i think it was automatically added when I was initially setting up the server with a CloudFormation template by Perforce themselves
Ah
I have no idea what it does then
I'm only used to setting up servers in Linux which come completely barebones
Really weird. Because server case sensitivity is an option... You can just turn it off... And then this should never be a concern...
(Assuming everyone is developing on Windows, at least)
yeah yeah
its this one
I think it defaulted to "sensitive" but i didnt pay attention to it
you probably want it insensitive, i don't know when you would ever want it sensitive. i think only if everyone is deving on linux
might want to have a read https://portal.perforce.com/s/article/3081
yep yep im developing on windows anyways
thanks!
Is there an online documentation of the build executables like UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh
I'm trying to figure out which arguments I can add to it
this is a good resource : https://github.com/botman99/ue4-unreal-automation-tool
Nice thank you
Hi, I have a simple question about level instances, I'm working with level instances for the first time.
After making some changes and exiting the LI I'm saving the changes as UE asked to me. But i realized that LI was not on the changes list on my SC and I'm unable to create a commit and push it. (any other changes on the list exept level instance)
As a SC I'm using Git LFS. .umaps files are not ignored. Googled it but could not find an answer.
Can i get some advice, tips, or workarounds? 🙂 Thanks.
Thank you, i'll try built-in sc now.
Easy solution, Your LLC buys the plugin. Your LLC owns the 1 license to the plugin and authorizes the necessary developers to use it for the purposes of the project.
Because yeah, otherwise you could make the argument that you need one license copy of everything for every "developer seat" you have, which is obviously not how things work, for large businesses, or small teams.
Unless it specifies requiring per-developer-seat licensing, you should be good. People usually forget that humans aren't the only legal entities that can purchase and own things, including licenses for digital goods.
When we say, “you,” “your,” or “yourself,” we mean you as an individual or the legal entity exercising rights under this Agreement through you
This is at the start of the epic content license agreement.
2. How You Can Use the Licensed Content
We grant you a non-exclusive, non-transferable, non-sublicensable license to privately use, reproduce, display, perform, and modify the Licensed Content in accordance with the terms of this Agreement (the “License”). This means that as long as you are not violating this Agreement, such as by using the Licensed Content in violation of any applicable law or regulation or for any unlawful purpose, you can privately use the Licensed Content however you want. If you want to share the Licensed Content or anything you make with it, Sections 3 and 4 addresses when and how you can do that.
"We grant you" which also means the legal entity you are using, such as your LLC.
"You can privately use the licensed content however you want"
Privately using the licensed content however you (which includes your LLC) wants, means that my LLC is allowed to purchase and own the license, and authorize necessary employees to use the license.
If you as an individual human purchases the license, then you the individual human is the only one that is authorized to use it.
If your LLC purchases it, anyone who is not "third party" to your LLC can use it. Which means your employees, etc.
Marketplace EULA does have this addendum for code plugins:
Plugins may be offered to you on a per user basis. Such Plugins may only be used by the number of users that you have purchased licenses for. Distribution of Plugins in source format to your employees, affiliates and contractors is permitted so long as use by those employees, affiliates and contractors does not cause you to exceed the number of paid users you have purchased for the Plugin. Any such Distributions will be subject to the terms of Section 4 of the Agreement. Additionally, any Projects you incorporate Plugins into may only be Distributed as Engine Tools under the Unreal Engine Agreement.
So you'll want to check with each plugin you purchase to see if it's per user
Does anybody know of an example of a per user license plugin? I am checking a couple we use but not seeing anything
This does say that you can distribute them to employees as long as only the correct number of people are using them.
Meaning that you would be authorized to distribute them to 100 employees when you have 1 license. As long as only 1 employee is actually using it
Hey, I'm just trying to use the revision control in ue5 and the console says that the revision control is disabled. is there a way to seemingly turn this on? Or is this just not a thing that works?
It definitely works. Maybe it depends which one you're using. No one I know (on here or at my work) has had problems having it connected to Perforce.
trying to use the git version
Was going through a matt aspland video of it and it doesnt come up with any of the settings that it does on his video
Here's how to set up Unreal Engine and GitHub so that you can work remotely with team members on the same projects in Unreal Engine 4 or 5 using GitHub.
Get access to the project files and more on my Patreon: https://www.patreon.com/MattAspland
#UE5 #UnrealEngine5 #UE5Tutorial
___________________________________________________________________...
Only this
The source control settings are pretty prominent in the main toolbar
Anyone know if there is a way to get all the streams in a perforce depot via C++? I am looking at the tasks in "IPerforceSourceControlWorker.cpp" but There seems to be no such task. Is there anyone that added this worker or similar?
If i was to do backend and my freind was gonna use his level editor combined with my code, could we just set up an wrapper inbetween them and it would be cool? Also thx for the answer!
If you're already setup and using source control can you safely empty out the autosaves folder? I have like 17GB in there and not sure if I need that.
Intermediate I nuke regularly.
Saved I nuke as needed.
Binaries I nuke if I hit a weird packaging error and want to sanity check
None of those 3 folders should be in version control either
But what about the saved/Autosaves folder specifically?
I don't wanna touch the build stuff because I like how quickly it runs with them hanging around.
Yeah, there should be nothing critical in the Saved folder, unless you are saving things in the game that you need to keep ( like local saves of your progress for example )
My gitignore already excludes the big stuff and any downloaded marketplace assets
I find many out of date tutorials on how to get perforce set up in unreal. If anyone has a resource to look at that might have helped them during the process that would be greatly appreciated.
I have a pretty small team of 3 but this is the hurdle we've found ourselves tackling since we don't really have the means for git lfs or any ludicrous pricing that plastic might offer
Dunno if you realize it but you ignored people offering to help you before... You'll live longer if you ask actual questions with context and identified hurdles, and engage with people willing to help
if you're doing something simple, you might just want to do what laura said and brute force some p4 commands reading the return
if you're building something complex, you might need to strap on a p4 api... they have a c++ api you could probably add to your project as a third party library
Did someone delete a message or something because I’ve looked at the general advice given on the channel as well as information on what to do about certain errors only to be stonewalled entirely even when it was supposedly a flawless setup. Literally just asking if anyone used any documentation which was never even answered in my last question.
Perforce allows 5 users and is a pay as you go or so I’ve heard. Attempting to apply to the free tier of azure dev ops just gives me a prompt saying I can’t use a free tier even though I’m a student. Safe to say I’m pretty new to this and would appreciate some grace if what I’m saying sounds a bit ignorant to those who’ve done this before.
No I mean like on the signup page it says I can’t use a free tier
Ohhhhhh
No no you’re right it was azure
Not azure devops
I’ll try it out with the guide
Thank you
I was told so many times on the Reddit that perforce was the answer
It was such a head scratcher
Yeah that’s what I thought
Understand
My P4V client keeps trying connecting to an older server every time I launch it, does anyone know how to remove it?
thanks I'll look into that
hello, anyone here fluent in synology nas ? 😄
Ok so, my issue is I am trying to have my perforce server on my NAS, it's installed it works fine, except it's installed via docker/container manager deep in the roots of the nas system
that goes like <var/packages/containermanager/blabla/.../sdkojfgoiwejg34g545g3gg475/_data/p4depot>
And since i can't move it just like that out of there I have to make a map for it to make it visible in a shared folder on the synology,
But the problem is I don't know which folder and what to write under the specified map value to make it show, because every time i try and run the container it maps the files/folders inside the mapped folder and it crashed/shuts down and breaks so I have to remake the docker image again and start over from scratch.
I looked all over the internet, I can't find anything regarding this and am close to loosing all hope...
First I tried with git, since git has a package ready on nas, but the problem with it, it doesn't come with LFS so, i tried manually installing it, it gives me errors to oblivion
and found many people having issues with git so it came down to perforce at the end
which docker image are you using?
that might be helpful
well yea, but every time i use github desktop app, every time I try to upload a file above 100mb it gives a prompt to push
the one from Froyok
I was more thinking of a URL to the page
2018
that's the newest i could find

which one do you prefer ?
also I am setting it up for other people to work on it with me so it's not just local
Fork is the best one for Git imo
can you link ?
And iirc there's an official one? There's at least official server images on AWS/Azure
https://hub.docker.com/r/perforce/helix-swarm and there is
It's a shame I just moved so I don't have my Synology back yet, but iirc in the mount points you need to specify what the file path is in the container, and which volume it actually maps to
oh damn I didn't read the swarm part
well the file path is what I don't know, I can pretty much use the perforce i set up now, it compeltely works, but as I said it's deep in the roots and I need it close
there are more up to date third party docker images on docker hub, that official one is just swarm so ignore that
I've no idea how to work with swarm, I just need a version control server and that's it
swarm is a code review tool that perforce provides
therefore, not relevant
but with the volume settings in the Synology control panel, you would have the volume on your NAS it maps a directory to, so I'm sure you're missing something in the middle text box
but I don't have a currently accessible NAS to confirm
if it's not being mapped properly, then you have a pretty ephemeral version control system
@sour heart Hey hey, I set up P4V on Synology with container manager, hold on let me check your messages
Yeah I tried something like _data/d4depot or something, it does add folders, but it crashes
I am just looking for the correct wording
other than that on my local pc it connects peafully
This is how I set it up
ugh wait, HDR is screwing up the screenshot, a minute
So the left /perforce is a shared folder created by the Synology NAS, the right is the location on the container
So you might be lacking the first /
alright let me try that
What container image are you using?
probably that 2018 one lol
I migrated an older P4V server so I incorrectly used docker lol
this one
By launching a Ubuntu container and modifying all kinds of stuff in it
ok so this time it didn't crash, but it added the volume
https://hub.docker.com/r/ambakshi/perforce-server the froyok one uses this and it was last updated 3 years ago
let me try and commit
which uses 2018.2. well that's ridiculously out of date
In the container terminal, you should be able to change directory with cd /perforce
If you add a test file to that shared folder, then you should also see it appear in the container terminal
something like this
Yeah that seems correct, those items are default Synology things
The thing I found with the premade P4 server images is that they come preconfigured, which is obviously that point but I couldn't figure out how to adjust them for our needs
But I was migrating an existing P4 server
so u pushed this but I don't see it in that shared perforce server it seems
does the value i put in the mappign has to be the same with the name of the shared folder ?
because via SSH I don't see any folder called /perforce in the root data folder
probably could be one of these
my synology
Ah, you shouldn't SSH into the NAS itself
But SSH into the container. (but that requires some extra setting up that I don't know how)
hmm 
yeah and bash to it, but i am trying to find the proper folder to navigate
What folder are you exactly looking for?
Ok, you can find your server root with p4ctl list
so far i found nothing of the files i commited
p4dctl is a useful cli command too
says bash p4ctl doesn't exist
alright found it, apparently it's /data/p4depot
Right, now I don't know if it is possible to map a directory from a container to a shared folder
nope it crashes
What you can try
in the directory /etc/perforce/p4dctl.conf.d you can find the configuration files for your P4 server
If you open it with an editor you should see something like this
You can try changing the P4ROOT value to the shared folder that was mounted to the image
how do I open it
and then restart the container
use nano <filename>
if nano is not installed yet, do apt-get install nano
apt-get is not found either
It's one of your first times working with Linux and command line?
apt install nano
yep 😄
this one
it was the "newest" i could find that has some sort of a guide
oh i remember i have to use vi <file>
yes but that way (more) madness lies
ok
looking htrough the guide
You should try doing that? So on the left is the shared folder, and on the right it should be indeed /data
i think just /data only crashes the server
yep it does
well now it's just dead dead, even if I take off the mapping
have to remake it
i'll try this one since it's new
Perforce hasn't had support for arm64 probably since around 2018.... Do docker containers somehow workaround that, I have never used docker stuff? Or is your synology one of the higher end ones with better architecture?
Just a fact I didn't see mentioned anywhere glancing through above...
@sour heart since I guess it's been an hour
well I have a DS423+ one and it's rather new so I have no idea
and I still haven't managed to set the mount
423+ looks like it has a Celeron so should be ok I think. As long as it is definitely the +
The other one has an processor with rtd1619b architecture which I haven'theard of at all
Way back when I installed it on my cheaper nas (back when it was possible) I did it the manual way as a package.
I think??? There's no official support for doing it with docker so I don't know why you would do that
Yeah, I did ours with a bare Ubuntu image and went through it the way I would with a VM
Which is not the correct docker philosophy
https://clait.sh/posts/unreal-version-control/ i found this quite recent one, tho it requires to set up your own docker
tho, i don't have the energy for that right now...
Looks like a good tutorial, and actually makes me want to redo our own container so it's more robust lol
It's a good challenging introduction to the command line regardless lol
So I'm working in a 3 person team and so far I was the only one doing C++ code. What I did was I would always submit the UE4Editor-projectname.dll and it would work on their end. Now one of them is doing some minor things in C++ sometimes and the first time it was fine. But now me and the third guy were having compile errors in BP (non existant node he made) and he has the same with a dll I submitted. Any idea what the cause could be?
someone using hot reload? someone not committing code files?
No and no. But even if the code was not submitted it wouldn't matter until someone else tries to compile right? Our third guy has never used VS and also has the issue. The strange thing is that when I submit a dll it works for him. But not for the guy who compiled from source and neither can we use his submitted dll. So it's kind of inconsistent.
yea I did look into the different ways of setting this up in perforce when I joined the project. But as I was the only one doing any C++ I ended up manually submitting the dll every time lol. I could do what you suggest there, though building from source would take longer for non programmers than getting the dll from source control no? Or maybe it goes quicker without having to launch VS etc?
Okay, is there a way to make it build when you sync instead of when the editor launches? It's good to know this is an option, but for now I'll try to figure out what the issue is because it would still be quicker to share the dll.
well UGS does that but that's dependent on a source build
in lieu of UGS/custom tooling, I'd really get a CI server to do builds
yea I briefly looked into UGS. But we're a 3 person team with only one C++ programmer. It seemed like overkill. Seemed cool though!
Again, thanks for the input guys. I love this server.
Can someone help with Perforce? I only need to learn a couple of things. If i try to delete anything in the map like an Actor and save it when i reload the project those Actors/assets are still in the map how can i fix this? and same thing for if i delete assets or folders in the editor, again how do i fix this?
Source control integration enabled? Though that doesn't sound like source control stuff at all if changes aren't being written back to the file
I'll have to check if it is enabled.
I think the problem is i didn't have the workspace set in the unreal editor. I've been meaning to make it so i can see the workspace in the drop down menu but it hasn't so i manually typed it and i believe this will fix my issue.
if you had to manually type it, are you sure your project is under the workspace root?
What i said before did not fix the problem. How do i know if it is under the root?
edit your workspace, it shows the root
and then compare that to where your project is on disk
changes not getting saved is likely because perforce marks files not checked out as read only, but the editor should display an error when it's trying to write to a write protected file
Should the root be the Project folder itself, or the folder before that? C:\Users\Harry\Documents\P4_Workspace\Harry_Resurrection that is my current root, But my game folder is called Resurrection
wait i know which one
either really, but at least the latter makes switching to a source build a little easier
in case you have to do that in the future
I've run on source build before i don't think it's necessary. Takes too long to compile in my experience. It's still not displaying the workspace in unreal engine.
I appreciate the help by the way.
show where your uproject is and show what the workspace setting is in p4v
people still hide file extensions in windows?
sorry
but on based on what I see, then it shoudl show up in the editor
does the log say anything?
also you should not version the sln
and why is there a subdirectory with the project name in it within the project root?
Oh i changed the workspace root to from Harry_Ressurection to P4_Workspaces, and then it changed that way
Not sure how to change it back
I'm not sure why you would do that
the screenshot you showed me in p4v is correct
I followed a couple tutorials on how to setup P4 nothing was said about not having the sln in version control
You suggested checking the workspace location so i changed it a couple times to see if that would fix the issue. Just experimenting.
I read something online about moving the config file, and that will solve the issue i'm having with unreal not seeing the work space. Not sure if that will fix the deleting things issue though.
which config file?
This is from an old post on forums unreal. from 2014
I updating user and port through cmd aswell as the typemap. I think the info i used might have been an issue.
Here is my revision control log from the editor. I'm guessing i need to set up the client
Though it is saying it is connected.
okay, and i can set that in the cmd
I'm thinking maybe i should go through Perforce again and reset everything and follow a different method. I was just reading i don't need to add every file from the project
2 errors reported
open for read: C:\Users\Harry\Documents\P4_Workspace\Resurrection.sln: The system cannot find the file specified.
Submit aborted -- fix problems then use 'p4 submit -c 24'.
Some file(s) could not be transferred from client.
I am now getting these errors since adding the client, and also i manually added the workspace as it is still doesn't show up in the editor.
Would you be able to leave me with a good link where i can set up perforce for unreal?
client and workspace mean the same thing
i meant adding the client in cmd for th p4 info list, and client in the editor manually.
forgive my terminology.
Would you be able to leave me with a link for how to set up perforce with unreal correctly? pretty please 🙂
I don't know why you would expect me to have a link ready to go
There are processes I'm used to from previous studios, and setting it up is just something I know how to do
Also you can usually tell if typing in the name of the workspace manually works because it'll show source control status indicators on files and the revision history on a single file will work like it does in p4v
well it's working then.
I appreciate the assitance, I managed to fix the issue.
i usually delete the "saved" and "Intermediate" folders after closing the project, i was told it's bc UE5 doesnt save it to the "hard disk" sometimes and causes a problem like that,and this has fixed that for me multiple times in the past. if its already a C++ project as well then go ahead and delete the "Binaries" folder as well to force it to rebuild the engine
This is excessive and not really useful advice. Changes get written to the uasset files as long as the engine is able to check it out
That's completely horrible advice (sorry, sounds like you were misled), you're resetting all of your settings every time you erase Saved folder and just spending way more time needlessly rebuilding any code products
My understanding so far, please correct me if this is all wrong
- Regenerating Solution is needed when c++ changes significantly ( new functions, structs etc )
- Deleting Intermediate I always do before regen solution out of habit - maybe it is not necessary? ( I have a batch script that does it. ) Can solve odd issues from time to time
- Deleting Saved as a whole indeed is wrong advice, I have been guilty of that
- Deleting Binaries - I have had that help on rare occasions when my autobuilder gets stuck on some cases, not sure what the exact reasoning is
Intermediate is only helpful when you have cryptic issues with building your project. But yeah, you need to regen the solution when you add new code files or make changes to Build.cs
updated post
wow
pretty much all of Intermediate gets overwritten if you rebuild anyway
and make sure you don't version it or the fake VS project/solution files
How do I resolve merges with files marked for delete?
just merging says that the file is missing somewhere (because it's deleted) so how do I handle those?
how did that even happen
I don't know
not using +l on uassets?
I had my team lead rearrange the file structure
and I'm trying to pull down from our main source
it looks liek they had no problem
but I have a ton of merge errors for everything that's marked as delete in the main source
well for that you must have had them checked out right?
me?
yes
I don't think so
well how does the conflict happen then if you don't have them checked out
weird to not use a move operation for it though so it retains the original history
well I think they're new to perforce too
though some of it is just from in the engine editor
might be hard to diagnose the problem without knowing what your general workflow is and what the problem looks like visually
mm
well is there a way to dump my work strema and just pull the main one?
I think that might be easier
I have literally no new work
I just wanted to pull down
well if you made no changes? a revert will probably work. if you did? might be easier to create a shelf and revert
mm but the revert doesn't get the higher streams changes
I'm saying I want changes, I want their changes
and this is why I was asking about workflow
well idk what to tell you on that
well with perforce, you generally do trunk style development where everyone is working in the same branch (or stream)
is that so? so we've definitly not done that
we each have a stream
And they are parented to a primary stream
and I want to update my stream to the primary stream
and what type of streams are they?
regular? I'm not sure what types there are
but really, that's kinda counterproductive with p4. dev streams are usually fairly rare occurences
the streams tab will tell you since there are a few types
I think the other guys are new to perforce too and just know GIT
but they've been incharge for a lot of the set up
ok they're development streams
and I'm pulling from another development stream that is parented to a mainline stream
the parent relationship doesn't mean much for those, only really for task streams
task streams are the most lightweight option and are just stored as deltas of the parent
so you would recomend we all work on the same stream?
yes, though I would just copy Epic's workflow wholesale
do you have a link for that? I'd like to bring this stuff up then.
since there's a bit more added nuiance with things like release branches and their custom tooling which is available to licensees (UGS/RoboMerge)
thanks
back to the issue though. should I just empty my stream and pull from the dev parent?
it seems like the dev branch has all I want
and my stream has nothing worthwhile
well if you have no risk of losing work, you could just do a copy rather than a merge
a copy is essentially resetting everything to the state of the CL/branch you're pulling from
ok
that makes sense
i'm getting an inkling that the team is using perforce the wrong way
that's rough, I wish I had a better understanding of it
everything seems so esoteric
hmm when I copied down I got a ton of " Can't clobber writable file" errors
I'm not sure what that even means
oh I see
I did set a bunch of thing not read only because I suspected it might help and it needs to be read only
Cannot submit half of a moved file pair.
Submit aborted -- fix problems then use 'p4 submit -c 148'.
what files would be paired?
clobbering is when a file is writeable locally, but was changed in the sync
I guess this is a changelist which contains a move. you submitted the add half but not the delete
or vice versa
hmm
so my team meber says he fixed it so I reverted everything and it looks fixed
wonder what the deal was
well you can see what the CL looks like
not really helping here but fwiw technically by many standards your team is using perforce the correct way, generically speaking
it's game dev, unreal, and the presence of 99% non-mergeable binary file contents (and a direct 1:1 reliance between those files and the textual code files) that makes the "correct" way "wrong" for us 
yeah so it's wrong for unreal which is what we're working on but thanks
I think we'll have to work more on learning the ins and outs better
I honestly am very confused by perforce pretty much all the time
I thought I fixed things but then it slowly updated and undid everything
I didn't even know that it could do that
Brief primer:
- Never edit any .uassets without checking it out immediately
- why?
- It makes sure you have the latest version of it
- It ensures you have a lock on it -> makes sure nobody else edits at the same time resulting in conflicts and lost work
More perforce best practices:
- before submit, close unreal ( this makes sure all changed files are saved and checked out. )
- then, look at your changelist and make sure it looks sane ( no unnecessary files changed )
- Name the CL clearly for future reference
This may vary from dev to dev but I prefer
- Mainline should always be working, never broken
- Hide broken features behind feature flags, so devs can work on them without QA having to deal with broken areas
- Submits should be done daily - because perforce doesn't do granular incremental branching very well, we prefer people to submit w.i.p. every day
Finally:
- set up Jenkins or similar autobuilder, and have it package on every change : this will catch silly errors like missing files from commits early, saving time and stress
- set up Jenkins to do Nightly Builds, so QA can check completed tickets every day
is there a guide explaining how to use a local repo using git on unreal engine?
I'm only finding github and remote repos online
just init a new repo in your favourite git client? though I'm not sure why you don't want a remote
Well i'm not sure if anyone ont he team would know how to do that unfortunetly
I'm the only programmer, everyone else just on their side doing their things whenever they can, plus my wifi is very bad
The source control could be a handy tool for me, but there is few guides on how to use it alone and with no need to be connected to the internet
well with git's decentralised nature, you would just init locally and commit locally to that, but you should be at least pushing to remote periodically
since yeah, you have revision control, but you still have a single point of failure
I'd still save the whole project every now and then, but at least if I mess up, I don't have to search my external drive for which save etc
it sounds like your team isn't using any source control, which is horrifically scary if true
I've taught a couple of brief VR focus projects for years-long gamedev school courses and have been horrified to see version control not included in the basic curriculum. So I asked the classwork projects be submitted to me via github/plastic.
Should really be in the 101 list for people to learn
I'm trying to set up source control (GIT). Never used it before. Do I have to select a specific file on the right in Solution explorer to include the whole project?
Or why am I getting an error like this?
I'm very new to C++ as well, and have been doing BP for 1 year or so.
you can use that wizard i guess (never tried it myself) make sure the path is the folder with uproject (project root)
check the gitignore template if there is unreal engine one use it (otherwise just download ue gitignore later) https://github.com/github/gitignore
https://learn.microsoft.com/en-us/visualstudio/version-control/git-create-repository?view=vs-2022
Seems there is
Must the repo path be the same folder as uproject? Thought I was basically just creating a copy somewhere else, and could keep it clean.
well, if you want whole project to be versioned then keeping project root and repository root same is a must
but for example if developing plugin i have git repository in my plugin folder (plugin folder is repo root) and project is ignored/not versioned
Okay. I want the entire project. So root path is certainly important. Thank you 😄
Doing all this because I need to upgrade UE version after etc. So full "backup" is key.
also, i never used VS GIT integration as it used to be very broken back in the days. dunno how is it now
there are plenty of fancy git frontends (like sourcetree,tortoisegit,smartgit) to complement git console.
as well as docs
Those are VS integrations to replace built in GIT, or external programs?
just standalone apps, VS also uses git for windows and not own git library
From Unreal editor? You mean open up unreal where I edit BP's etc.?
my toolset is git for windows console (when i'm not lazy) and tortoisegit (whem im lazy) 😄
I certainly don't know what I'm doing, so I'll try the first one
Console command, or is there a window for source control somewhere?
Just hit accept with the beta version and no path I guess? For it to offer to make one?
"git path" is the path to the git.exe executable, not related to the project path. if you have installed git and it's on PATH, iirc that also works
Think I have. Checking
Hmm, seems not. So I should install GIT on my pc first.
Oh, I remember I stopped because of this. Is this where I should get Google git fork first?
It has a tip to not use the Vim because it is very hard to use, and Visual Studio Code is not the same as just Visual Studio as far as I understand.
this doesn't really matter
I would really do that part externally tbh, but sure
I use Fork as my Git client
Was told it was easiest through Unreal because I'm very new to this.
And sure to Initialize or "Accept settings"?
Well I dunno who told you, but it's easy enough to use an external client to initialise and most important, setup the remote repo
In this message, just a screen or so higher in the chat.
Sorry to ping you Laura. Hope you don't mind.
What is LFS?
External server?
Just want it simple. My first project, and working solo, so if local is easiest I'd prefer that.
you will still want to have a remote since with a local repo there is still a single point of failure (your machine)
Right, but when I zip project for backup purpose it's around 15GB. Saw I can only have 500mb or so free remote storage for this.
from which provider?
Github I think.
well there ya go
almost certain. Only one I checked.
ADO Repos have much higher limits
I have a dropbox for example. Can't I just copy/clone my work to there along with the backups I already do to avoid single point of failure?
Right, so in that case I don't need LFS right?
Not sure how "remote" works. If it must be to a server, or if it is also called remote when just another copy in Dropbox
Right, okay.
But ideally (almost dumb not to), I should sign up for Azure DevOps is what you are saying?
Right.
Just feel like I'm digging myself deeper and deeper into more work and setup. Might be one of the final things I need to do though.
Which I can do with just clones in my dropbox?
along with zipped backups too?
bother with what? Dropbox?
Ah, I see. Have been doing them up until now since I did not have source control
Right.
So for now I hit "Initialize project with Git" in the window right?
With no LFS
Right. Thank you.
Right. And because I'm local I don't do push/pulls. Just commits and perhaps branches?
Maybe except for Dropbox backup thing. Not sure in that case.
Oh, and I still need to get Google Git fork on top of GIT right?
Mainly a UI I guess.
Oh, just called "fork" maybe. My bad 😄
Right right. I get it now. A bit slow, haha.
Thank you.
terrible name for a git client because it does make it harder to google
but it's one of the better git UIs out there
Sourcetree seems to be free. Honestly a factor in my small project.
so is Fork, it just has a nag screen
WinRAR style, but it doesn't show up that often
I'm not ready to switch fully to C++ from BPs anyway so shouldn't be that often for me.
Right, but I might just be working in Unreal editor most days?
Or is that bad practice?
I would have to open Fork and do commits each time?
(after each feature etc.)
So I can commit even from UE editor?
Okay. Thank you. 🙂
I just keep the .uproject file in perpetual checkout, but the regedit trick is probably the best practice
anyone use docker for unreal?
sorry for cross posting will delete the other one
just want to know if its worth taking the time to install
I heard its like google docs for coding
what? that's not at all what docker is
isnt it like working simutaniosly on the same project?
can you describe what it is used for? just heard of it today
generally for running continuous integration builds or server processes in a clean environment with a list of required dependencies
alr i see
Hello, I am having a problem with git, when a friend advances in visual studio and makes a push, it does not compile for me but it does for him, what could be the reason for the error?
If there are c++ changes, you must regenerate solution
I'm so sorry to keep bothering you. Maybe I should switch to Sourcetree because the "Fork" name is impossible to find resources for on youtube, since the name implies actual source control functions.
Anyway.
I made a small change (Enum) just to test and get a feel of how this stuff works.
I see it highlighted in green.
Do I somehow do a commit from here? Maybe "stage" it first, and then a "commit" somehow?
Also, it says Head detached at the top. Feels important, but might not be.
Tried just hitting "Source Control" from the bottom right corner in UE editor (figured that is where I would have options for commits etc.)
That just made it load for a long time before crashing.
I see.
So in my case I would "stage" things in fork at this point. Then do a commit somewhere?
Oh okay.
I hit stage, that made the file a "green plus sign", and then I hit commit where?
I'll get sourcetree. Can't expect you to babysit me all the way. The information so far has been gold, and if I can stage/commit etc. anywhere I can look up tutorials for sourcetree and take it from there.
Huge thank you. 🙏
Hello !
I was wondering if some people have found an equivalent to UGS when working with git ? Especially for the workflow where people would not compile the source code and use precompiled binaries. Is it something achievable with Git and another tool ? Thanks 🙂
you can ping this guy (elemental code), and try to say things that make him more angry at ugs and perforce to keep going on this tool https://twitter.com/MiltonCandelero/status/1727010687980097837
What is the best practice for version control in terms of upgrading project versions - do you just note down what changelists are between what versions - like "CL <324 is 5.2, everything >3.24 is 5.3 and can't be reverted (without going into 5.2 seperately)
Thanks I'll look at this !
When I upgrade the engine for my projects — which is really just switching the version for the .uproject file — I commit that as "Upgrade to Unreal Engine version x.x.x".
I have no idea if that lines up with best practices.
Heyo, did anyone find out how to set multi-user editor revising ? Wanna work on the same lvl with my friend, so multi-user editor is probly the only way ? But its such pain in the .... atm.
I see - so if you could ascertain the labyrinthine filter setup that is Perforce, you could effectively create a "version filter" by using dates between those uproject revision change lists
Thank you for following up on this, I appreciate it
I'm still trying to do my first commit from UE Editor.
I can get to this point where it ticks all the files. Every time I try to submit the entire thing eventually crashes with an out of memory message. Tried lowering settings, closing viewport, closing all other applications without luck.
Can I just tick some of the shown files for the first commit, and then select the rest for the next commit? (assuming breaking it in half is small enough chunks)
Oh okay, then I might have misunderstood your message.
My bad.
Right, I see.
I'm not sure if it is because I have way too much stuff to commit at this point. When I hit commit in sourcetree nothing happens. 8k+ files though.
Or in fork (which I think you use) I don't see a commit button:
it's at the bottom right
and you have to write a commit subject at the very minimum
and you'll want to make sure you stage all your changes
Build/Windows/FileOpenOrder should probably be in the .gitignore too
(but not Build/ like all those template gitignores have)
To ignore more things I need to add text lines to the .gitignore file?
yes, I think Fork can add stuff for you too
I hit the commit before I saw your message so I'll let it chew on current task for a minute first.
that's alright, you can safely delete those files anyway as they're generated
Seems like it worked at least. Now I have a master branch finally
I still have a bunch of local changes. Is that normal?
Thought those would go to 0
First 2 being the logs?
in Fork, you can right click the "FileOpenOrder" directory in the tree to add it to your gitignore very easily
as for the rest of it, stage your changes before hitting commit
this one right?
Build isn't just generated files
but yes, you can add that manually or through that option
Build typically contains configuration and application icons for various platforms
Various manifests for console platforms
(which aren't generated at build time)
So should I go find the file for the first commit (where I didn't exclude those) and delete it to start fresh?
Or just add it to ignore file for future commits?
an automation project if you use one
well you didn't commit it because you didn't stage it
Oh, so I basically didn't commit anything?
Just created an empty master?
you shared this image
you commited the files in the bottom part
where it says staged
anything in the top part (unstaged), you didn't
I see
you can select files from the unstaged section, click stage, and then it'll move to the staged section
and that what goes into your commit
But then who decided what was staged in the first place?
Guess that was based on the ignore file somehow?
you do
I doubt I manually did it somehow.
unreal might have done it partially when you tried to submit via the editor
Might have hit stage to the entire thing or something like that.
okay. But just to understand, if I try to stage something that is in the ignore file. Will it not just avoid staging it too? (and that way avoid commit)
if it's in your .gitignore, it shouldn't show up in "unstaged" to begin with
Right, it disappeared now that I added config to .ignore too. That makes sense.
And the local changes number (marked in red) is normal and does not mean I need to commit more stuff to get it up to date?
The old/new on the right marked with blue also seems to indicate there is a difference?
anything listed here isn't committed
so that's the number of files that have changes that have not been committed
in Fork, you'll also see an up arrow with a number on it next to the branch name, that'll be how many unpushed commits you have
Okay, so I basically select everything like this, then hit "stage", and once it is in the staged section, I commit? (adding subject and description, then hitting "commit")
Right, that requires I set up the remote stuff right first though. Not certain about that part.
anything in the staged section is what is in your commit
Tried a bit unconventional remote folder in my Dropbox instead of online.
just use something like Azure ADO, that's free for 5 users
but my concern is storage. My project is already 15GB when zipped. Is that not an issue?
I would have to pay at some point I think.
iirc the limit doesn't affect LFS artifacts, but I haven't put a project that large on it
Maybe it's because a regular zip includes everything. No ignore file etc. for that.
literally just did a "Zip project" from UE editor.
well yeah, that'll include a lot of junk from Intermediate/DDC/etc
You are my hero for helping me with this stuff. I've been a little mad child for a week figthing with this stuff. 😄
So massive thank you.
To Laura too.
Now I have 2 commits, and no local changes. Seems like how it should be, except for a push to a remote I guess.
I have a remote (dropbox). Might be set up right, and I just never got to this point because of not knowing how to do commits.
Should I select something specific before hitting push?
Master maybe?
It tried for a long time (guessing because it was first time), but in the end failed with the following message:
remote: Resolving deltas: 99% (4402/4446)
remote: Resolving deltas: 100% (4446/4446)
remote: Resolving deltas: 100% (4446/4446), done.
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: is denied, because it will make the index and work tree inconsistent
remote: with what you pushed, and will require 'git reset --hard' to match
remote: the work tree to HEAD.
remote:
remote: You can set the 'receive.denyCurrentBranch' configuration variable
remote: to 'ignore' or 'warn' in the remote repository to allow pushing into
remote: its current branch; however, this is not recommended unless you
remote: arranged to update its work tree to match what you pushed in some
remote: other way.
remote:
remote: To squelch this message and still keep the default behaviour, set
remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To C:\Users\chrri\Dropbox\Alteration TD\RemoteBackup.git
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'C:\Users\chrri\Dropbox\Alteration TD\RemoteBackup.git'
Do you think I somehow have to make a master branch in the Dropbox first?
Will do. Good point.
getting this issue
Failed to perform checkout on agent: p4 error: "Translation of file content failed near line 39758 file E:\BuildAgent3\work\6d833ab50a6dd8d6\Engine\Content\Localization\Category\ko\t16836t47296t37.tmp
not sure why
right click the file in p4v and select "change filetype", is it the correct encoding?
It's one of the files in the directory. That's just a temp filename it downloads to
Probably the po or archive
Failed to perform checkout on agent: p4 error: "Translation of file content failed near line 39758 file E:\BuildAgent3\work\6d833ab50a6dd8d6\Engine\Content\Localization\Category\ko\Category.archive
what should the filetype be?
nothing else is complaigning
and its the same
@pulsar parcel
I would guess utf8 over 16
That worked. Thank you!
Any last considerations before I try and upgrade my engine version from 5.0 to the newest? (source control wise in particular)
I assume now I can just try and download the new engine,
-> Open up my project
-> Fix stuff if anything needs fixing
-> If I for some reason run into problems I can't overcome, I install 5.0 again
-> I revert commits to match before I upgraded engine version?
Good point. Still need to test that.
So that is like creating a new branch and doing a pull to it right?
Well an entirely new project instead actually
@late thicket
Any of the following the right approach then?
-
I do a Clone like in the screenshot where I fill in my Dropbox URL as the Repository URL, set a folder, and set a name (that name will define project name and basically create a whole new project right?)
-
I create a new project through Unreal Engine with name etc. based on the same template. After that I open the repository with fork, and pull from the Dropbox. That should create the same game, but under a new project name. Which would mean I could start from scratch (or from point saved in Dropbox rather) the same way in the future if I need to reset.
Thank you.
It worked. Except for 2 things that might not be important.
When I tried to load the new backed up project in EU editor it said some "files" (might remember the wording incorrectly) was missing. It asked if I would like it to build the missing stuff and I clicked yes. From there it worked like the old project.
- No reason for concern right?
Secondly, the file size of the two folders (new and old project) is significantly different. Screenshot is after the Engine built the missing files.
- Also no reason for concern? Might be temporary files or shaders or something?
Not sure if this is what you are asking. What is taking up those extra Gigs?
Compared the Intermediate in screenshot and those are like 3 Gb's different. Entire folder is around 15 Gb's different though.
"Saved" folder is 10,5 Gb different roughly.
17 GB difference in total.
Saved is 10,5 of them
Intermediate is 3 of them
Binaries is 0,7 of them
.vs is 2,2 of them (new project from backup don't even have such a fodler)
That is almost all of it. Content folder is identical, source folder too, script too.
Seems like not a big deal as far as I can tell.
have you tested that tool ?
i make it and use it on a big team :D
I'll look at it thanks !
Just wanted to report back on this: my client was finally ready to switch from Git to Perforce. I just finished the migration this afternoon, and everything is in place. The only issue is it seems my client may have to pull down a fresh copy of all the files. Even if I configure a workspace with the folder where his project is already located, P4V says "file not in depot" for every file. I am guessing this is some sort of revision conflict.
Also worth noting for others who may be interested in using the transfer script: it will not transfer commit timestamps. Once the transfer is complete, changelist timestamps will instead reflect when they were transferred.
Had anyone dealt with a TLS connection error when connecting to their SSL perforce server?
What error is P4V giving you when you try to connect?
SSL connect to ssl: myip: 1666 failed .
Remove SSL protocol prefix from P4PORT or fix the TLS settings.
if it's a real problem for the client, p4 sync -k should IIRC tell the server "sync my workspace state on the server's end without actually doing any of the file transfer work" ... not sure if that's what you're describing for your problem or not. otherwise a new workspace when just created is "empty" from the server's perspective. (sorry if i misunderstood anything and am being irrelevant)
Oh, interesting. The -k flag tells the server to sync only metadata then? That might be exactly what I need.
yeah it should be exactly for cases like this... like prepopulating the [workspace] folder with the project files from a non-p4-server source
can't say i've used it much our little indie project only takes 5-10 mins so i don't bother 😄
It's not a deal breaker re-downloading the files, per se, but it's a very large repo. I was hoping to tell my client he can simply continue where he left off once P4V is downloaded and a workspace is set up.
I used the: p4d -r /p4/1/root -c "set ssl.tls.version.min=11"
commands (max and min) and ".client.tls" version max/min on the server. Setting values to 12 (min) and 13 (max) for both. But I still can't connect
Are you trying to connect to a Perforce server that doesn't use SSL? Were you able to connect previously? If so, what might have changed?
It is encrypted, so, using SSL. And I could connect previously. What changed is maybe a server update? E.g., new perforce server version
My client's project is 30 GB. Heh.
Did your SSL certificate expire? In my experience that gives a different error, but it's worth ruling out.
According to info it says it won’t expire until 2026
I can connect from the server computer (e.g., via a local IP) (server computer has a client version). But not from other computers even on same network
@woven sluice Hell yes, that worked like a charm. Thank you!
np... sidenote, 30 GB isn't supermegamassive... did you enable parallel sync (would you want to if you didn't)?
A glorious day awaits me. I have had zero issues using GitHub for Unreal with my own solo projects, but this client has gotten nothing but grief. He gets errors and sync issues with LFS every other week.
parallel sync is "bad" because you lose the progress indicator, but i've found sync speeds change from like 20 Mb/s to 150-200 Mb/s
I forget about parallel sync. I did not explicitly enable it, so unless it is on by default...
nope
Faster syncs might be nice for this client since he adds a lot of large Marketplace packs, but even without parallel sync, this is going to be an improvement.
Not sure I am willing to give up the progress bar; especially for my client.
He's not super savvy about version control.
I want to make sure things are as easy as possible for him.
yeah it's a choice. 5-10x less time spent syncing, but with the frustration that you don't know how long it's going to take 😂 might be something to inform them of and suggest only enabling it after they get comfortable
baby steps etc
Yeah, that's a good approach.
Once he is comfortable with Perforce, if he complains about long syncs, I will have parallel sync in my back pocket.
Hey guys, i feel like version control make rename and delete folder so hard. Can i turn it off for a while then turn it back on?
Please don't
There's only really one thing to remember when renaming stuff : Never Ever just change a letter from Capitalized to uncapitalized or vice versa, that inevitably causes problems ( f.ex myBlueprint to MyBlueprint ) -> ( must do it in two steps : myBlueprint -> myBlueprint2 -> MyBlueprint )
But if you can point out what is causing you pain, we can ponder it more
Oh yeah : do the Renaming in Unreal, not in File Explorer - otherwise things will certainly get confusing. And remember to Fix Up Redirectors!
Hey, sorry to tag you, I'm having the same issue. Did you find what the issue was?
are you using perforce and getting angwery over the fact that it has to slowly contact the server to check out every single alteration you make? yes, it gets rather annoying if you're doing a lot of it. technically yes you could turn it off, do your modifications, close unreal, reconcile in P4V to capture all of your changes, reopen unreal, and carry on. i wouldn't do it unless you were really, really doing a lot, and you would have to be careful about conflicting with teammates' work...
Clone worked and so I upgraded UE to newest (5.3.2)
Everything seems to work which is great. However Unreal editor only gave me the choice to copy project when opening with the new version to avoid risking ruining the existing project I guess. Which is actually kind of them.
However that means I ended up with a new folder for the project in UE 5.3.
How do I go about it source control wise?
-
It's bad to change the repository folder right?
-
Alternatively I could delete all the files in the old folder (the one used for repository), and paste in all files that were created in the new "copy folder" ?
-
I could set up a new repository using the new copy folder, and then have 0 history and go from there?
yeah
i use github desktop like everyone else
no I don't know what perforce is, and i work alone so i guess i can turn on/off freely i guess?
version control will likely get a bit confused if you do things under it's radar
Can you describe your problem in clear, step by step fashion
guess i'd better install github desktop immediately to fit in 
normally when i rename a big folder with a lot of asset in it, it took quite a bit, like 30s or something. But with git on that went like 5-10 mins
i feel like that's too long to make sense
and move too
That does sound like too much. As Laura said, as long as you do the rename in Unreal, git is another story. You can indeed disconnect it from Unreal, then perform the git steps separately. If that indeed takes 5-10 minutes, the likely cause would seem to be your internet connection
my internet is good though
but wait, that's online stuff?
i still have to commit and push later..?
is there any way to turn off the online feature if it is online
sure but it takes me 10 mins?
rename
if i do in Windows Explorer its instant ofc, but renaming in unreal took 10 mins
yeah i think that's what i am having right now
how do i not using that
just disconnect?
If I was solo with git I doubt I'd even connect unreal I guess
so basically i should only use the unreal integration to initial my git repo, then turn it off?
thanks, you saved me from a lot of trauma in the future
I use unreal's source control mainly for checkouts and blueprint diffs - indeed it is in no way necessary
@tame cape https://github.com/github/gitignore/blob/main/UnrealEngine.gitignore use this gitignore template
thanks thats the one i was just checking
sorry source control really confuses me
thanks. but pardon my ignorance, do we need to read this book to learn source control 🐱 💀 im just a cat making games
but if it must be then it must be 🐱
knowing basics wouldnt hurt
at least partially for most basic use (what is git, what is commit/push/pull/branch)
alright well get into it. i was told its essential to work in teams
though i have been working always alone
i pretty much use vcs for any kind of work
since it is easy with git local repository
and gives too much benefits from two clicks or one console command
im using github desktop
looks cool
i have to learn this properly so i can work in groups better
aye, but it has to boot up the entire editor separately for each diff, so it is not very efficient for larger reviews
Though it does support shelved CL diffs and swarm reviews now in P4 land
does this mean you guys don't have perforce (or any source control) right now and want to set something up, or does it mean you have something but think you're using it wrong?
every team might have a bit different needs
are you focused on the fact that you can't e.g. both be working on the UMG simultaneously? or having difficulties keeping the UMG stuff stable enough for them to build it while you're simultaneously coding it?
epic has a big stream on youtube about workflow on fortnite you might like to watch for some (excessively) mature perspective on this sort of topic
i personally try not to get too heavily vested in building lots of blueprints on any very young c++ code - i try to make sure the c++ code is somewhat mature by the time we start building a bunch of BPs on it. i hate BP's for how fragile they are, but they're obviously necessary. getting the code base to the point where it might only need minor additions and functional alterations in the future helps reduce the likelihood of destroying a bunch of BP work
as you no doubt know, C++ code changes are "forceful" onto BPs so there isn't really anything to diff... you just have to fix them up as needed after you change the C++ parent (use redirectors for minor renaming/refactoring)
i would say most people just do trunk dev and utilize communication + locking to ensure people don't unknowingly destroy each others' work. commit often and keep your C++ code compiling cleanly in all configs (at least debug & shipping), all the time
Bullet points on the subject from me
- Trunk dev ( not worth trying to use branches because of .uassets and locking )
- Checkout early, don't work an hour then save and realize it's locked
- Mainline should optimally always be working - hide big, breaking w.i.p stuff behind a feature flag when possible
- Submit w.i.p. stuff daily
- setup jenkins to package on every change to catch silly mistakes early
- setup jenkins to package every night so QA has fresh tickets to check every day
- do code reviews - maybe not for everything, but it's good practice to eyeball other peoples work regularly and keep people on the same page
- i like prefixing my CL:s with standard tags to make finding things easier. FIX, CHANGE, ADD, DELETE, etc
Hi! I work at a small studio and we are 3 ppl working on cinematic project. We are using Perforce but we don't know it too well and only use basic functionality so far...its not our native territory 😄 . Now we have the case where we want to upgrade the project from 5.2 to 5.3. I already did a offline trial run and noticed that some stuff is breaking that will take like a week to fix. So it would be neat to have the others continue to work in 5.2 while one person is fixing the 5.3 issues till it works and then merge together somehow. I guess in game dev this is the normal use case. I just can't wrap my head around it so far how this works practically. The documentation has me even more confused. What would be the best practical way to do this?
A development or task stream probably
I did try to create a release stream earlier. It then wants to upload the entire duplicate project to the depot. that seemed quite a bandwith waste so i stopped it for now.
Well usually you can populate from the stream creation window
and that wouldn't be an appropriate use of a release stream anyway?
yea probably not. just sounded right in that moment. at least I kinda was on the right track. thanks a lot you already helped me out a bunch! I try and figure the streams out now and read up on the different stream types.
is there a way to add an azure devops webhook to a discord channel for information on the repo
there are plenty of examples on discord webhook stuff using github instead. though I do like how this just says "use requestbin to figure out the payload lol" https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops
Circumvented potential headaches by making a Trello and then creating webhook from devops to Trello and from Trello to Discord
Hello 👋
I'm working with UE5.3 and Unreal Game Sync (UGS) and Perforce. I have finish the setup for the environment, but I'm getting an error with Unreal Header Tool, UGS by default tries to compile it, but in 5.3 this seems is no longer necessary (the c++ version was replaced with a c# version). So my question is, do I need to configure something new for UGS and Unreal Header Tool? or just uncheck that step from the build process of UGS when syncing ?
i'm setting up p4 with swarm and when i initially did my swarm config i set the hostname to swarmhostname I've now changed it in /opt/perforce/swarm/data/config to the correct hostname and I can actually access it on the internet. However, I'm still getting cannot resolve hostname in p4v on my system and when I run p4 extension --run swarm ping I get BAD (Cannot reach 'http://swarmhostname/') (Couldn't resolve host name) which leads me to believe it was never correctly updated. How do i confirm how it's set and update it if necessary
and did you configure the extension from the p4d end? https://www.perforce.com/manuals/swarm/Content/Swarm/setup-extensions.html
you would need to set Swarm-URL
I didn't even see that section. I was following the install from package. You are a lifesaver. I have no idea why grep -r "swarmhostname" / didn't find it
im havinghard time navigating perforce, how much will it cost for 6 members 40$, or 240$?
nobody knows you have to get a quote. but i would expect at least 40 per person per month
In a team setting having to use SVN.🙄 Trying to establish some rules to avoid users clobbering each others files. I haven't used SVN in over a decade.
Other than clear communication are there any suggestions or guidelines in file , folder, project structure etc that would help avoid conflicts?
Thanks for any tips or suggestions!
Thanks. I did mention not using SVN in a decade. 🙄 You can lock files on checkout like Perforce does?
Thanks. Maybe a question for Stackoverflow...
Apologies for the total novice SVN question but its been a while!!
Question on Updating. I notice my local Unreal .uproject file has the red exclamation which means its different from the server version.
If I right click > SVN Update nothing happens.
What is the proper procedure to grab the server version of the .uproject file and overwrite - update my local copy?
Has anyone worked with task streams in P4 before? I think they're what I want for some short term work but I can't tell.
I can follow the docs to make one but I can't find any useful descriptions about what makes it "lightweight".
When creating the stream, is the parent stream branched immediately? or only as files are opened for edit/submitted with changes?
i haven't hardly done anything with them but i think that might be one aspect of what makes them lightweight - the fact that they don't branch the entire space.
having said that i don't think development streams do either (except for very old P4D versions maybe). i almost feel like it's just a semantics label
It's definitely not entirely semantics from the docs. dev streams require a parent, but you can make task streams of non-stream depots 🤯 .
I think they do something to make it easier to destroy or "unload" them easier too since that's supposed to be part of the workflow
wtf lol
I don't remember exactly what all the stream types were about, but in general I would use them only for c++ work, or very very well compartmentalized .uasset work where lack of locking is of no consequence
I believe most unreal dev is "trunk dev" even in big companies and teams, but I may be wrong
Yeah absolutely. This task is one that should be, like, 90% C++ so I want to give it a shot.
You're not wrong about trunk dev and I've never had a problem with trunk based development, but it'd be nice to not have to try and maintain shelved changelists for a large refactor for once.
It's sort of an experiment. Maybe I'll lock assets in the trunk if I really, really need to modify it in the stream.
RegisterStateBranches might also work (i really just want to try using RegisterStateBranches one day but i never have and probably never will so i'm hoping to sucker some poor sod into it so i can live vicariously)
Tell me more... I'm willing to give it a shot if the occasion presents itself 😄
the only place i've ever seen it was in the middle of an old fortnite presentation (workflow on fortnite) it displays lock status of assets in other streams
so like you'll get a yellow exclamation mark on any assets locked in some other stream
at least i think that's where it was
On an average day, Epic developers submit over 500 changes to Fortnite's mainline. In this talk, Lead Engineer Ben Marsh discusses Epic's development infrastructure and workflow including how we set up our branches, how we get builds of the editor to our artists and designers, how we set up our build system and escalate problems to devs, and how...
[i also can't believe these dummybutts didn't make this a project setting]
Yeah, that seems like a whole thing just to setup and make sure it's configured properly for everyone on the team ...
It sounds cool but needs to be a little more user friendly.
Maybe even something you setup a day or two before you start working in the branch
i don't think it's all that involved. add it to something that runs like a module init, that might be it. but... never done it so IDK 
This is annoyingly manual by default, but benui made a plugin where you can configure it from project settings instead
Is Bitbucket any good? Trying Sourcetree but it essentially funnels you in to also making a Bitbucket account.
I'll have to have another look because last night it took me to a page with Bitbucket sign in and I simply couldn't be arsed at the time with the faff when all I was looking for was to get Sourcetree.
Good to know that means no finnicky stuff ahead if I don't want to use the two together.
I'm not sure if this is a common issue but, me and my team having trouble with binary file conflicts. When we have a merge conflict on a binary and fix the conflict, the binary dissapears from the project (in editor). However, it does still exists in file explorer. So it's not going anywhere, but disappears from the project. We don't use any GUI, just bash and use vs code to solve binary conflicts. Is there any solution to this or a way to prevent?
kinda weird. any chance the uasset files left on disk are tiny? wondering if they're redirectors. don't know why they would be, though. obviously the correct solution here is to never generate these conflicts in the first place somehow but for some teams that is harder than others
Thank you for the reply, I'll check the sizes if that happens ever again, but the only solution we have for now is to abort the merge, and try over and over again until conflict doesn't end up removing the file from editor.
to be clear here, you close unreal, perform the merge (destroying one version of the file and replacing it with either A or B version), then when you reopen unreal, it's just gone?
yes, and to be even safer, close unreal and IDE, perform the merge, generate source code, and build the project from IDE.
still getting Failed to perform checkout on agent: p4 error: "Translation of file content failed near line 39758 file E:\BuildAgent3\work\c57a45b65183bc46\Engine\Content\Localization\Category\ko\Category.archive
not sure why
doesnt happen on my machine, only buiild machine
Is the build machine running a different OS than your machine?
Guessing this file contains unicode since it's Korean localization. If you perforce server is configured with unicode disabled, if you change the file type to be text in Perforce I think it'll probably fix it. Not totally sure how do change and existing file, but I have some notes that say when adding do p4 add -t text <filename> .
no
Bummer. Well, curious what the issue was. Let us know when you figure it out!
it says launched the multi user server, but i dont see any session or server, is this normal ( im the host )
I think you are in the wrong channel, this is all about version control
ok thanks, what would be the correct channel for this? UE5 general?
maybe #multiplayer
I am tasked with refactoring a large (several hundred GB) project in a currently working SVN server repo. This would involve
-reparenting of Unreal levels,
- deleting of any levels and assets (100s of GB) not needed.
My SVN knowledge is extremely limited. Using Tortoise.
Has anyone done this? What are suggested steps to follow?
What are some possible gotchas to look out for?
Just looking for some feedback from any SVN gurus.
Heyo! im working on something in UE5 with perforce as my source control, and i keep running into this error when i try right click actors. and it also won't say anything on my perforce is checked out. but will on the perforce client itself. any ideas?
What does the message log say?
So from the message log im reading into this currently.
But i cant seem to find what to do to rectify it with perfroce
It seems more of an issue with the perforce WS or P4status from what ive seen but at a loss so far
And where does it mention the actoractionutilities?
That output you've shown is to be expected since you're using the launcher engine
Whenever i attempt to right click or interact with actors
Just to make this a little clearer.
- I start unreal
- i mess with a BP and its fine, i try push it, then get the "nothing has been chekced out" and then the error about revision control comes up
- I then try interect with the same BP again it it says the ActorActionUtitlity error also.
The main issue I believe sits in the perforce connection from what ive seen online, but not sure what is exactly. it was working fine before hand!
so what is printed when you right click? you can have the output open and observe it
still getting this
What is the type of the file that is causing the problem? Is unicode enabled on the server or no?
If I'm using asset packs would it be best to ignore all content folder and whitelist my specific project one? Then thinking to move any thing I use from the pack into that folder so I'm not committing the whole pack
@edgy fibernot sure i never set the server up
K. What's the type of the file in perforce? You can see this next to the filename in P4V. It's in <>
utf16
but why doesnt p4v error out
just the build machine?
and this only happened recently
can see here it was success
then the rest just started failing with this
The build machine is windows and your local machine is windows?
yes
The P4 server is running in windows, not in a container?
I'd try changing that file to text just to see if that fixes it. I have no clue what could have caused it to change but every time I've seen this problem it's because the file is getting translated to a different format on sync.
(https://www.perforce.com/manuals/p4v/Content/P4V/files.type.html) seems to have instructions for doing that in P4V.
but its always been utf16
for months
like i said this only recently started happening
going to see what the type is
on epic perforce
That's a great idea. I just checked our own server and it's utf16 but we have unicode disabled on the server.
Cool. I just checked some old notes and the text/utf problems we had were because of unicode characrters in a source-code file.
Maybe try just blowing away the sync on the build machine?
And the file itself hasn't changed at all, I assume? I'm out of ideas...
I'd still try changing it to text just to see what happens. I agree it doesn't make any sense what it'd stop working nor why it would be necessary but I believe that stops the p4 client from trying to do any sort of translation.
What is this build list a screenshot from?
I mean, what program or tool? It doesn't look familiar.
teamcity
we run the build agents
But this would be so much easier if we could blame them. 🙂
Maybe check that the P4CHARSET is set to the same for your local P4 client and the build agent's p4 client. I think it should be none. I'm pretty sure if it's set to anything else p4 will throw an error when work when talking to a non-unicode server. I doubt this is it...but if your agents aren't being spun up from a clean image every build I think a change to it would persist.
Hi I come from a Unity + Git background. In those projects, engineers would branch out from the current development branch into feature branches, regularly merge down from the development branch, and when their feature is done merge back into development branch.
Is this also a common workflow with Unreal + Perforce? Perforce streams seem to be the same thing, but yet I can't find any info online on best practices for doing feature branches?
Exactly the problem I'm facing... :/
so it's basically common practice to do trunk based development then? then what are the common uses for perforce streams? Or are they not even used?
lol then you're using Unreal + Git?
basically: just copy epic https://www.youtube.com/watch?v=p4RcDpGQ_tI
feature branches are definitely a more rare occurrence with trunk-based development
but you'd use them for long periods of destabilisation
you can setup cross-branch locks, but this acts as more of a soft lock, where the editor tells you it's checked out or modified on another branch
oh and with this workflow, you'll often see the opposite of feature branches: release branches, where stabilisation efforts will usually happen and their tool robomerge auto-merges that to main for you
Hey all!
How do I diff non blueprint assets within the unreal editor itself and not using perforce. I used to have perforce installed but since I don't use it I uninstalled it. Before deleting, when I tried to diff 2 LayerInfo files, the Perforce diff would give me a text diff of those files...so I thought Unreal editor itself should be able to do that but diffing now (after uninstalling perforce) gives The currently set diff tool 'p4merge.exe' could not be run. Would you like to set a new diff tool? I have checked in my Editor preferences-General->Loading & Saving->Source Control->Tool for diffing text is set to p4merge.exe. Is there any way to set it to use the Unreal editor instead?
Surprisingly, diffing a blueprint against the depot still uses the Unreal editor based diffing.
P.S. I am using Git and I want to diff the Level asset before commiting to figure out why I can't delete a LayerInfo asset even though its no longer used in the level.
I did that for a bit, my animator friend hand an aneurysm trying to get it to work. I use diversion now, I highly recommend it!
As for trunk based development, there's a guy called Dave Farley on youtube, talks a lot about software project management, CI/CD... has some videos about gaming too.
I sometimes wonder about that, because you can copy-paste to and from blueprints, and it's text. It must be theoretically possible
Not that I'm aware of XD I definitely wasn't asked to
Yeah, that's what I am realising now...still wouldnt it have been better if non blueprint assets could be diffed inside Unreal. The diff that unreal provides for blueprints, is it a Unreal specific thing, or particular to the git source control?
Caveat : each diff has to load the editor separately, so I find it pretty much useless unless you only need to diff a single file
Like against the history you mean right?
So, no way for me to diff a changed but uncommited level against the last commited level? I am trying to diff against the "depot" but the text diff shows no difference
Coming from a software background, I am used to diffing against the last commit to take a look at the current changes before commiting...
The built in diff? Diffing a level inside unreal is opening p4merge
also...I am not using world partition...so OFPA is not enabled I guess
Yeah, I am checking on that
let me do this on a test project first lol...see what changes it makes. Does that make it easier to diff levels? Honestly, right now the only headache I have is 1 errant landscape layerinfo file that is not used but can't delete as it says its referenced in my level.
Well, I took the plunge and deleted the layerinfo anyway. Saved, restarted JIC, no issues. Just dreading the day it will come to bite back
from your experience what's the best place to buy perforce(ping me if you reply)
What do you mean "best place"? Isn't the only place to buy direct from perforce?
i'll sell it to you for cheap, all you have to do is give me your cc and banking info
Never used either of these myself, but these are the only two options I'm aware of. Curious what you find and end up going with, though.
(Assuming you're talking about a hosted solution. If you just want to buy perforce to host yourself then direct from them is the only option, I believe.)
also plenty of people I've seen have advised to steer clear of using assembla
that core cloud thing is just an azure VM with a subscription
Every time my team updates our project it seems to delete my in engine source control settings
is there a file we're forgetting to ignore?
Yah. My understanding is that they're basically the only option, though...do you know of any others?
Until Perforce really has their own solution that isn't just a preconfigured Azure VM, I would just go for setting up my own VM
on DO or Vultr or something
Yah - that's what we've done. It's surprising to me that there's not a batteries-included service out there. Being a perforce server admin isn't totally trivial.
those settings should be stored in an .ini file somewhere under the Saved folder... if that folder isn't being erased or otherwise affected, it shouldn't be affecting your local editor settings
(the whole Saved folder should be exlcuded from source control, to maybe answer your second q)
ok thanks gonna check in on this
actually, the big thing with that is there's clear per-user pricing for < 50 users. Self-hosting they won't tell you shit unless you talk to their sales afaik.
Which is an improvement... not a huge one, but at least it's something.
It's not just the click-to-deploy thing they've had for azure/gcloud/aws, seems to be at least somewhat managed.