#source-control

1 messages · Page 16 of 1

mortal vale
#

Thanks, I think I have an idea how to tackle this, but only time will tell if my assumptions are correct. What is the abbreviation NDA for NDA platform? I know NDA as non-disclosure agreement .

wide raven
mortal vale
#

Oh right! That makes sense

south flint
#

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.

south flint
#

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?

pulsar parcel
#

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

south flint
#

the royalty % was actually reasonable, the problem was the flat fee they wanted off the bat

buoyant widget
#

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"

buoyant widget
#

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?

livid ermine
#

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?

indigo dove
#

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.

livid ermine
#

Oh if that's the only problem that's nice

quick cedar
#

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)

covert glade
#

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

wide raven
woven sluice
#

just look and see how much bandwidth it's using...

gritty epoch
#

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.

neat grotto
#

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.

gritty epoch
#

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.

pulsar parcel
quick cedar
#

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.

limber tartan
# quick cedar Is there an "easy way" to just use GIT for and ignore all UASSETS and UMAPS and ...

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.

Pushing 75GB in one commit. In this guide, we will have a look at how well Git is suited for collaboration and version control with Unreal Engine 5.

quick cedar
quick cedar
#

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.

gaunt igloo
#

So I'm setting up Perforce, but the weird thing is why does it copy the project files to the workspace folder?

gaunt igloo
#

i created a workspace

#

i added the project files to that workspace, and it copied the files to that workspace folder

pulsar parcel
#

it wouldn't copy anything?

gaunt igloo
#

it did

pulsar parcel
#

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

gaunt igloo
#

thats why I'm asking

#

after creating a new workspace from here

#

and adding files to the server from here

pulsar parcel
#

have you actually created a depot?

gaunt igloo
#

The files i added to the server, are copied to the workspace folder i created

#

can you explain more?

pulsar parcel
#

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

gaunt igloo
#

a classic depot, i think it will create one called "depot"

pulsar parcel
#

this would be in p4admin

#

or CLI

#

classic depots suck ass so I would suggest not doing that

#

stream depot

pulsar parcel
#

branching is painful?

gaunt igloo
#

I'm not going to create branches, just one main branch, I'm solo dev

pulsar parcel
#

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

gaunt igloo
#

so what do you suggest

pulsar parcel
#

and it's easier to just do the right thing now than fix it later

gaunt igloo
#

removing the workspace and do it again?

pulsar parcel
#

from p4admin create a stream depot

gaunt igloo
#

alright

pulsar parcel
#

then create a mainline stream for it

gaunt igloo
#

also i don't know why its stuck at 0

pulsar parcel
#

I'm not sure why you're using this wizard or what suggested you to do it

gaunt igloo
#

tutorials?

#

what should i use instead

pulsar parcel
#

not using the wizard in p4v and create the depot ahead of time so you have an empty workspace to work with?

gaunt igloo
#

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?

pulsar parcel
#

You usually name it after your project

gaunt igloo
#

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?

pulsar parcel
#

Well I would usually have it one directory level up so that switching to a source build isn't annoying later

gaunt igloo
#

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

woven sluice
#

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 Clippy i basically ignore it. wizard, or "would you like to copy files to this now" type prompts lol

cobalt echo
#

So how would I remove Linux from the source control build of Linux from GitHub just untick linux? Not at computer so…

crisp widget
#

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.

unkempt gate
#

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?

pulsar parcel
unkempt gate
#

Nope :/

pulsar parcel
#

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

unkempt gate
#

So basically CI server should recompile code and make a push with the newest binaries, ya?

pulsar parcel
#

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

unkempt gate
#

I see, than you so much for help, Ill dig into it 😎

pearl forge
#

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

silver token
# pearl forge any good documentation good practices on how to setup your studio perforce strea...

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.

pearl forge
silver token
pulsar parcel
#

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

pearl forge
pulsar parcel
#

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

pearl forge
#

gotchhaa, yeah that will be the play here, thanks 🙏🏻

frigid mica
#

Hi, does anybody know about user-limit on Perforce Helix Core (on-premises)?

woven sluice
#

5

jaunty hornet
#

There's also a limit of 15 workspaces too if I'm not mistaken

woven sluice
#

20, but yes

crude flume
#

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

woven sluice
#

Nope

wide raven
pulsar parcel
#

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

solemn crater
#

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

chrome badge
#

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?

wide raven
wide raven
chrome badge
#

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

pulsar parcel
woven sluice
#

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?

pulsar parcel
#

Really just want clarification on what the supposed interpretation of "depot" and "workspace" is

#

Based on the previous messages

woven sluice
# solemn crater Hey im making a small fun game with my freind, he got a free plugin that isnt fr...

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

woven sluice
chrome badge
#

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

chrome badge
#

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?

wide raven
#

good clarification

woven sluice
#

(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

foggy stratus
#

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

woven sluice
#

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?)

foggy stratus
foggy stratus
#

wait

#

i have checked

foggy stratus
#

should I leave it commented?

woven sluice
#

Check case validation? Were you trying to enforce something on your files?

foggy stratus
#

i think it was automatically added when I was initially setting up the server with a CloudFormation template by Perforce themselves

woven sluice
#

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)

foggy stratus
woven sluice
#

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

foggy stratus
#

thanks!

ebon sand
#

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

ebon sand
#

Nice thank you

young badger
#

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.

young badger
#

Thank you, i'll try built-in sc now.

nocturne sparrow
#

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.

pulsar parcel
#

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

wide raven
#

Does anybody know of an example of a per user license plugin? I am checking a couple we use but not seeing anything

nocturne sparrow
#

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

timber zealot
#

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?

silver token
timber zealot
#

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
___________________________________________________________________...

▶ Play video
#

Only this

pulsar parcel
#

The source control settings are pretty prominent in the main toolbar

crisp widget
#

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?

solemn crater
fossil iris
#

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.

wide raven
#

None of those 3 folders should be in version control either

fossil iris
#

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.

wide raven
fossil iris
#

My gitignore already excludes the big stuff and any downloaded marketplace assets

crude flume
#

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

woven sluice
#

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

woven sluice
crude flume
#

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

jaunty hornet
#

My P4V client keeps trying connecting to an older server every time I launch it, does anyone know how to remove it?

wide raven
# jaunty hornet My P4V client keeps trying connecting to an older server every time I launch it,...
jaunty hornet
#

thanks I'll look into that

sour heart
#

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

pulsar parcel
#

that might be helpful

sour heart
#

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

sour heart
pulsar parcel
#

I was more thinking of a URL to the page

sour heart
pulsar parcel
#

2018

sour heart
#

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

pulsar parcel
#

Fork is the best one for Git imo

sour heart
#

can you link ?

pulsar parcel
#

it's nagware

#

but it's fine

pulsar parcel
#

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

sour heart
#

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

pulsar parcel
#

there are more up to date third party docker images on docker hub, that official one is just swarm so ignore that

sour heart
#

I've no idea how to work with swarm, I just need a version control server and that's it

pulsar parcel
#

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

jaunty hornet
#

@sour heart Hey hey, I set up P4V on Synology with container manager, hold on let me check your messages

sour heart
#

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

jaunty hornet
#

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 /

sour heart
#

alright let me try that

jaunty hornet
#

What container image are you using?

pulsar parcel
#

probably that 2018 one lol

jaunty hornet
#

I migrated an older P4V server so I incorrectly used docker lol

sour heart
#

this one

jaunty hornet
#

By launching a Ubuntu container and modifying all kinds of stuff in it

sour heart
#

ok so this time it didn't crash, but it added the volume

pulsar parcel
sour heart
#

let me try and commit

pulsar parcel
#

which uses 2018.2. well that's ridiculously out of date

jaunty hornet
#

If you add a test file to that shared folder, then you should also see it appear in the container terminal

sour heart
#

something like this

jaunty hornet
#

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

sour heart
#

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

jaunty hornet
#

Where are you SSHed into?

#

The P4Server container or the Synology NAS?

sour heart
#

my synology

jaunty hornet
#

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)

sour heart
#

hmm ThinkEyes

jaunty hornet
#

You can open the terminal via Container Manager though

#

By right clicking it

sour heart
#

yeah and bash to it, but i am trying to find the proper folder to navigate

jaunty hornet
#

What folder are you exactly looking for?

sour heart
#

the one that stores the files in

#

so i can map it

jaunty hornet
#

Ok, you can find your server root with p4ctl list

sour heart
#

so far i found nothing of the files i commited

jaunty hornet
#

p4dctl is a useful cli command too

sour heart
#

says bash p4ctl doesn't exist

jaunty hornet
#

oh sorry

#

p4dctl list

#

with a D

#

I have the tendency to forget the d

sour heart
#

alright found it, apparently it's /data/p4depot

jaunty hornet
#

Right, now I don't know if it is possible to map a directory from a container to a shared folder

sour heart
#

nope it crashes

jaunty hornet
#

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

sour heart
#

how do I open it

jaunty hornet
#

and then restart the container

#

use nano <filename>

#

if nano is not installed yet, do apt-get install nano

sour heart
#

apt-get is not found either

jaunty hornet
#

It's one of your first times working with Linux and command line?

#

apt install nano

sour heart
#

yep 😄

jaunty hornet
#

try that one

#

Hah, have fun, we all had to start somewhere 🙂

sour heart
#

apt not found either lol

#

i spent like a week trying to figure this out

jaunty hornet
#

welp....

#

Which image did you use?

sour heart
#

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>

jaunty hornet
#

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

sour heart
#

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

woven sluice
#

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

sour heart
#

and I still haven't managed to set the mount

jaunty hornet
#

Fair point, I forgot about that

#

We got an x86 processor on our NAS

sour heart
#

actually the one i have is 64 bit

woven sluice
#

423+ looks like it has a Celeron so should be ok I think. As long as it is definitely the +

jaunty hornet
#

The other one has an processor with rtd1619b architecture which I haven'theard of at all

woven sluice
#

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

jaunty hornet
#

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

sour heart
#

tho, i don't have the energy for that right now...

jaunty hornet
#

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

crude flume
#

everything worked

#

thanks

late jungle
#

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?

woven sluice
#

someone using hot reload? someone not committing code files?

late jungle
# woven sluice 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?

late jungle
#

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.

pulsar parcel
#

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

late jungle
#

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.

neat meteor
#

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?

pulsar parcel
neat meteor
neat meteor
pulsar parcel
neat meteor
pulsar parcel
#

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

neat meteor
#

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

pulsar parcel
#

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

neat meteor
#

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.

pulsar parcel
#

show where your uproject is and show what the workspace setting is in p4v

pulsar parcel
#

people still hide file extensions in windows?

neat meteor
#

sorry

pulsar parcel
#

but on based on what I see, then it shoudl show up in the editor

#

does the log say anything?

neat meteor
pulsar parcel
#

also you should not version the sln

#

and why is there a subdirectory with the project name in it within the project root?

neat meteor
#

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

pulsar parcel
#

the screenshot you showed me in p4v is correct

neat meteor
#

I followed a couple tutorials on how to setup P4 nothing was said about not having the sln in version control

neat meteor
#

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.

pulsar parcel
#

which config file?

neat meteor
#

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.

neat meteor
#

Though it is saying it is connected.

pulsar parcel
#

"client" can refer to the workspace

#

since that's what P4CLIENT refers to

neat meteor
#

okay, and i can set that in the cmd

neat meteor
#

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?

pulsar parcel
#

client and workspace mean the same thing

neat meteor
#

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 🙂

pulsar parcel
#

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

neat meteor
#

well it's working then.

neat meteor
ripe skiff
pulsar parcel
woven sluice
#

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

wide raven
#

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
pulsar parcel
pulsar parcel
#

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

chrome badge
#

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?

pulsar parcel
#

how did that even happen

chrome badge
#

I don't know

pulsar parcel
#

not using +l on uassets?

chrome badge
#

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

pulsar parcel
#

well for that you must have had them checked out right?

chrome badge
#

me?

pulsar parcel
#

yes

chrome badge
#

I don't think so

pulsar parcel
#

well how does the conflict happen then if you don't have them checked out

chrome badge
#

they woulda checked it out

#

maybe it was hmm

#

it shouldn't have been though

pulsar parcel
#

weird to not use a move operation for it though so it retains the original history

chrome badge
#

well I think they're new to perforce too

#

though some of it is just from in the engine editor

pulsar parcel
#

might be hard to diagnose the problem without knowing what your general workflow is and what the problem looks like visually

chrome badge
#

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

pulsar parcel
#

well if you made no changes? a revert will probably work. if you did? might be easier to create a shelf and revert

chrome badge
#

mm but the revert doesn't get the higher streams changes

#

I'm saying I want changes, I want their changes

pulsar parcel
#

and this is why I was asking about workflow

chrome badge
#

well idk what to tell you on that

pulsar parcel
#

well with perforce, you generally do trunk style development where everyone is working in the same branch (or stream)

chrome badge
#

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

pulsar parcel
#

and what type of streams are they?

chrome badge
#

regular? I'm not sure what types there are

pulsar parcel
#

but really, that's kinda counterproductive with p4. dev streams are usually fairly rare occurences

chrome badge
#

I see

#

well I'll have to bring it up at a meeting

pulsar parcel
#

the streams tab will tell you since there are a few types

chrome badge
#

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

pulsar parcel
#

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

chrome badge
#

so you would recomend we all work on the same stream?

pulsar parcel
#

yes, though I would just copy Epic's workflow wholesale

chrome badge
#

do you have a link for that? I'd like to bring this stuff up then.

pulsar parcel
#

since there's a bit more added nuiance with things like release branches and their custom tooling which is available to licensees (UGS/RoboMerge)

chrome badge
#

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

pulsar parcel
#

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

chrome badge
#

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?

pulsar parcel
pulsar parcel
#

or vice versa

chrome badge
#

hmm

#

so my team meber says he fixed it so I reverted everything and it looks fixed

#

wonder what the deal was

pulsar parcel
#

well you can see what the CL looks like

woven sluice
chrome badge
#

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

wide raven
# chrome badge I didn't even know that it could do that

Brief primer:

  • Never edit any .uassets without checking it out immediately
  • why?
  1. It makes sure you have the latest version of it
  2. It ensures you have a lock on it -> makes sure nobody else edits at the same time resulting in conflicts and lost work
wide raven
#

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
ebon sand
#

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

pulsar parcel
chrome badge
#

Well i'm not sure if anyone ont he team would know how to do that unfortunetly

ebon sand
#

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

pulsar parcel
#

since yeah, you have revision control, but you still have a single point of failure

ebon sand
#

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

woven sluice
#

it sounds like your team isn't using any source control, which is horrifically scary if true

wide raven
molten fog
#

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.

wind gazelle
# molten fog I'm trying to set up source control (GIT). Never used it before. Do I have to se...

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

GitHub

A collection of useful .gitignore templates. Contribute to github/gitignore development by creating an account on GitHub.

Create a repo in Visual Studio by using Git, browse to an Azure DevOps repo, or work remotely with the Git provider of your choice.

molten fog
#

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.

wind gazelle
#

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

molten fog
#

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.

wind gazelle
#

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

molten fog
#

Those are VS integrations to replace built in GIT, or external programs?

wind gazelle
#

just standalone apps, VS also uses git for windows and not own git library

molten fog
#

From Unreal editor? You mean open up unreal where I edit BP's etc.?

wind gazelle
#

my toolset is git for windows console (when i'm not lazy) and tortoisegit (whem im lazy) 😄

molten fog
#

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?

pulsar parcel
# molten fog

"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

molten fog
#

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.

pulsar parcel
#

this doesn't really matter

molten fog
#

Oh okay

#

So now it found the path itself.

I initialize or just accept settings?

pulsar parcel
#

I use Fork as my Git client

molten fog
#

Was told it was easiest through Unreal because I'm very new to this.

#

And sure to Initialize or "Accept settings"?

pulsar parcel
#

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

molten fog
#

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.

pulsar parcel
#

you will still want to have a remote since with a local repo there is still a single point of failure (your machine)

molten fog
#

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.

pulsar parcel
#

from which provider?

molten fog
#

Github I think.

pulsar parcel
#

well there ya go

molten fog
#

almost certain. Only one I checked.

pulsar parcel
#

ADO Repos have much higher limits

molten fog
#

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.

pulsar parcel
#

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

molten fog
#

Sourcetree seems to be free. Honestly a factor in my small project.

pulsar parcel
#

so is Fork, it just has a nag screen

#

WinRAR style, but it doesn't show up that often

molten fog
#

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. 🙂

wide raven
#

I just keep the .uproject file in perpetual checkout, but the regedit trick is probably the best practice

narrow depot
#

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

merry verge
#

what? that's not at all what docker is

narrow depot
#

isnt it like working simutaniosly on the same project?

merry verge
#

no

#

it has nothing to do with that

narrow depot
#

can you describe what it is used for? just heard of it today

merry verge
#

generally for running continuous integration builds or server processes in a clean environment with a list of required dependencies

narrow depot
#

alr i see

odd phoenix
#

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?

wide raven
molten fog
#

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. 🙏

surreal python
#

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 🙂

woven sluice
runic summit
#

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)

woven sluice
#

no need to do anything

#

the engine version is part of the project

neat grotto
#

I have no idea if that lines up with best practices.

torpid token
#

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.

runic summit
#

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

runic summit
molten fog
#

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:

pulsar parcel
#

and you have to write a commit subject at the very minimum

#

and you'll want to make sure you stage all your changes

molten fog
#

Thank you!

#

Now something happens at least 🙂

pulsar parcel
#

Build/Windows/FileOpenOrder should probably be in the .gitignore too

#

(but not Build/ like all those template gitignores have)

molten fog
#

To ignore more things I need to add text lines to the .gitignore file?

pulsar parcel
#

yes, I think Fork can add stuff for you too

molten fog
#

I hit the commit before I saw your message so I'll let it chew on current task for a minute first.

pulsar parcel
#

that's alright, you can safely delete those files anyway as they're generated

molten fog
#

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?

pulsar parcel
#

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

pulsar parcel
#

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)

molten fog
#

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?

pulsar parcel
#

an automation project if you use one

#

well you didn't commit it because you didn't stage it

molten fog
#

Just created an empty master?

pulsar parcel
#

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

molten fog
#

I see

pulsar parcel
#

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

molten fog
#

But then who decided what was staged in the first place?
Guess that was based on the ignore file somehow?

pulsar parcel
#

you do

molten fog
#

I doubt I manually did it somehow.

pulsar parcel
#

unreal might have done it partially when you tried to submit via the editor

molten fog
#

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)

pulsar parcel
#

if it's in your .gitignore, it shouldn't show up in "unstaged" to begin with

molten fog
#

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?

pulsar parcel
#

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

molten fog
#

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")

pulsar parcel
#

pretty much

#

and then you can push the commit(s)

molten fog
#

Right, that requires I set up the remote stuff right first though. Not certain about that part.

pulsar parcel
#

anything in the staged section is what is in your commit

molten fog
#

Tried a bit unconventional remote folder in my Dropbox instead of online.

pulsar parcel
#

just use something like Azure ADO, that's free for 5 users

molten fog
#

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.

pulsar parcel
#

iirc the limit doesn't affect LFS artifacts, but I haven't put a project that large on it

molten fog
#

Maybe it's because a regular zip includes everything. No ignore file etc. for that.

#

literally just did a "Zip project" from UE editor.

pulsar parcel
#

well yeah, that'll include a lot of junk from Intermediate/DDC/etc

molten fog
#

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?

molten fog
#

I did run those yeah.

Generated some git files if I remember right.

#

Yeah it did

molten fog
#

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.

long mural
#

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

pulsar parcel
long mural
#

sec

#

i dont see .tmp here

#

@pulsar parcel

pulsar parcel
#

Probably the po or archive

long mural
#

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

pulsar parcel
#

I would guess utf8 over 16

molten fog
#

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?

  1. 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?)

  2. 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.

molten fog
#

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.

surreal python
quaint obsidian
surreal python
#

I'll look at it thanks !

neat grotto
#

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.

olive rock
#

Had anyone dealt with a TLS connection error when connecting to their SSL perforce server?

neat grotto
olive rock
woven sluice
# neat grotto Just wanted to report back on this: my client was finally ready to switch from G...

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)

neat grotto
woven sluice
#

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 😄

neat grotto
#

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.

olive rock
neat grotto
olive rock
neat grotto
neat grotto
#

Did your SSL certificate expire? In my experience that gives a different error, but it's worth ruling out.

olive rock
#

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

neat grotto
#

@woven sluice Hell yes, that worked like a charm. Thank you!

woven sluice
neat grotto
#

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.

woven sluice
#

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

neat grotto
woven sluice
#

nope

neat grotto
#

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.

woven sluice
#

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

neat grotto
#

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.

jolly fog
#

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?

wide raven
#

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 )

wide raven
wide raven
#

Oh yeah : do the Renaming in Unreal, not in File Explorer - otherwise things will certainly get confusing. And remember to Fix Up Redirectors!

gusty plank
#

Hey, sorry to tag you, I'm having the same issue. Did you find what the issue was?

woven sluice
# jolly fog Hey guys, i feel like version control make rename and delete folder so hard. Can...

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...

molten fog
#

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?

  1. It's bad to change the repository folder right?

  2. 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" ?

  3. I could set up a new repository using the new copy folder, and then have 0 history and go from there?

#

yeah

jolly fog
#

i use github desktop like everyone else

jolly fog
wide raven
wide raven
woven sluice
#

guess i'd better install github desktop immediately to fit in fastpoggers

jolly fog
#

i feel like that's too long to make sense

#

and move too

wide raven
jolly fog
#

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?

woven sluice
#

If I was solo with git I doubt I'd even connect unreal I guess

jolly fog
#

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

wide raven
#

I use unreal's source control mainly for checkouts and blueprint diffs - indeed it is in no way necessary

wind gazelle
tame cape
#

sorry source control really confuses me

wind gazelle
#

also you can see pins here for some articles or vids

tame cape
#

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 🐱

wind gazelle
#

knowing basics wouldnt hurt

#

at least partially for most basic use (what is git, what is commit/push/pull/branch)

tame cape
#

alright well get into it. i was told its essential to work in teams

#

though i have been working always alone

wind gazelle
#

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

tame cape
#

im using github desktop

#

looks cool

#

i have to learn this properly so i can work in groups better

wide raven
#

aye, but it has to boot up the entire editor separately for each diff, so it is not very efficient for larger reviews

pulsar parcel
#

Though it does support shelved CL diffs and swarm reviews now in P4 land

woven sluice
#

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

woven sluice
#

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?

woven sluice
#

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

wide raven
#

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
lone sun
#

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?

pulsar parcel
lone sun
pulsar parcel
#

Well usually you can populate from the stream creation window

#

and that wouldn't be an appropriate use of a release stream anyway?

lone sun
crude flume
#

is there a way to add an azure devops webhook to a discord channel for information on the repo

pulsar parcel
crude flume
#

thanks ill see what i can do with this

#

ill check this out too

crude flume
#

Circumvented potential headaches by making a Trello and then creating webhook from devops to Trello and from Trello to Discord

proper gust
#

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 ?

cyan viper
#

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

pulsar parcel
#

you would need to set Swarm-URL

cyan viper
teal gorge
#

im havinghard time navigating perforce, how much will it cost for 6 members 40$, or 240$?

woven sluice
#

nobody knows you have to get a quote. but i would expect at least 40 per person per month

teal gorge
sacred aspen
#

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...

sacred aspen
#

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?

silver token
#

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?

woven sluice
#

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

silver token
#

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

woven sluice
#

wtf lol

wide raven
#

I believe most unreal dev is "trunk dev" even in big companies and teams, but I may be wrong

silver token
# wide raven I don't remember exactly what all the stream types were about, but in general I ...

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.

woven sluice
#

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)

silver token
woven sluice
#

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...

▶ Play video
#

[i also can't believe these dummybutts didn't make this a project setting]

silver token
#

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

woven sluice
#

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 utried

pulsar parcel
woven sluice
#

oh nice

#

thanks for the protip (thanks benui if you ever read this)

frail beacon
#

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.

hazy phoenix
#

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?

woven sluice
hazy phoenix
woven sluice
#

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?

hazy phoenix
long mural
#

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

edgy fiber
#

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> .

long mural
#

no

edgy fiber
# long mural no

Bummer. Well, curious what the issue was. Let us know when you figure it out!

tropic salmon
#

it says launched the multi user server, but i dont see any session or server, is this normal ( im the host )

wide raven
tropic salmon
sacred aspen
#

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.

cosmic knot
#

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?

pulsar parcel
cosmic knot
#

So from the message log im reading into this currently.

cosmic knot
#

It seems more of an issue with the perforce WS or P4status from what ive seen but at a loss so far

pulsar parcel
#

That output you've shown is to be expected since you're using the launcher engine

cosmic knot
#

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!

pulsar parcel
#

so what is printed when you right click? you can have the output open and observe it

cosmic knot
#

thats all its giving me

edgy fiber
silk hound
#

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

long mural
#

@edgy fibernot sure i never set the server up

edgy fiber
long mural
#

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

edgy fiber
#

The build machine is windows and your local machine is windows?

long mural
#

yes

edgy fiber
#

The P4 server is running in windows, not in a container?

long mural
#

its on linux

#

dedicated server

edgy fiber
#

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.

long mural
#

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

edgy fiber
long mural
#

this is on epic perforce

#

unicode is disabled on our server

edgy fiber
#

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?

long mural
#

i did a fresh download

#

and its still happening

edgy fiber
#

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.

long mural
#

nope :/

#

yeah thats my last resort

#

but its just odd

edgy fiber
long mural
#

?

#

trying to build the binaries for editor

edgy fiber
#

I mean, what program or tool? It doesn't look familiar.

long mural
#

teamcity

edgy fiber
#

ah

#

So they are running the build agents? Maybe something changed on their side?

long mural
#

we run the build agents

edgy fiber
#

But this would be so much easier if we could blame them. 🙂

edgy fiber
#

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.

magic mesa
#

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?

magic mesa
#

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?

pulsar parcel
#

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

tropic surge
#

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.

golden dragon
# magic mesa lol then you're using Unreal + Git?

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

tropic surge
#

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?

wide raven
#

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

tropic surge
#

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.

tropic surge
#

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

glacial sage
#

from your experience what's the best place to buy perforce(ping me if you reply)

silver token
woven sluice
#

i'll sell it to you for cheap, all you have to do is give me your cc and banking info

edgy fiber
edgy fiber
pulsar parcel
#

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

chrome badge
#

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?

edgy fiber
pulsar parcel
#

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

edgy fiber
#

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.

woven sluice
#

(the whole Saved folder should be exlcuded from source control, to maybe answer your second q)

chrome badge
#

ok thanks gonna check in on this

merry verge
#

It's not just the click-to-deploy thing they've had for azure/gcloud/aws, seems to be at least somewhat managed.

chrome badge
#

hmm well it looks like saved is ignored

#

i wonder why i keep seeing this change than