#source-control

1 messages · Page 21 of 1

arctic hornet
#

I don't remember the flags from top of my head... but iirc +l is the exclusive checkout, i.e. more than one person cannot work on it at the same time
+w means writable, since if you remember from when I've shown it to you, you first need to checkout the file before you can work on it (i.e. it's read only be default) meanwhile if you add +w it's writable and that means you can modify it even if it's not checked out

zealous lance
#

exactly what klukule said, the w flag is usually just for bi-product like .exe or .dll files (assuming you were storing them, this lets them just update and be replaced with no effort)

fathom nova
#

Hello everyone,

I'm facing a significant challenge with setting up source/version control in Unreal Engine. Currently, I'm using GitHub LFS in conjunction with GitKraken Desktop. However, whenever I attempt to push my repository, the process reaches approximately 70% before disconnecting. I suspect this issue arises due to the large binary files involved.

To address this, I've tried adding data packs to GitHub, hoping it would mitigate the problem, but unfortunately, it hasn't resolved the issue. I've been searching for a solution without success, so I am now seeking insights from this community on the best practices for managing version control.

Any assistance would be greatly appreciated. Thank you!

zealous lance
#

Did you add lfs to your git repo?

fathom nova
#

yes

zealous lance
#

and its set up correctly to take in the correct binary files (and you did it before you added your project to the repo so you never committed/tracked those with normal git)

fathom nova
#

I believe I set it up correctly

woven sluice
#

FYI, leaving SSH on default port will cause your server to get hit by a LOT of spam... like i literally had several GB's of bot login attempt logs after not very long. it can be helpful to randomize your ports at some point. you have to be SUPER careful doing it, as you can lock yourself out of the house (if you just change your SSH port, but your firewall isn't set up to allow to that new port, you can't connect to SSH to open the firewall)

fathom nova
#

So, you mean that only after configuring Git LFS should I start adding my project files to the repository? If so, I believe I attempted to do it all at once

zealous lance
#

Thats the only thing I can think of, regular git just has a limit

#

You could also try a terminal - even just for the inital commit although I dont think it would change too much

#

(I use gitfork as a desktop client when I work with git btw so I never used kraken)

valid vine
valid vine
#

how do you go changing or forwarding the ssh port 22

woven sluice
#

ah, there could be other options applied "outside" of your VPS i suppose but those aren't the norm... still look into it before you do anything

zealous lance
arctic hornet
woven sluice
#

yeah, some providers have like an emergency console where they give you root access to the raw disks through a temporary virtual machine

fathom nova
valid vine
#

well the way I see it, I can do it on an empty VPS and just destroy it once I learn it. its how I have stuff so far ahah, just a lot of effort though since I dont have some image its fresh every time

arctic hornet
#

and in general, if you have decent enough password you can leave it exposed... yes, it might add some log attempts, but in general it's not that resource intensive to keep it open... though easy solution would be to set up your firewall to allow ssh access only from certain IP addresses if applicable

valid vine
arctic hornet
#

but I think that if you search for something like open ssh change port ubuntu google will be more than helpful in this case 🙂

#

though again, be careful, since you also have to allow it through firewall first so you don't cut yourself off

woven sluice
#

the actual process to change it i can't remember, google change ssh port <linux distro> ... you'll edit a text file and then restart the ssh daemon process and then you'll get disconnected and have to reconnect

valid vine
#

oh so I wouldnt be changing I would be opening a different port with ssh protocol and closing default one of 22?

#

(still changing but less confusing wording I think)

woven sluice
#

you open up the port in your firewall, change the port the SSH daemon uses (a config setting), then restart the SSH daemon and it will no longer listen on the default port

valid vine
#

thks I will do this for sure later on a dummy one first

woven sluice
#

it might actualyl be possible to list multiple ports in the ssh config

#

don't know if i ever tried

valid vine
#

I can google the rest, thanks

woven sluice
#

yeah at least one source says you can just write multiple Port lines for multi-port access... that would have saved me an hour once in my life lol

glacial gate
#

Hello! Could someone show me how to rename uassets with Git please?
I'm using the UEGitPlugin made by ProjectBorealis, but I have the same issue with the default Git plugin.
(Renamed BP_Taggable to BPT_Base)

#

(Fix up redirectors. BPT_Investor is a child of BP_Taggable, which is in the RoomConcept_Test_P level)

#

After fix up

#

(Mark BPT_Base for add)

#

The issue is that Git doesn't treat this change as a rename, and so I can't diff BPT_Base for any earlier versions since Git says this file was just created.
Also I'd prefer to not push anything to my remote repo until I know for a fact Git treats this change as a rename 🙂

zealous lance
rustic canyon
#

I am experiencing an issue with P4V regarding file management between our mainline depot and development depots. Here are the details:

We have removed five files from our mainline depot and updated the ignore file accordingly.
Despite this, when we merge changes from the mainline depot down to our DEV depots, these removed files are still being updated.

I just don't know what else to do .

glacial gate
# zealous lance Here is a long shot but you may be able to use the move command to rename it in ...

Thanks for help! However I'm not sure if Core Redirects work for uassets
+ClassRedirects=(OldName="/Script/Papercut.BP_Taggable", NewName="/Script/Papercut.BPT_Base")

LogCoreRedirects: Error: ValidateRedirect(Type 2) failed to find destination Class for redirect from /Script/Papercut.BP_Taggable to /Script/Papercut.BPT_Base with loaded package!

The BP_Taggable asset no longer shows up in the content browser when git mv (ing)
Appreciate the help anyways though 🙂

zealous lance
glacial gate
#

Thanks mate 🫡 👍

limber tartan
valid vine
glacial gate
wind gazelle
glacial gate
#

Sorry, could you provide an example?

wind gazelle
#

also you normally never write core redirect for blueprints as editor automatically replaces them in all used assets during rename / fixupredirects

#

+ClassRedirects=(OldName="OldBlueprint_C",NewName="NewBlueprint_C") <- _C is mandatory as thats the blueprint class

glacial gate
#

Cheers! I'll give it a shot to see if it works, but yeah I'll definitely look for a better solution 🙂

wind gazelle
#

git is very bad at detecting binary asset moves, unless you run git mv manually. binary files change a lot

#

you can do rename in editor (without source control enabled),
then try magic
git reset oldname to recover old file temporary
rename newname newname_temp to save patched binary file after editor did refactoring
git mv oldname newname to make git staged move
rename newname_temp newname to replace file with patched file

but in most cases i saw everyone simply leaves files as deleted / new after binary renames

glacial gate
#

I'll give that a shot too, thank you!

zealous lance
glacial gate
arctic hornet
#

Renaming in git will always be a delte + create operation rather than move, because the metadata of the asset have changed... so for git it's two different files

wind gazelle
#

there is no way to manually tell "treat this missing file and this new file as rename"

glacial gate
#

Gotcha, my last bit of confusion though is that according to the plugin's ReadMe they do support renaming uassets. Probably missing something though idk https://github.com/SRombauts/UEGitPlugin (Under Supported Features)

#

I thought maybe this under Known issues, but I'm not sure how I've modified too much:
"renaming a Blueprint in Editor leaves a redirector file, AND modify too much the asset to enable git to track its history through renaming"

wet shell
#

Are people storing their /Saved/ configs in version control? I only ask because without it you lose some of your editor customization

wind gazelle
#

for example live coding and some editor settings shared like that

arctic hornet
#

Binaries can sometimes go if you're storing binaries in version control, but the others don't

valid vine
#

Sounds dumb but just triple checking, the merge down, copy up method of main <-> dev streams is exactly how it sounds right? it will merge any changes down but do a direct copy or basically duplicate of the dev stream but on the main stream right?

I ask because what happens if you have many dev streams? You copy up and then merge the changes back into the other development streams (assuming you wanted those changes)

pulsar parcel
#

pretty much

#

but you can do bidirectional merge if you really want to

arctic hornet
#

the merge down, copy up method is kinda just the UI imposing certain workflow, but sswires has said, you can just do p4 integrate which is the "merge" and do it both ways... I exclusively use integrate (and iirc so does epic etc..) especially because robomerge also only uses integrate.... and I've never had any issues with it

#

(I don't even remember the exact reasoning why it's set up that way in the UI anymore, I should probably re-read stuff again 🙃 )

long mural
#

my swarm still bugging out

#

Error in change specification.
'swarm' validation failed: ERROR: Swarm communication error (Couldn't connect to server)

arctic hornet
#

hmm, this usually happens when swarm login token expires

#

the user you're using for swarm has to have unlimited session length

long mural
#

it does

#

swarm user with unlmited everything

#

but even the website is not working... so wtf/

arctic hornet
#

ok, to be more precise, this means that perforce server cannot contact swarm as there's bi-directional communication

#

so, make sure the extension is properly configured etc.

long mural
#

is it

#

it was working

#

what boots swarm

arctic hornet
#

it's php app, so there's no state

#

so as long as your apache is running then it's up

long mural
#

the redis server is running

#

perforce 28345 0.1 0.0 86756 8228 ? Ssl Jul08 8:56 /opt/perforce/swarm/sbin/redis-server-swarm 127.0.0.1:7379

#

what could cause my apache to just die

arctic hornet
#

I'd check apache logs

long mural
#

wow someone doing shady stuff

#
[Tue Jul 09 07:15:25.421203 2024] [php:error] [pid 83230] [client 94.156.64.71:57142] script '/var/www/html/wp-apxupx.php' not found or unable to stat, referer: www.google.com
[Tue Jul 09 14:49:21.177171 2024] [authz_core:error] [pid 86744] [client 165.227.39.235:44900] AH01630: client denied by server configuration: /var/www/html/server-status
[Tue Jul 09 14:49:22.686855 2024] [authz_core:error] [pid 85894] [client 159.65.144.72:57554] AH01630: client denied by server configuration: /var/www/html/server-status
[Tue Jul 09 14:49:41.482538 2024] [authz_core:error] [pid 86744] [client 209.38.248.17:58496] AH01630: client denied by server configuration: /var/www/html/server-status
[Tue Jul 09 17:04:29.163478 2024] [php:error] [pid 588136] [client 213.136.93.171:42956] script '/var/www/html/wp-login.php' not found or unable to stat
[Tue Jul 09 20:16:10.881468 2024] [core:error] [pid 82986] [client 125.124.224.65:41330] AH00126: Invalid URI in request POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1
[Wed Jul 10 06:49:44.105614 2024] [mpm_prefork:notice] [pid 28475] AH00169: caught SIGTERM, shutting down
arctic hornet
#

ah, that's usual botnets 🙂

#

they just go and try general vulnerabilities

long mural
#

but why did it sigterm

arctic hornet
#

did you toy with php versions etc?

long mural
#

cause its not related to those other stuff

#

as the time frame is different

arctic hornet
#

usually sigterm comes when there's error whiule communicating between php and apache or something like that

long mural
#

but that wold only make sense for php-fpm no?

arctic hornet
#

I haven't used apache as webserver since forever ago, so not sure honestly

long mural
#

i mean i would have used nginx

arctic hornet
#

all I know is that I'm running swarm inside a docker container and that's working flawlessly

long mural
#

p4/swawm is not docker

#

:/

arctic hornet
#

it is

long mural
#

on my setup its not

arctic hornet
#

perforce/helix-swarm is the docker image

#

and swarm can run independently from p4

#

they don't have to be the same machine

long mural
#

yeah

#

i mean i just need to ensure apache2 is not crashing

#

or if it does, reboot it

arctic hornet
#

This is compose script that I'm using for my swarm

rustic canyon
arctic hornet
#
  • forgot visible password
long mural
#
'swarm' validation failed: ERROR: Swarm communication error (<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://xxxxx/queue/add/98b8034e-4e6a-11ee-8ef5-0fe95ca08fa1">here</a>.</p>
<hr>
<address>Apache/2.4.41 (Ubuntu) Server at xxxx Port 80</address>
</body></html>)
``` grrr lol
arctic hornet
#

here we go

arctic hornet
#

rather than HTTPS

#

and perforce does not follow redirects it seems

long mural
#

yeah i switched it to https

pulsar parcel
#

also I wouldn't expose Swarm or P4 directly to the internet, or at least without a strict firewall with an explicit IP allowlist

#

at a previous studio we actually made a pretty simple self-serve tool for people with dynamic IPs to update their IP if they woke up one morning and couldn't connect

arctic hornet
#

both p4 and swarm are ok to be run via public internet, there are no known vulnerabilities - if you use latest versions - but yes, as always... if it can be hidden from public internet, hide it... better be safe than sorry

#

usually people tend to just hide it behind corporate vpn, or as sswires said, behind ip whitelisting

valid vine
#

when working on a feature or re writing a system that isnt just a small "task" do you guys make a development stream and then delete in the future if you are all done?

#

in perforce sorry I should specify

zealous lance
#

They have sparse development streams, like light weight development streams and you can even convert them to dev/release later if you change your mind.

Its what I use personally and I haven't had issues, I don't know about the others though I am still fairly new to perforce

rancid sun
#

Does anyone know why unreal engine does not find a workspace in the server? It does not have any issues when I log in with the account they provided from the cloud which has admin rights.
The server correct since it works fine when I use the main admin account.

#

I am using helix core cloud

zealous lance
#

What comes up when you type p4 info in the terminal

rancid sun
#

I don't fully understand the terminal, is this automatically installed with the visual client and how do I access it?

zealous lance
#

Well I dont know how unreals p4 plugin works, I think it might use environment variables. If someone else knows more feel free to step in but for now I can try help with my little p4 experience I have

rancid sun
#

If it is embdedd into windows terminal then I just did what you asked and I get the following error:
Perforce client error: Connect to server failed; check $P4PORT. No such host is known.

zealous lance
#

in the windows terminal just type p4 info

#

is that the output?

rancid sun
#

The visual client works fine when you are logged into the main account though

zealous lance
#

try set the environment variable then maybe p4 set P4PORT=ssh:ip:port

rancid sun
#

This is using the turnkey cloud solution from perforce on azure, I'm not sure if that changes things

zealous lance
#

I am not sure tbh, like I said I have little experience in all this, very new to it myself

#

just try that command but with the ip of the host and the port

rancid sun
#

yeah same here, I can use it when it works but when it breaks I'm lost

zealous lance
#

You might need to setup all your environment variables and then call p4 login

rancid sun
#

yeah I logged in via terminal

#

ill do p4 info

#

What is it you are looking for exactly as there is some sensitive data here

zealous lance
#

try unreal now its logged in

rancid sun
#

oh wow

#

I'd figure that loging into the visual client would have done this

#

Thanks a bunch

rancid sun
#

I have another problem with p4v, were currently running out of memory and we recently doubled our storage so I figure that I set something up the wrong way. How do I manage the file storage and free up some room on our p4v cloud azure server?

zealous lance
#

peeposhrug I paid for 800gb and just hope I dont need to worry about dealing with that or reformatting a drive/moving p4 to another dir

Cant help here

glacial pecan
#

i have a question i used to work on unity with my friend i had the main project while he only make some scripts and send it to me and tell me how to attach it and what values i use but now when we switched to unreal engine 5 its almost impossible this way what is the best way to work as small team in unreal engine note that i use a mac and he uses a windows pc

long mural
#

Use git or perforce

#

You should always use source control

zealous lance
glacial pecan
#

yes it is 😦

woven sluice
#

turn that frown upside down

orchid solstice
#

how can i undo what i have pulled?

teal bone
#

If you overwrote your own local files, not much, unless they are already in a commit (git) or shelved in a cl (p4)

#

If you want to go back a step in git, you can check out an earlier version using the commit id.

orchid solstice
orchid solstice
teal bone
#

Then you're screwed 😦

#

Doesn't git normally warn you about this?

orchid solstice
#

it says there is some stash changes

teal bone
#

Maybe they're in there?

orchid solstice
#

idk is that it

#

it looks like those files but i cant get them

#

idk how to get that files back because they look like the ones im looking for

south flint
orchid solstice
south flint
#

undo any active changes you have and then restore the stash

neat grotto
# orchid solstice Wdym?

You can't restore the stash until your repository is in a clean state. That is to say, your Changes tab should be empty.

fluid pond
#

does anyone know why my source files aren't being submitted to perforce?
When I try to edit something in visual studio, it asks me to make a file writable to edit it and doesn't give me an option to submit content from the editor. I have to manually go into P4V and reconcile offline changes from there instead

#

oh

#

nevermind

#

Server was offline 🙂

neat grotto
#

I can't believe I'm saying this, but I think I'm going to switch my solo projects from GitHub to Perforce. The editor plugin in UE5 has gotten so much better. Easy changelist management and automatic dependency validation are very nice to have. I've gotten used to them on my larger projects that use Perforce.

fluid pond
#

yeah, its definately nice

#

I just use a local server because I am collaborating with a few friends

#

how did you get around the file limit with Github?

fluid pond
neat grotto
fluid pond
#

and it also has its own cap, right

neat grotto
#

No. I use GitHub Desktop.

fluid pond
#

huh

neat grotto
#

I think individual files are restricted to 2 GB or smaller, but I am never going to commit a file that large.

fluid pond
#

github lfs has a cap of 10gb

#

but

#

thats a lot higher than i though

#

thought

zealous lance
#

its a simple git lfs install command and adding some .gitattributes if you wanted. But I do agree P4 > Git, its just really streamlined

fluid pond
#

👍

zealous lance
fluid pond
#

k

neat grotto
#

I have long lamented using Perforce because it's really good at what it does, but very difficult to troubleshoot when things go wrong. P4V is a clunky app, too.

#

But UE5's editor plugin has gotten so good that I don't really feel the pain points as much as I used to.

fluid pond
fluid pond
neat grotto
#

I still open P4V every day before I get to work. It's easy to get the latest updates and launch the project from there.

#

But after that, I can work entirely in the editor nowadays.

#

The View Changes tab is, surprisingly, a joy to use.

fluid pond
#

no subscription

neat grotto
#

I have gotten into the habit now of creating a changelist for a task before I touch any files. If multiple tasks overlap, I can create another changelist without disrupting any work. I find that workflow to be very intuitive.

zealous lance
neat grotto
#

Plus: drag-and-drop assets between changelists, automatic dependency validation, and other similar quality of life features.

neat grotto
zealous lance
#

I havent bothered too much with change lists, default is enough for me unless its some important specific thing I need to fix

neat grotto
#

One thing I will miss about Git is working offline, but if I'm honest, I can't remember the last time I needed to do that. It's just a nice-to-have feature that gives peace of mind. I know Perforce has a distributed mode now, so I could look into that if I really wanted to.

fluid pond
zealous lance
zealous lance
fluid pond
zealous lance
neat grotto
zealous lance
# fluid pond k, thats kinda annoying

why? p4 is suppose to be declarative, you also checkout files so it knows something changed, nothing is really "automatic" and thats the beauty, its intentional

fluid pond
zealous lance
# fluid pond It's just a lot easier to do it through unreal because I already have it open an...

You know how little you are adding new files as opposed to normally just changing existing ones?

  • Adding a new file to the stream is a simple rightclick mark for add or a terminal command (you can wait til you make many to group that big hefty p4 add command with many files for efficiency
  • Modifying an existing file, you can just set your IDE to auto checkout any modified files so no real need to checkout there

its not that hard?

fluid pond
#

how do you do the integration with an ide

#

plugin?

zealous lance
#

Yeah plugin, rider might come pre installed idk

fluid pond
#

oh

#

ok

#

i just installed one, hope it works :0

silver token
#

Rider comes with built-in support for a few different source control types. No plugin needed.
Perforce and git are for a couple of them.

fluid pond
silver token
fluid pond
#

There’s a p4vs plugin from their website that is different from the one from the plugin manager

silver token
fluid pond
#

Typo

#

Does it matter which one I use?

fluid pond
silver token
#

🤷 I've only ever bothered with the official one.
It's been a while though, 'cause I switched to Rider.

pulsar parcel
ocean anvil
# neat grotto I have long lamented using Perforce because it's really good at what it does, bu...

i've been working only with p4 since i started working in UE and it has been a very smooth ride imo, but their UI and the app in general seems to be stuck in 2007. its the main thing that i really wish they'd overhaul its in many ways unintuitive.
and yeah if something ever breaks its a real pita to troubleshoot.... it just works so smoothly and imo flawlessly when it is running as intended.

neat grotto
neat grotto
south flint
#

anyone know how review comments work in unreal editor? we have swarm up and working, but it doesn't seem to let us leave comments

silver token
south flint
#

It's clear from the engine source that it's possible to review from the unreal editor - the question I have is how to actually enable this

#

There's an "Enable Comments" button that creates a swarm review for a changelist - but I don't see if/how it's possible to leave comments for a CL from within the editor

silver token
#

Wow, that’s a button I’ve completely missed.
Are you sure it’s just not creating a normal swarm review? Not doing something super special for asset changes?
But now I’ve moved companies and the new place doesn’t do swarm reviews. 🤷

south flint
#
void FSwarmCommentsAPI::PostNewUserdataComment(const FReviewTopic& Topic) const

This exists in the engine source, so

#

seems to send an API call to swarm

#

and posts a comment with it

#

so like, the capabilities are clearly here, but for some reason, either they don't show in the UI yet, or I'm missing something

#

according to unreal roadmap this was added in 5.3

wintry breach
#

I'm not a programmer just recently started YouTube course for UE basics and while it's not a part of a course I connected revision control via git so I could try my solutions to tasks and when revert back. My problem is that I forget I also downloaded 10GB pack of trees and they got added to git repository. I dont want such an expensive asset for small project so I switched trees for upscaled grass. But my git folder is sttill 12GB. I tryed reset to initial commit and deleting trees with rm -r then --amend but git folder is still 12GB. Right now I can simply delete repository (I dont have any remote, don't think I need it for learning proj) but I can easily imagine making same mistake in the future and I would like to know how to fix this (get rid of unwanted materials in git repo)

gusty matrix
#

Anyone know why the initialize project with git button does nothing? Like no loading in the corner or anything and when I accept settings it says I need to initialize.

zealous lance
#

just do it from the cl?

quick swift
#

Hey folks 🤙
We decided that we wanna switch from git to Perforce because we tested it yesterday and it worked without any issues (we are completely new to Perforce).
Now i wanna setup a fresh project but there are happening things i simply dont understand 🤔

I have deleted the depot on my Server via p4 obliterate -y //depot/... followed by p4 depot -d depot which worked as intented 👍
Now i have created a new Workspace but i have no idea how do i get my files into the workspace and after that to the server.
I tried to add them directly via explorer per drag and drop which is working but if i try "Mark for add" Perforce only recognizes the .uproject file and tells me in Log window "...- file(s) not in client view."

I tried this the exact way before without any issues and im totally confused now whats happening there....
I cant remember how i did it yesterday because we had no issues yesterday thats why im abit frustrated now tbh 🤦‍♂️

long mural
#

You need a depot pref a streaming depot

#

Make your streams and make sure your workspace has view of that stream

quick swift
#

ive managed to get things working now thx

muted totem
#

Hey there, I recently switched my computer and got this weird issue with perforce. I have the p4 desktop client, and whenever I make changes to any Unreal data like UMG etc, the changes are not recognized when I use reconcile offline work. Only .cpp / .h changes are recognized. In Unreal it is flipped - all object changes are recognized when I use the source control tab, but none of the code changes. It worked properly on my previous computer, therefore I'm really not sure why this is happening.

woven sluice
teal bone
#

Almost sounds like you're working on 2 different copies....

silver token
long mural
#

anyone customized UGS?

#
ApiUrl = http://XXXX
ColumnWidth_CIS=200
ColumnWidth_AUTHOR=250
ColumnWidth_DESCRIPTION=600
ColumnWidth_EDITOR=200
ColumnWidth_Platforms=300
+BadgeGroups=Editor
+BadgeGroups=Platforms
+Columns=(Name="Editor", Badges="Editor", 200, 2)
+Columns=(Name="Platforms", Badges="And,Lin,PS4,PS5,XSX,XB1,Win,IOS,Mac,Swi", 300, 3)```
#

not sure what im doing wrong

#

im trying to customize the width of columns and supply special bages in a custom group

arctic hornet
south flint
#

would give it a shot

long mural
#

still throwing it

#

************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '-1' is not valid for 'index'. (Parameter 'index')
Actual value was -1.

#

tried just simply

#
+BadgeGroups=Platforms
+Columns=(Name="Editor", Badges="Editor", Width=50, DesiredWidth=50)
+Columns=(Name="Platforms", Badges="And,Lin,PS4,PS5,XSX,XB1,Win,IOS,Mac,Swi", Width=50, DesiredWidth=50)```
#

nothing else

#

think its Badges="And,Lin,PS4,PS5,XSX,XB1,Win,IOS,Mac,Swi"

#

maybe the columns needs to be in the same array, i dunno

#

StatusColum.Index is 9

#

but there is only 9 items in the listview SubItems

#

0 - 8

muted totem
arctic hornet
# long mural

if you didn't solve it yet, would you mind sending the content of the Details? as iirc that contains stracktrace which would point us to specific localtion where the execetption is thrown, which would limit the scope one needs to check a lot 🙂

long mural
#

I solved it

thorn halo
#

Hello! I anyone using the git plugin for Unreal and have any notes if it works well or not? I am considering to use it since I want to push my collections, and to be able to do that I have to enable this.

dim jackal
#

I haven't checked it for a while, but at the moment of UE5.4.3 is there still no auto-merging of blueprints for some simple cases like 2 different variables were modified in the same blueprint?

long hull
hoary wren
#

Are there any hosted Perforce providers y'all would recommend for those who don't want to invest in running their own Perforce server? Any that you've personally been satisfied with?

woven sluice
#

i bet there are only a couple people here who have used either of these so you're probably not going to get any active feedback

hoary wren
woven sluice
#

i guess so. their licensing for indies is absolute shit, so i'd imagine most indies want the cheapest path possible... larger companies have the capabilities to roll their own setup... very little middle ground market for attractive hosted options

hoary wren
# woven sluice i guess so. their licensing for indies is absolute shit, so i'd imagine most ind...

Roger that. Being somewhat familiar with Github and how easy it is to throw something up in the cloud, this was interesting to learn more about. We're currently on Helix Core Cloud, but they're fairly early in their dev cycle and it's still somewhat bare bones. E.g. deleting a stream requires filing a ticket with support.

I wouldn't mind using git under the hood in theory, but I've been advised a few times already that it's a bit of a wild west.

woven sluice
#

holy fuck lol

#

that sounds abhorable (support ticket to do something to a stream)

hoary wren
#

It felt on the less permissive side for sure.

Yes, Helix Core Cloud instances currently block the 'p4 prune' command. If you can tell us the specific commands you'd like to run to prune the required streams I can make a request of or devops team to do it for you during a maintenance window on the server.

arctic hornet
#

(i.e. if you prune something you did not want to by mistake, they have to restore from backups etc... which is harder and more time consuming than running it by themself - albeit inconvenient for you)

pulsar parcel
#

there's a managed cloud service? I thought it was just an addon in azure

cyan jay
#

Interesting.. cost wise it's only slightly more expensive per user than our last renewal offer. I'd definitely consider Helix Cloud for a future project.

#

I guess as an Indie you miss out on the free for upto 5 users to get you started.

teal bone
#

I hate the perforce licence fee.

cyan jay
#

The jump from free at 5 users to having to pay 6x licenses as soon as you need a 6th is quite painful. But the cost is tiny compared to developer wages. And once it's setup it's absolutely rock solid.

#

That's why having $39 a month per user for Helix Cloud is quite appealing. It's just part of the monthly cost of taking someone on.

pulsar parcel
#

free-6x is a bit annoying though, if only the first 5 free was perpetually part of it

#

but perforce knows they have this industry by the balls so they can have suboptimal licensing

#

with Helix Cloud, do you have easy access to your own data?

arctic hornet
#

haven't used it personally, but by the virtue of it being version control, you have access to what you upload...

#

it's just a managed service where you don't have access to the underlying os and helix technicians take care of that themself from what I understand

pulsar parcel
#

yeah but with it being centralised, do you for instance have access to your backups so you can make offline copies of them?

#

and say I install helix core to my own VPS to enjoy 5 free users, is there a migration path to the cloud version once I grow beyond that?

arctic hornet
#

that's a good question to which I don't know the answer to sadly

karmic citrus
#

Anybody having issues switching accounts on Plastic SCM? I have multiple accounts and recently I'm not able to switch accounts to set up a new workspace. It just asks me to sign in over and over again.

woven sluice
cyan jay
#

true, but personally I can't remember the last time I deleted a stream 😄

south flint
#

buy a server, run p4d, optionally set up some kind of backup system, done

valid vine
#

how do you guys like to diff files for perforce? p4 diff2 seems to give me a lot of useless junk

hoary wren
# south flint it's not really difficult enough to host a server to warrant the price increase ...

I sadly didn't have an amazing time trying to self-host on AWS earlier this year using their https://www.perforce.com/products/helix-core/install-enhanced-studio-pack-aws#define template. The version they offer there is from 2022 and even their support was surprised by how out of date the bits they gave us were. I wish I had more time to DIY but we just need a turnkey option given the limited bandwidth, womp.

south flint
#

you don't need a turnkey if it takes no more than 20 minutes to set up a server lol

#

this is why the options don't exist

#

it is quite literally, spin up VPS, sudo dnf install p4d (or whatever it is exactly), and then you create and start a server

hoary wren
#

I empathize with the ease of getting it up and running, I'm more worried about the long term maintenance cost of having to resize the instance, the disk, patching, backing up, making sure all of the security is in place so that I didn't accidentally let the Internet download all of our assets, etc.

south flint
#

i don't think i spend over an hour a month on any of that

#

security for p4d is just setting up HAS with whatever SSO provider you have

#

resizing a disk is 4 linux commands, patching can be a crontab

zealous lance
#

Yeah, I have 1tb of storage with automatic backups and a VPS for like 28AUD a month

#

I don't spend much time if any in the terminal ssh'd in after setting it up

#

You don't really need to, nothing to do peeposhrug

zealous lance
valid vine
woven sluice
#

I probably spent like 80 hours learning enough to navigate l00nix and manage our server... And that part really sucks. But after that, same, it's hands off aside from an hour here and there a few times in the year

valid vine
valid vine
south flint
#

you don't really need to know much linux just to manage p4d, but if you plan on doing more like HAS, Swarm, etc. I would recommend it

woven sluice
#

It's the rare stupid edge cases you run into as a newb that eat up those hours... Like when you accidentally overrun your disk space and have to figure out how to expand disks for the first time just to unlock the stupid server after wasting time deciding that there's no way to just free up enough space to fix the problem without expanding the disks lol

deep cove
#

is gitkraken free after the triall thing i cant tell ive seen different answers in different places

woven sluice
#

you'd have to read the license terms to be sure but i think maybe free for noncommercial usage, but with some additional restrictions like no private github repos

#

actually maybe the commercial use thing is old

#

maybe now just limited to single-user use (no multi-user corporations) and no private repositories on common hosting platforms

south flint
#

I'd say the first time I had to learn that, I spent more time figuring it out than I did maintaining P4 for a whole year

#

although, it took several days because it turns out I was using an encrypted partition, which needed extra steps. that no online guide mentioned. 🙃

tame current
#

Are there perhaps any recommended reading resources (or videos?) regarding setting up source control for a small sized team working on an unreal cinematic? I am mostly familiar with working with git through github so that's what I lean to (of course I understand we'll need to pay for LFS), but as I'm not familiar with cinematic workflows (or in fact with working with a team) I'd like to avoid potential costly pitfalls. I'm trying to think of 'things that could wrong' with a standard git repo setup, I'm thinking that generally as long as I enable the 'one actor per file' option and assuming there's some discipline with designers each working on their own environment things should actually be simpler than they are in a game setup. I also wonder what's the recommended level of 'modularity' here, does it make sense to create a different repo for each "scene/shot"? or perhaps unless each scene is massive there are benefits in keeping everything in the same project?

zealous lance
# tame current Are there perhaps any recommended reading resources (or videos?) regarding setti...

How big is the team? If its something like a cinematic project that means lots of editor work and binary assets, I would personally prefer a different solution that handles checkout and locking of binary assets, thats gits weakest part.

If your team is below 5 members I believe its free and you'd only need to pay for for the server and storage, which can be pretty cheap these days depending on who you go with, but I am a little bias because perforce is just so much better imo for unreal, git would work though you would just need to communicate about whos working on what a lot more clearly

hybrid stream
#

Hey guys im new to this whole Perforce source control. A friend of mine and I are having troubles connecting us on a Server together.
After running the troubleshooting process from Perforce it told us that it's most likely a firewall issue. Since error Message check $P4PORT keeps popping up.
When trying to connect it also gives us the error showing in the picture. (its in german, hope its fine)
Now we are unsure how to fix this issue any help would be appreciated.

arctic hornet
#

Well, WSATIMEDOUT is an error which means that the connection has timed out while trying to connect... make sure that the IP address you're putting in is publicly accessible, you have all the portforwarding set up correctly and also you have port 1666 enabled through the firewalls etc.

hybrid stream
#

thanks for the quick response, so opening my ip adress for others would be in windows firewall - advanced settings - inbound rules - new rule and then putting 1666 in that box, shown in the picture?
sry for the mess but i have no clue about the safety of it so thats why i like to double check x)

arctic hornet
#

well, you need to enable it on the server that's hosting your perforce

#

and at that case it would be outgoing rule

#

but indeed tcp 1666

hybrid stream
#

so the pc of my friend would be in that case the "server hosting" so he needs to enable it is that correct?

ocean anvil
ocean anvil
hybrid stream
#

ok thanks for all your help. just one last question there is no other option to work with perforce other then enabling this port and with that creating a loophole for potentionl bad actors?

woven sluice
#

if you want to you can transfer security liability onto a VPN system like ZeroTier, so that you don't have to expose your perforce server to the internet. just based on track records i think perforce is pretty safe to expose, but who knows

hybrid stream
#

oki thx 🙂

ornate summit
#

My team is working in a level and pushing to Master Branch, can i edit the LEVEL BLUEPRINT at the same time? or will there be merge conflicts?

long mural
#

how can i make swarm reject code changes without a review, but allow content to continue?#

long mural
#

so you have to take either yours or theirs

ornate summit
long mural
#

yes

ornate summit
#

://

long mural
#

we actually have a strict rule

#

we never use level blueprints 😛

#

no need for them

ornate summit
# long mural we never use level blueprints 😛

I am using them as follows. I created a mini map texture-based, and my game will have multiple levels, each level will be responsible for informing the UI which texture should be used on the mini map

long mural
#

yeah you dont need level blueprint for that

#

anyway not the scope of this channel 😛

arctic hornet
#

or it might potentially require use of push-content trigger (see next page in the documentation) as that one has access to more data like files etc... though I presume push-commit should be enough for just reading file names

pulsar parcel
willow coral
#

├─ Engine/
│ ├─ …
├─ Projects/
│ ├─ ProjectA/
│ │ ├─ ProjectA.uproject
│ │ ├─ …
│ ├─ ProjectB/
│ │ ├─ ProjectB.uproject
│ │ ├─ …

Hey devs, I'm trying to set up a perforce depot for engine source and projects. I'm wondering is there a way to set up a workspace that use the same engine but have 2 different projects in the local file while having to avoid 2 big source engine in the local files? I can think of settting up the both workspace but using the same directory however i think this is a bad idea as we might face some issue with workspace conflicts. I'm still a beginner to learn perforce workflow and I tried googling but couldn't find the result i'm expecting

arctic hornet
#

You usually do:

|- Engine
|- ProjectA
 |- ProjectA.uproject
|- ProjectB
 |- ProjectB.uproject
#

and since projects are in separate folders you won't have any collisions

#

and then you can have one big workspace that syncs the engine and both projects, and it will work fine

willow coral
arctic hornet
#

you could do that, but it's really inconvenient to do this client-side

#

it would be better to use stream mappings and map both project depots to one big stream containing engine and both project

#

i.e.
//MyGameEngine/Main - contains Engine folder
//MyProjectA/Main - contains ProjectA
//MyProjectB/Main - contains ProjectB

you then map the //MyProjectA/Main/... to /MyGameEngine/Main/ProjectA/...
and same for the project B

#

when you sync "//MyGameEngine/Main" you will also get both projects

#

if that makes sense

#

and then you can have one workspace locally that contains the engine and both projects

willow coral
arctic hornet
#

yes

willow coral
#

ahh right i kinda get it know trying to process the info 😅

#

would that mean everyone will be working in the engine depot if i set the mapping to the engine depot's streams?

arctic hornet
#

you'd be syncing to the engine depot, but stream mapping stores relevant stuff in the mapped streams

#

it's a convolutely and unintuitive thing, but there's not many seamless ways of using same engine with two projects... (well, one local copy of the engine)

#

because if you just want to use shared engine and don't care about having it twice on your computer, you could reverse it... and map engine to your project stream

#

that way any engine changes are shared, but your projects are separated and users push to the //MyProjectX/Main

hoary wren
arctic hornet
#

I personally wouldn't use them as they're super new and some people I helped had issue while trying to use them... but otherwise they're great if you're making a lot of streams where you'll just modify a file or two and then merge back to another stream

hoary wren
#

They sound somewhat similar to git branches in terms of lightweightness, if I'm reading it correctly?

pulsar parcel
#

task streams were already a thing and they confused a lot of tools

#

include unreal's source control integration

arctic hornet
#

sparse streams are new thing and are more compatible

#

but still not perfect

#

especially as they're brand new thing since like version or two ago

arctic hornet
#

from what I've heard though it tends to cause a lot of "branch" spam as perforce creates new changelist for each branched file where it does the branching operation

#

but that's only something I've heard, not tested personally

hollow pumice
#

What is the simplest vc to use? I just need a local backup incase I break my project. I have been using Perforce but it seems like it is overkill and slower to save.(like 10-20 sec) Got so slow I bailed on using it and just duplicate project folder every few days/weeks

wide raven
hollow pumice
#

yes , as I remember , it would check all files

#

but pv4 is the one to use ?

wide raven
# hollow pumice but pv4 is the one to use ?

I don't think the choice of version control is the issue here, perforce is pretty much industry standard
git is a pain
svn is old but might work
plastic is something i haven't tried with unreal

hollow pumice
#

alrighty , thanks
I'll set it back up and come back here if i have issues

zealous hull
#

Hi all, I’m hoping to get some clarity on a few things related to Perforce.

Here’s my situation -
I wanted to move some files around within my unreal project (perforce source control enabled, perforce server on local NAS). I know moving anything in Unreal is a death sentence but I wanted to give it a try all the same 🤦. I made a commit to perforce before I moved anything so I’m covered. Lo and behold moving a few things (and attempting to fix up redirectors) resulted in immediate crashes and chunks of assets going missing from maps, aka completely broken project.
I’ve selected the content folder and chosen ‘revert’ from the source control menu and the process has been going for a few hours.

Now I presume one of two things will happen

  1. In a few hours it’ll pop back up and everything will be back as it was (I wish)
    Or
  2. Perforce will just revert a random set of files it thinks are worth reverting and / or not delete my moved files so I end up with duplicates. Aka completely broken project

As it’s clearly going to be number 2. What is the correct route to just deleting the local version and cloning the server version to my local machine.

Any help appreciated.

teal bone
#

I never do just revert, I add things to a cl using reconcile and then revert them from there. Probably a terrible workflow, but it works. At least you know what perforce is going to be doing.

zealous hull
teal bone
#

Yes.

#

I never use p4 from the editor.

#

I don't work very much on assets, though.

#

Even better, the p4 command line is a lot quicker than the gui. Or it used to be.

zealous hull
#

It’s amazing how using this app is like deciphering religious texts. No one person has the same interpretation or know whether their interpretation is correct.

teal bone
#

I'm definitely an outlier. I do code plugins, so my asset interaction is limited.

zealous hull
#

I’m not a software expert but I would have thought there would be a revert button somewhere within a piece of software that’s designed to revert files

#

Especially after so many years of development

teal bone
#

There is a command for it. 🙂

#

But you could close UE and try the p4v client.

wide raven
teal bone
#

UE will probably be reverting each file one by one and updating things and adding redirectors as it goes. A slow process. If you just want thr state before you changed things, use p4v.

wide raven
#

Regardless, recovery is possible without any fear

zealous hull
wide raven
#

My steps, will take a moment to write

zealous hull
zealous hull
wide raven
#

When I have done something I don't like and want to get back to clean repo state:

  • I close unreal
  • I check p4v for pending changes, and revert those
  • If necessary I delete Intermediate and Binaries ( usually not a must, but might be )
  • open unreal
  • everything should be fine

1/2

#

Sometimes one might need to "Reconcile offline changes" to find weird stuff, but that is very very rare.

Reconcile just gives you a list of local changes.
It takes a long time, so best to do it on select folders as needed.

Usually it just finds some obsolete files hanging about that have been left behind by naughty devs

2/2

#

Bonus : If I want to roll back changes that have gone into the repo with a commit, there is option in p4v to "Undo Changes" which creates a new commit with the changes rolled back

#

Part 1 depends on you having let unreal check out all the changes you were making while renaming

#

I could write another brief on renaming best practices : )

zealous hull
#

Is there not a way to do that without becoming entangled in commits / reconciles / etc ?

wide raven
wide raven
#

that will start you off totally clean for sure

zealous hull
#

Because I’m not a confident user of perforce I’m worried that I’ll accidentally commit my local version then getting the latest ‘good’ version will become harder

wide raven
zealous hull
zealous hull
wide raven
#

I also strongly recommend people immediately name their "default" changelist to something intelligent to keep things nice and tidy

wide raven
zealous hull
#

At this level yes. Obviously I’ve used plenty of consumer level backup apps before.

wide raven
#

P4V is a bit tricky but you should get used to the basics pretty quick once you get the hang of the usual steps of the dance

#

Basically

  • Always allow Unreal to Checkout stuff as you edit and save. In fact any time you start editing something, immediately save it so it prompts the checkout.
  • now looking in p4v with Refresh as needed, you see the changes adding into the default changelist
  • when you are happy, commit if you are solo dev or review as needed in a team
zealous hull
wide raven
#

Well, if you are happy in the editor that's fine, but problems can arise from time to time which are better solved via p4/p4v

#

Which is why I personally prefer to just learn and use the p4v as the primary tool

zealous hull
wide raven
#

This is your main view: Depot/Workspace should be Workspace, and the Pending tab

#

sorry, meant you should always pretty much be viewing the Workspace

#

a sample checkout in the default changelist

zealous hull
wide raven
#

Plugins, etc

#

stay synced, good luck : )

zealous hull
# wide raven a sample checkout in the default changelist

Gotcha yes, thanks for the help.

I’m familiar with the general structure of the client. I just get stuck when it comes to knowing what exactly how to commit / pull.

There’s several different ways they seem to have to push and pull files.

wide raven
#

Push = Submit Changelists
Pull = Get Latest of the whole project

zealous hull
#

Also, the client does not seem to want to let go of old changelists that have not been committed.

Occasionally I’ll ask it to reconcile, and it’ll make a change list, then, for whatever reason, I decide that I don’t want to commit that list it just hangs around in the pending area and I can’t delete it

wide raven
zealous hull
zealous hull
wide raven
#

Bonus : using Shelve is very handy if you want to work from different locations but not commit something

#

or you want to "stash" something out of the way and not have it interfere

zealous hull
#

Just right click ‘delete changelog’ (or something) and the boop, you’re all clear, but you have to go through these hoops of commiting / shelving etc

#

It’s so tangled

wide raven
#

It becomes very natural in time, don't be discouraged.

Keep changes small and clear, that helps.

You make change X, it works, commit it.

I try to encourage people to feel like things could be better done in more controlled pieces if more than 10 files change in a commit

#

Optimally changes are just a couple of touched files, with a nice clear commit with keywords like
FIX: bug x
ADD: asset y
CHANGE: behavior z
etc

zealous hull
#

Day to day thats fine, but obviously at some point someone is going to want to move some folders around and then p4v throws a fit

zealous hull
wide raven
#

We should really pin a thread on renaming sometime

#

Renaming/Moving Stuff In Unreal Without messing up Version Control

  • Always Rename/Move Files and Folders in Unreal ( not File Explorer )
  • Try to keep changes small chunks, less than say 100 changes
  • Immediately Fix Up Redirectors ( they will prompt more checkouts of each other file which has ref to the renamed file )
  • Always run the game before committing
  • Always save and close the editor before committing
  • Always open and run the game once more before committing
  • Never Ever just change a single letter case like "MyFileforgotcaps" to "MyFileForgotCaps" - use intermediate "MyFileForgotCaps-temp", commit that, then "MyFileForgotCaps", commit that
  • DataTables require special care
#

DataTables had some special handling as well, but there's a way with those as well...

#

anyhow.

#

Stick to it, you will grok it as you use it more and more. The worth is so big if something goes wrong. And just knowing you can always roll back makes messing with stuff more confident

#

When you are familiar with version control, you never have to fear to touch stuff "what if this breaks?" - "No wucking furries, just revert"

wide raven
#

thanks

zealous hull
#

I can see all the remote files in the depot. p4v seems to think there's no difference between all the files and no files

wide raven
long mural
#

you may have to force sync

zealous hull
long mural
#

right click the top folder in your work space

#

Get Revision

#

and tick Force sync

wide raven
#

Forcing it:
Right Click the root folder
Get Revision
check "Force Operation"

#

ah yes there you have it

#

that is a quirk i have also noticed now and then, having to Force something. it can be annoying but pretty rare

zealous hull
wide raven
#

One more note just in case : Unreal should always be closed when doing stuff with P4V

zealous hull
wide raven
#

It will just hang on operations like Get Latest otherwise since editor has file locks on a lot of things

zealous hull
#

Files and folders are indeed appearing where they should be!

wide raven
#

back in business, you oughta be : )

#

cheerio

zealous hull
#

🤞

#

shaders recompiling

#

well, project has opened, but the folders I moved before are now empty 😦

#

ok, copied the folders over from another manual backup and things are looking better. Three broken blueprints - shouldn't be too tough to fix, let's see

#

I think I'll wrestle with this for a bit, thanks all!

#

ok, project seems stable and everything back where it was! Thanks again for all the help!

#

@wide raven @long mural What's now the best way for me to make a full checkpoint of everything? As in force the backup of all files? I suppose I should push to the stable branch too (I'm working in dev).

willow coral
wide raven
# zealous hull <@127136722419974144> <@341285849301909506> What's now the best way for me to ma...

Well, the fact that you had some stuff broken still after the full Nuke and forced Get Latest is a bit odd, but still, you can proceed thus:

  1. check for 'unintended' changes
  • do Reconcile Offline Work on the Content folder
  • see if there are local changes that for some reason now are different from repository
  • Add and/or Checkout the files as needed and submit them
  1. check for 'intended' changes
  • what does your Pending default CL look like?
  • any changes there likely need to go into repo as well
zealous hull
wide raven
# zealous hull 🤞

wow, 10k files...
I assume you are submitting a working state of the project : )

zealous hull
wide raven
zealous hull
# wide raven Well, this sort of big submit is very unusual, I'm not sure what you mean by doi...

I realise most dev work is just adding / changing a few files day. But what about if I'm adding / changing large amounts of files from assets packs?

For example, this week I've bought several soundfx packs and then edited them outside the editor. This is pretty common for me to do. The editor doesn't know I've added these files to the project, nor does it know about the edits done outside.

Is there a better way for me to reconcile these files without doing a 'reconcile offline work'?

wide raven
wide raven
#

Excellent : )

zealous hull
#

But that wasn't my question

#

how should I make sure the asset files I bring in are properly backed up?

wide raven
#

Is there a better way for me to reconcile these files without doing a 'reconcile offline work'?
If you know what you need to add, right click the folder / files and "Add"

#

Reconcile is kind of a cleanup search for stuff you have forgotten about / failed to add / remove / checkout properly

zealous hull
wide raven
#

I do it maybe twice a year just to clean up cruft

zealous hull
#

k, think it actually worked. I think it's the first time I've seen p4v actually backup something and restore something (albeit broken and missing most things) and it only took 20 hours and staying up until 3am to wade through hundreds of messages on Discord.
Industry standard 👍

#

I think there's definately room for a p4v 'lite' that just sets up a basic server for you and then just has a few buttons - eg. 'Backup all changes', 'backup changes to this' and 'restore all' / 'restore this'.
All the other numerous ways to do the same thing - 'diff' / 'reconcile' / 'undo' / 'resolve' / 'get' / 'submit' / etc etc should be under the hood if needed.

My guess is that it's a tool that's been gradually evolved by server admins, not designed with dummies like me in mind. A dummy-proof version would be great.

arctic hornet
#

the issue with reconcile is that it has to take into account permutation of all files for the first time

#

i.e. it has to check every file with every file to detect moves etc...

#

once you start using perforce fully and keep the files locked/unmodified it speeds up the reconcile a lot by checking the locked flag and modification date

zealous hull
arctic hornet
#
  • you ideally also need relatively beefy server to take full advantage of performance. I personally can upload whole unreal engine version from scratch in about 11 minutes because of all the tuning I've done to our perforce server... and reconciles take about 5 minutes when ran across whole stream
#

and parallel uploads help a lot too, but the more parallel you make that stuff the beefier server you need

#

I've got 48 core cpu in our perforce server and I can fully saturate it when jamming about 4-5gbps of traffic to it at once

wide raven
#

I have pondered a few years back whether it would be worth making a GitForDummies client, but didn't feel inspired enough to do it

zealous hull
#

(actually looks possible, though a bit convoluted)

ocean anvil
zealous hull
pulsar parcel
wide raven
#

Sooo... a couple of files are stuck in git ( on MacOS ), I can't discard changes

On branch x
Your branch is behind 'origin/x' by 18 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   BuildUAT.bat
    modified:   BuildUBT.bat

no changes added to commit (use "git add" and/or "git commit -a")
macstudio@Autobuilders-Mac-Studio BatchFiles % git restore BuildUBT.bat
macstudio@Autobuilders-Mac-Studio BatchFiles % git restore BuildUAT.bat
macstudio@Autobuilders-Mac-Studio BatchFiles % git status
On branch x
Your branch is behind 'origin/x' by 18 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   BuildUAT.bat
    modified:   BuildUBT.bat
#

Looking around, some seem to say this is because of lf/crlf line endings, but I don't quite see. They seem to be crlf in both original and changed

#

hmmm

BuildUAT.bat: DOS batch file text, ASCII text, with CRLF, CR line terminators```
wide raven
#

.gitattributes should be forcing them to remain stable

# batch files require a CR/LF for labels to work properly, otherwise they may fail when labels straddle 512-byte
# block boundaries.  This is important when files are downloaded through a zip archive that was authored on a
# Linux machine (the default behavior on GitHub)

*.bat eol=crlf
*.sh eol=lf```
#

tried converting them back and forth with dos2unix and unix2dos, still stuck... fooo

wide raven
#

dagnabbit just let me revert it, wtf

wide raven
#

ehh i gave up, nuked that attempt and started anew

boreal shore
#

Hi! Has anyone got the Diff against workspace tool to work in the Revision control for Git?

#

I want to diff against an older commit but i only get this error.

#

Right click a file and select Revision Control > History, then Right click a commit and select Diff against workspace file.

#

Im using UE 5.3

arctic hornet
#

If I had to guess it would be the fact that it can't fetch the file containing older revision from LFS... but I've not used lfs and git with unreal ever, so not sure honestly

#

(I.e. sounds like limitation of the git integration or git itself, unless git can separately get you older revision and store it in separate file - as that's how this works, it downloads older revision to Saved folder and then runs diff on it)

bright parcel
#

what file are you trying to use this on?

boreal shore
#

We are not using LFS in the project. Just FYI, the Blueprint Diff works when I Right click a file and select Revision Control > Diff against Depot. In other words, It works when doing a blueprint diff against the local changes.

boreal shore
bright parcel
#

and you're diffing from within the blueprint or did you right click the class?

boreal shore
#

I right clicked the file in the Content drawer

bright parcel
#

i don't think that's possible

#

you should use the diff tool in the open blueprint

boreal shore
#

Where can I find it?

bright parcel
#

nvm that should be the same thing

#

do you have your revision control connected? so it shows up in the bottom right

boreal shore
#

Yep, it's connected and set up using Git

bright parcel
#

here in the blueprint menu you usually have this diff button

#

in the top left toolbar

boreal shore
#

Oh that's interesting

#

Oh nvm

bright parcel
#

yeah weird

boreal shore
#

It was from me testing things earlier

#

Hold on

#

Yep, it seems like I can select it now.

#

Let me just verify if it works on a different branch

#

Thanks Nonamed46!

It seems like I can access a lot more from this menu. It's strange that it gets that weird error when trying to do the same thing through the Revision Control > History. But it seems to work when I use the Diff dropdown inside the blueprint 🙌

bright parcel
#

alright! glad i could help

boreal shore
#

Btw, is there any way to get it to display the commit message instead of the "Revision X" message?

#

I noticed I can hover it to get more information, but it would be nice to have it display the message right in the revisions dropdown.

bright parcel
#

not that i know of sadly

boreal shore
#

Then I'll try to do some research. Thanks though!

boreal shore
# boreal shore I want to diff against an older commit but i only get this error.

It seems like the built-in Git plugin is outdated. I found the updated and improved version (where the original author has contributed to). I tested the feature that I described above and it seems like it works in this version. No more errors 🎉 yay
https://github.com/ProjectBorealis/UEGitPlugin

GitHub

Unreal Engine Git Source Control Plugin (refactored) - ProjectBorealis/UEGitPlugin

teal bone
#

Ah. Clean was the p4 command I was trying to think of the other day!

#

clean -ad is ❤️

strong sigil
teal bone
#

It's just -a -d

#

It removes files not in the repo and restores deleted files that are in the repo.

#

So I tend to do clean -ad and then update

#

To "refresh" my repo from time to time.

timber thorn
#

Hey guys, me and my team are using perforce, and we're working intensively on our map, but when we push and pull external actors folder still keeps old actors or assets, pls help xD

pulsar parcel
#

are you using the p4 integration in the editor?

final hollow
#

I'm using git , is there a more effective way to use git with ue5 or is perforce the main tool here

wide raven
#

perforce is definitely what epic uses so all the tools are best maintained for that

#

that said i hardly use the inbuilt version control tooling any more, for anything except checkouts really

woven sluice
long mural
ocean anvil
#

you should add the minimal version to this message, considering it was pinned. especially with some of the security risks in last years version.

arctic hornet
#

for sure, I always forget to add it (even to my personal notes 😄 )

#

would you mind sending it again

ocean anvil
#

if you go to your post i pasted it like 3 messages below 😄

#

5*

arctic hornet
#

k

#

any specific version I should set there?

#

kinda thinking of putting 2024.1 there since the configuration is applicable mostly to new users only

#

and they'll install latest version anyways

ocean anvil
#

pretty much, and the 2023 versions have a nasty security flaw

arctic hornet
#

I should probably upgrade my servers then aniblobsweat

#

added

arctic hornet
#

aniblobsweat yeah, that looks nasty, luckily it's "only" DoS rather than data exfiltration or some form of remote access

#

although, nevermind, the first one is priviledge escalation

#

but still, without an account there's nothing to escalate

#

(obviously not taking this lightly by any means, just saying luckily I don't have to go and upgrade asap, as it can wait until tonight at least)

ocean anvil
#

yeah was about to say, theyre all just.... a bit of an "oof" moment for perforce imo. especially considering there have basically been next to no exploits found in prior versions of p4

#

the exploitability is low, but befinitely worth updating for.

arctic hornet
#

I mean, there's some fun stuff to be found that I've reported, not security issue in a sense where you can target others, but still fun stuff

#

it's related to the licenses themself and that's where I'll keep it because NDAs and stuff

ocean anvil
#

oh yeah its got bugs a plenty, but thats not a security risk

ocean anvil
arctic hornet
#

yeah... it's not cheap

ocean anvil
#

yeahhh though tbf, its unlikely that i'll need more than even 1 user any time soon xD

arctic hornet
#

our biggest limit was the workspaces

#

especially when we switch to horde and stuff

ocean anvil
#

really? u can re-use workspaces across streams etc. tho

#

i've never needed more than 1 workspace per depot so far

arctic hornet
#

yes, but horde is opinionated about a lot of stuff

#

robomerge for example creates it's own for each branch spec and persistence... so if you have two "bots" it is at least 4 workspaces - and that is bare minimum as that means one stream per bot... which is pointless for robomerge

#

and... horde is like 🙂

ocean anvil
#

hm interesting, i havent used horde and have no real use for it for now. but i do want to play around with it in the future just for the heck of it 😄

arctic hornet
#

that's for 4 machines

arctic hornet
#

though some of them are deprecated so I could easily remove those etc...

#

but in general horde has 1 workspace per one stream and machine at least

#

and the archive one is... well... for pushing precompiled binaries to perforce (which can be mitigated by using newer horde... but I'm still running relatively old build at this point in time)

#

etc...

#

TL;DR: once you start automation an CI it gets really out of hand

long mural
#

its the workspace limit

#

5 users is ok for a 2-3 people

#

but 20 workspaces eek

#

its funny cause you get 5 users free

#

but to get more workspces you have to pay for 5 users

ocean anvil
#

i have 2 users, 1 for admin and 1 for my actual user account. but i've never needed more workspaces than i have depots so far.

long mural
#

yeah but your not in a small team

#

with some build ci stuff lol

ocean anvil
#

though i can imagine that can easily become a limitation

long mural
#

we only have 5 users

#

but 20 workspaces is a proper hard limit

ocean anvil
#

that sucks. and tbh the workspaces have always seemed to me as such an arbitrary limit.

long mural
#

well its to migitage 5 users "sharing" accounts i assume

#

🤷

ocean anvil
#

though i guess its probably to stop people from just using 1 user account across multiple people and all having their own workspaces

#

yup

long mural
#

though sharing accounts is a bit dumb

#

cause its hard to keep track of who is who in source control

arctic hornet
#

yeah, it's because of that... but the thing is, there's no in-between step between the "free" and "full ham"

#

so it's unreachable for indies who don't have budget to burn

long mural
#

i always think they would earn a bit more money from just licening without the support

ocean anvil
#

the big oof for me was that if you go beyond the 5 user/20workspace limit you have to instantly pay for 6 licences instead of 1, which is just rediculous

long mural
#

cause i dont fking what perforce support

ocean anvil
#

same xD

long mural
#

no you can get a 1 user license

#

with unlimited workspaces, $42 a month

ocean anvil
#

as far as i'm aware you cant, you have to pay for the full amount of licences, including the 5 previously free ones

long mural
#

and i have heard they can sometime apply a discount

#

not that im aware off

#

i know a team that has 4 licence

#

4 user licence

ocean anvil
#

well yeah but then u only have access to 4 users.

long mural
#

yeah but you get unlimited workspaces

#

we use one user for all our build stuff and horde

ocean anvil
#

so say you have 3 user accounts, but run out of workspaces you have to pay for 3 licences instead of your previous 0 just to get unlimited workspaces which you could also get from 1 license. if you have 5 users u instantly pay 5 licenses.

#

its just odd to me the free licences are not included in the paid plans i guess is what i'm trying to say

pulsar parcel
#

though if you have a license then you can actually get up to 3 automation users that don't contribute towards the total

long mural
#

yes

#

i know 😛

#

its the way the pay per seat model works 😦

#

how?

#

Service users?

pulsar parcel
#

yes but it's annoyingly manual

ocean anvil
#

you have to reach out to them iirc and they set it up on ur license

pulsar parcel
#

since you have to import a new license file

long mural
#

oh right

#

cause that would be quite nice

pulsar parcel
#

you can just email your account manager and ask for it

#

then your build bot or whatever doesn't count

long mural
#

what accounts as automation users

#

Horde, Robomerge, Swarm?

pulsar parcel
#

basically anything that isn't a human interacting with p4

#

I used it at a previous studio for jenkins, robomerge, and swarm

long mural
#

right

#

i know our company is looking to move perforce, thats why im setting up this proof of concept for them

#

with the new project, showing all the features available

#

but yeah its about $10 more per user a month for perforce

#

4K for perforce licenses compares to the 2.8K tthey are paying now, so i need to prove to them its better lol

#

1.2k extra a year but if it boosts productivity its good

pulsar parcel
#

compared to what at the moment? on-prem git?

long mural
#

no plasticscm

pulsar parcel
#

yikes

long mural
#

we havent had much issues with it tbh

pulsar parcel
#

I hated that shit so bad when we tried it a few years ago

long mural
#

but its getting limiting

#

we dont use it to its "proper" intended ways

#

it doesnt work well with unreal like that

pulsar parcel
#

if you're definitely used to working more trunk style, perforce is going to sit very nicely

long mural
#

like "everything" should be a task and the tasks flow to main doesnt work

#

we just push straight to main

pulsar parcel
#

so yeah

long mural
#

problem is, the plastic software is much more usefriendly

#

than perforce (and more modern looking)

pulsar parcel
#

though unless you're a coder you don't actually need to interact with p4v

long mural
#

i mean artists will need to submit someitmes manually (if for instance they loose internet connectivity and may have to reconcile)

#

i really want Unreal Submit Tool 😛

#

ofc hopefully easily customizable to remove jira, etc

#

that is slate right?

pulsar parcel
#

yeah that looks like a standalone program

long mural
#

but it uses slate and some unreal engine stuff

#

cause look at the logs and stuff

#

LogSubmittool

pulsar parcel
#

yes, you can make standalone programs that use parts of unreal engine including slate

long mural
#

interesting

pulsar parcel
long mural
#

maybe livecoding window is a good basis

#

its very simiple

arctic hornet
# long mural i really want Unreal Submit Tool 😛

I wrote my own submit tool, it has everything except for the preflight testing, as we mostly needed an interface to easily ping other users and attach jira issues without users manually typing that stuff

long mural
#

using slate or c

#

c#

arctic hornet
#

TL;DR: Submit tool (the one you've shown on the image) is... standalone slate application (C++) similar to other slate based tools

#

iirc epic mandates presense of #submittool and without that commit can't be submitted and they internally mandate use of submit tool as much as possible etc.. (you've probably heard in the presentation)

#

The UI itself is really easy to write in slate, the more complex stuff is all the interaction with horde, jira etc...

#

from what I understand Jira ticket gives you a window where you can select one or more jira tickets that the stuff you're submitting is related to, users and groups seems to use perforce user and group lookup (as far as I understand, haven't gotten any specific info about it, since... well... no programmer that worked on the tool was in Prague)

#

and the rest is some horde related black magic that is using the C++ horde api and other stuff like that

long mural
#

yh

tranquil tiger
#

Hi! I have a bit of a pain. I am using perforce for a project and we are using the recommended OFPA system, but generally there are some issues with certain files in the external_actors folder. For example say a whitebox wall stays behind, even if it has been replaced by a production asset. Is there some kind of trick in the build-in editor changelist verification tool that can mitigate this?

arctic hornet
#

well, unreal sometimes doesn't save everything properly, so it's less of a perforce issue rather than unreal being stubborn aniblobsweat

#

so, one thing we've done usually is: A) make sure you have saved everything - ctrl + shift + s (save all) as sometimes ctrl + s doesn't save everything... B) make sure you submitted all and C) if you don't have stuff locally but others do, run reconcile offline work on the external actors folder (ideally only one of the subfolders to limit the scope)

#

as TL;DR: the external actor file itself doesn't get removed properly by unreal and thus is never removed in perforce because it's still on your computer... which causes it to stay there

tranquil tiger
#

Yeah the save all seems to not work always with external_actors folder, but i'll give the reconcile offline work thing a try. Thanks!

long mural
#
Some file(s) could not be transferred from client.
Some file(s) could not be transferred from client.
Some file(s) could not be transferred from client.
Some file(s) could not be transferred from client.
Transfer of librarian file '//UE5/Epic-Pristine/Engine/Source/ThirdParty/nvTextureTools/nvTextureTools-2.0.6/src/project/vc8/nvassemble/nvassemble.rc' failed.
Transfer of librarian file '//UE5/Epic-Pristine/Engine/Source/ThirdParty/nvTextureTools/nvTextureTools-2.0.6/src/project/vc8/nvcompress/nvcompress.rc' failed.
Transfer of librarian file '//UE5/Epic-Pristine/Engine/Source/ThirdParty/nvTextureTools/nvTextureTools-2.0.6/src/project/vc8/nvddsinfo/nvddsinfo.rc' failed.
Transfer of librarian file '//UE5/Epic-Pristine/Engine/Source/ThirdParty/nvTextureTools/nvTextureTools-2.0.6/src/project/vc8/nvdecompress/nvdecompress.rc' failed.
Transfer of librarian file '//UE5/Epic-Pristine/Engine/Source/ThirdParty/nvTextureTools/nvTextureTools-2.0.6/src/project/vc8/nvimgdiff/nvimgdiff.rc' failed.
Transfer of librarian file '//UE5/Epic-Pristine/Engine/Source/ThirdParty/nvTextureTools/nvTextureTools-2.0.6/src/project/vc8/nvzoom/nvzoom.rc' failed.```
#

you know what would cause this

#

seems it doesnt like .rc files?

arctic hornet
#

most likely invalid type

#

perforce quite often auto detects stuff wrong, so that's why my tool copies the types from epic's server directly before uploading

long mural
#

yeah but i set the typ

#

type

#

its text+l

blissful moon
#

Question I'm running a personal perforce server on Linux with self signed SSL certs. I recently got a cloudy flare account I got it a domain working with https on the git lab but I cant seem to figure out how to resolve perforce SSL:IP:1666 to be the IP domain name Class A? Like SSL:p4.domain:1666?

#

The goal is to get a domain name working with perforce SSL

#

My IP is static also

arctic hornet
#

you will not get covered by cloudflare's certificate but you can either get your own, or just go with the self-signed one

#

the only difference is the popup "do you trust this server?" on first connect

#

and for example even epic uses self-signed (mostly because they're valid for like 10 years and you don't have to change them every year etc.)

timber thorn
blissful moon
#

works now

#

however... I can't use proxy with ip address

#

so if I use a domain it works but it does expose my ip.

#

So I am trying to use cloudflares zero trust thing to create a tunnel. I got the tunnel working but it still seems to proxy the ip and I get same issue

#

I cant just put in a domain with DNS thats proxied and hide the static ip without it complaining

arctic hornet
#

well, you're going to have ton of issues with any proxy

#

as perforce does not support the PROXY protocol... because unlike http, raw tcp traffic has no concept of proxy itself... so even if you get tcp tunnels working all the traffic to the perforce server will be coming from cloudflare's IP addresses instead of user ip addresesses etc.

blissful moon
#

I am basically trying to proxy my dns domain to an ip tunnel that resolves to my ip but the perforce p4v doesn't route

blissful moon
#

so I have to create like a tunnel to the network

#

that's not a vpn

arctic hornet
#

for proxying arbitrary TCP traffic you can use Cloudflare Spectrum as that's layer 4 proxy (TCP/UDP) but they charge huge amount of money for every GB passed through it

blissful moon
#

guess I have to accept that my static ip shows

#

and move on

arctic hornet
#

that's the cheapest and most performant option imo

blissful moon
#

if I have baremetal

#

what can I do to achieve the goal

arctic hornet
#

anything in-between will add latency (i.e. zero-trust or spectrum etc.)

blissful moon
#

what setup must I make

#

I added zero trust to my server

arctic hornet
#

I've never used zero-trust so not really sure

blissful moon
#

zero trust or not its some kind of tunnel tool

#

I assume if I want to proxy it the way I am thinking I need to create a tunnel a private network

#

basically if I understand correctly

arctic hornet
#

honestly, any form of tunnel where you're not connecting to your IP address first will cause issues with the proxying... one thing you can do is to set up VPN on some random server somewhere, connect your machine to such VPN and let others connect to that VPN

#

and you can then publish your A record to point to the internal ip address, internet won't care and won't be able to access your perforce server... but people from VPN will ber

#

(though at that point it makes sense to make private DNS server in the VPN and have some internal domain name)

#

the way I described it above is what companies generally do, as you have usually plenty of internal services and not only perforce... that way you can hide everything in the intranet and be done with it

#

(though companies usually host the vpn gateway locally on their public IP... but if your goal is to not expose your IP address then you're golden)

#

although... you could just give your users IP address so they connect to a VPN (without FQDN) running on your static IP... and well the rest is the same

long mural
#

you want to hide your ip? you can use cloudflare connect and tunnels

#

service

#

without revealing your private ip

ocean anvil
#

just use tailscale.

blissful moon
#

then I tried connecting from p4v any time it proxies it breaks

#

if I understand correctly you need clodeflared/warped to accomplish this

#

I think warped is some kind of client you run and connect through like openvpn

#

this might work

lament ember
#

Just discovered Diversion, And I'm really surprised the Devs are not on this discord. Even though @neat grotto talked to the devs in January. And they have an Unreal Engine plugin.
If anyone interested in alternative Version Control take a look on full video (they also have VERY indie friendly pricing...and FREE tier. I'm not affiliated with it. I really think people should know about alternatives)
https://www.youtube.com/watch?v=GDgEzTxAGSA

Try out Diversion for free: https://www.diversion.dev/?utm_source=youtube&utm_medium=video&utm_campaign=GDgEzTxAGSA
Join the Diversion discord for support: https://discord.gg/wSJgfsMwZr

Version Control for games is extremely important, however solutions that have been available so far all come with their caveats and issues.
Diversion is a new v...

▶ Play video
main rapids
#

Guys what is difference creating apk between package project part and project launcher part. When i create apk manuel, upload it to device and install it. It works well. But other way when i use project launcher part, its again opens well but in the game there is a button it is downloading a pak file mount it etc. its downloading the file but when i try to click spawn button game crashes. In summary, When create apk manually there is no problem i can download the actor and spawn it well. But From project launcher part i cant spawn it. Probably its not acces the file. I checked paths. I thought maybe paths are changing but no this is not the problem. One more note: When i create it manuel, i can not see all project file in phone directory. But Project launcher part i am able to see all of the project files contents assets etc. I dont no i am just stuck a little help would be great. Thanks a lot.

lament ember
pulsar parcel
#

is Diversion the one with that super scary EULA?

#

and really just a SaaS wrapper around Git by the looks of it

#

9.6 The Services are not intended to be used as storage, backup or archiving services. It is your responsibility to back up your Content and you are responsible for any lost or unrecoverable Content.

#

yep, it's the one

lament ember
#

Oooh. Holy...

main rapids
long hull
pulsar parcel
#

Well at least Git is an open source technology that's decentralised in nature

#

it's not even obvious if this actually uses Git or not

#

or how you'd get access to your repo for an offline backup

arctic hornet
#

but otherwise the pricing looks great, though I'd prefer self-hosting since I don't trust any company with my data if possible

quartz flax
#

how can I remove the source control files so I can reset it?
I cannot submit anymore cause its complaining that some directories no longer exist cause I moved them

long mural
#

we have servers for a reason

#

and why does the app look like github desktop

arctic hornet
#

"Inspiration"

long mural
#

:/

#

and no selfhosted

#

what scm does not provide selfhosted

arctic hornet
# long mural

Also the tree view is the biggest waste of space I've ever seen (paddings/margins)

arctic hornet
#

i.e. "we sniff through your data and teach AI on your stuff" kinda server - that's what my pessimistic me immediately goes for

long mural
#

yeah

#

thats why i hate cloud hosting (especially from new starts)

#

its fine for non sensitive stuff

#

but code and stuff is pretty sensitive

#

and it smells like git

#

some thing it would need: file locking, self hosted

outer kiln
#

I have a distrust of cloud hosting also- so far so good, but NOT even close to as safe as my locked local files on a drive NOT connected to net short of saves I make ( just me)

long mural
#

i mean we have servers on the net (for the team)

#

but the server is locked behind ip access

#

and dyou have to request access via the vpn like app

outer kiln
#

I tried git and gave up,unable to get it working in 5.3 sc

long mural
#

git is terrible for Unreal work

#

fine for a solo

#

breaks with any team

outer kiln
#

i am solo

long mural
#

just use perforce as a solo

arctic hornet
#

then I recommend self-hosting perforce 🙂

#

yeah

long mural
#

Unreal loves perforce

outer kiln
#

i already do use perforce,just not happy its not a libre license

arctic hornet
#

it's free for up to 5 users, though you have to self-host.

outer kiln
#

pf is the first I got working, reliable day afater day

#

shrug

long mural
#

for a solo dev, its fine

#

20 workspaces and 1 userr plus maybe automation user

#

btw my perforce is acting weird

#

it kept trying to sync these same 10 files all day yesterday

#

only when i restarted my pc, did it stop

#

"Unable to clobber" constantly

#

rebooted my pc, synced, issue gone

#
    d:\Ironward\SolsticeShooter\SolsticeShooter\Build\...#head - file(s) up-to-date.
    no files updated
``` now its fine
#

le sigh, horde

#

did i bork my config files?

#

@arctic hornet if i send my stream files over can you verify if i borked them

#

i don't think i did, but im running out of ideas

arctic hornet
#

I can try, though I'm knee deep in rewriting mine 🙂

sly hollow
#

No matching clientspecs found!

Hi,

I'm currently facing this error:

Running AutomationTool... Parsing command line: RebuildLightmaps -project=D:\Repo\Project.uproject -map=Gameplay_CityNew -quality=Preview Command RebuildLightMaps requires P4 functionality. ERROR: No matching clientspecs found!        (see C:\Users\Dom\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+UE_4.27\Log.txt for full exception trace) AutomationTool exiting with ExitCode=1 (Error_Unknown) BUILD FAILED

while trying to run this command

"D:\UE_4.27\Engine\Build\BatchFiles\RunUAT.bat" RebuildLightmaps -project="D:\Repo\Project.uproject" -map=Gameplay_CityNew -quality=Preview

Did someone seen this error before? Or could someone could help me figure it out? 
Sending Log file as well

long mural
#

you can use -nop4

sly hollow
#

as a parameter in RunUAT.bat?

long mural
#

add it to the end of your command

sly hollow
#

nothing changed

long mural
#

show your command

sly hollow
#

"D:\UE_4.27\Engine\Build\BatchFiles\RunUAT.bat" RebuildLightmaps -project="D:\ShipGraveyard2_repo\ShipGraveyard2.uproject" -map=Gameplay_CityNew -quality=Preview -nop4

long mural
#

hmm

#

maybe its hardcoded to require p4

#

maybe you can use the commandlet

#

UE4Editor-Cmd -run=resavepackages -buildlighting

sly hollow
#

I want to keep the original command because in theory i can integrate it in with Jenkins

long mural
#

you can integrate commandlet with jenkins also

arctic hornet
#

the RebuildLightmaps is just a wrapper on top of other commands (as it more or less does stuff similar to what buildgraph does these days) so if you just use the editor cmd directly running the resave and buildlighting (as Kaos suggested) you can call that from Jenkins if necessary

clever tendon
#

Hello Folks!

Anyone stumbled upon the UE5.4.3 crash when trying to Tools->Sync Content from Perforce? New Blueprint-only project, newly created Perforce server.

Top (bottom?) of the stack looks like this:

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION 0x000000070003ceb7

UnrealEditor_Engine!UMaterialInterface::PrecacheDefaultMaterialPSOs() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Materials\Material.cpp:611]
UnrealEditor_Engine!FGlobalComponentRecreateRenderStateContext::~FGlobalComponentRecreateRenderStateContext() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp:362]
UnrealEditor_Engine!UMaterial::PostEditChangePropertyInternal() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Materials\Material.cpp:4755]
UnrealEditor_UnrealEd!UPackageTools::HandlePackageReloaded() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PackageTools.cpp:1160]
polar oyster
#

Noob p4 question: does copying a stream to another does what I'm expecting it to do? Completely overwriting the target stream with the source stream content, disregarding file revisions, most recent changelists, etc?

lavish fjord
#

i've been working on a project for a long time

project is medium sized

i've never used source control and never used it with this project

am i able to still use source control / version control of some sort for this project ? if so, im assuming this will take quite a long time to backup , but which service would anyone recommend?

ocean anvil
wide raven
#

Then head over to your actual project

#

I would recommend perforce, it feels like it fits unreal better. Git you can see people struggling with weird LFS stuff a fair bit

#

And remember to set up an ignore file, so you don't fill up your repo with useless cruft like Binaries and Intermediate

arctic hornet
ocean anvil
arctic hornet
#

it uses shared credentials, though iirc it might report with some app id etc...

#

but the thing is, epic has built (honestly super robust and nice to use) wrapper on top of p4api and this seems to screw things up now

#

and this UGS build is as new as it can get since I built it directly from the source code from UE 5.5 (main branch) few hours ago

#

so it's not like I'm running old stuff

#

oh well

lavish fjord
lavish fjord
wide raven
sly hollow
ocean anvil
# lavish fjord yea im looking into "diversion" right now .. not sure if either of you have hear...

i looked at it and for now i would not recommend it at all, its too new and lacks key features. and no abillity to self host is a big nono.
as others have also pointed out it seems like its not built very well and doesn't bring anything new to the table.
and the UELA definitely doesn't inspire me with great confidence in their product.
combine that with the fact that once you become a bit more serious with UE alot of features are built for and targeted towards perforce.
and that it seems to provide you with a similar toolset as Git without all the community support/expertise and custom tools of Git.

#

just use perforce if you can, or Git if you want a solid (free) alternative.

pulsar parcel
#

yeah it just seemed like a Git wrapper to me

ancient oxide
#

In Perforce, what's the best way to make sure that when you add new assets, they get included when submitting the changelist?
We just downloaded some Megascans textures and were trying to figure out why our landscape material was messed up on just 1 computer, and realized those textures were never added to Perforce.

ocean anvil
wide raven
ancient oxide
#

thanks all!

silver token
#

I found out that the typemap for our perforce server was misconfigured (so things like uassets and maps weren't exclusive checkout).
That has been resolved, so new assets should have the right filetype settings.
I'm looking for a clever solution for dealing with the existing files in the depot. I can use p4 edit -t auto on depot directories to checkout files and update them and I could write a batch file to do edit, revert unchanged and then submit. But that requires a lot of syncing and client spec shenanigans.
What I'd really love is a way to do it all directly on the server without having to check anything out locally. Kind of like using the -v option with p4 copy.

arctic hornet
#

type changing afaik cannot be done "virtually" (i.e. -v flag)

#

(and to complicate things, under certain conditions you'll have to use p4 reopen rather than p4 edit 🙂 )

silver token
arctic hornet
#

I don't remember the specifics, it might be the case, all I remember as I had to do this for my tool that syncs from UDN and mirrors the types to the ones at UDN.

silver token
#

okay. I'll keep an eye out for that I guess.

arctic hornet
#

the logic is simple, if edit fails, you have to use reopen 🙂

#

for that specific file

lavish fjord
#

So I’ve uploaded my project to a repo and I’ve done this specifically so my friend who is on a windows can take the project and build it for windows on his computer. The question I have is how would he be able to point the project file to his computers source engine so he can then generate fresh project files? I’m assuming he will just have to download everything? (Needs to be source engine for server target)

arctic hornet
#

You usually upload your engine together with the game itself, your friend then downloads the repo and compiles it all then it will run for them

#

if you're syncing from git and using perforce, what you'd want to do is to clone epic's unreal engine, run Setup.bat and then upload all of the files to perforce, then add your project folder (exclude Saved, Binaries and Intermediate folders) upload that too

#

then both of you sync and compile editor locally

#

and at this point it might be easier for you to just use unreal game sync as it simplifies the syncing etc...

lavish fjord
#

Damn I was afraid I should have done that… the uploading and downloading takes so long it wastes whole days 😭

arctic hornet
#

iit's epic made tool that is more or less wrapper on top perforce which makes it easy to sync and build etc..

lavish fjord
#

Thanks for sharing. So for future reference I should include the source engine in the uploading next time

arctic hornet
#

honestly, check the presentation I sent you as a whole, this is what more or less epic and large teams are running

#

if you focus on the basics (i.e. folder structure on perforce + UGS) it's quite easy to set up

#

and you can later expand it with stuff like Horde (build automation etc...) etc..

#

and it all kinda fits together

lavish fjord
#

Makes sense, I’m actually just trying to get my friend to build it on windows , I’m the only one that is working on the project so not sure if I’d be the target audience

#

Wish there was an easier way to build / package for other platforms

arctic hornet
#

ah, so you're not on windows I presume?

#

then UGS is sadly not for you, UGS is only for windows right now... well, there's ugs CLI which is cross-platform

#

but yeah... on windows you can build for windows, linux, android and game consoles... the only platform you have to use native toolchain for is apple

#

but on linux you can only compile android and linux afaik

#

and on mac, it's mac only iirc

lavish fjord
#

They actually have built their own source engine on their computer and have it ready for the project but as I mentioned not sure how they are going to be able to get the project file to point to their source engine without downloading it. So assuming that will be my only option is to have them download the whole project and do things manually

woven sluice
#

You're "effectively" starting two parallel forks of your game project with this work flow. It's obviously a bit weird

#

Did you make any edits to your source engine... Did they make identical edits to theirs

lavish fjord
lavish fjord
woven sluice
#

Then as long as you're both using the same branch / tagged release you're at least not getting into trouble, per se

arctic hornet
#

but honestly i'ts kinda asking for trouble sooner or later due to some asset corruption if you modify something in one place etc...

woven sluice
#

Yeah... Tbh. Generally speaking getting into a project requiring dedicated servers way before you're experienced enough is going to probably be a bad business decision no matter how you swing it

teal bone
#

Getting into any kind of game requiring more than a single player is probably a bad start.

woven sluice
#

Hey man I'm trying to break it to them easy

lavish fjord
#

Lol I appreciate the concerns but I’m not going to stop now 🤣

#

I was just curious if there was a good way to build for another platform. There is nothing the other user needs to touch other than building and packaging the project as is.

woven sluice
#

Well it sounds like you haven't been using any source control before this but maybe you'll start now so that's a good step

lavish fjord
woven sluice
#

Gross

lavish fjord
#

It’s worked great in my case. Never had any issues and I’ve had to revert or old versions many times

#

And tbh the only reason I’m using it now (source control) is cause I thought it would be easier than sending a zip file of the project via google drive lol

vague whale
#

hello, not strictly a UE question, but P4 logs me out so often its annoying, i am sure i can extend the session time or something to a week

vague whale
#

ah its on the group not a global setting

vague whale
#

hmm now i can't get my discord webhook to trigger, i don't even see any log file from p4, hmm

frail condor
#

I have to use Rider but also Perforce
Perforce needs read-only
Rider complain it cant save settings
any clue how to fix this?

woven sluice
#

Can't save settings?

#

Did you not set up any ignore stuff

frail condor
#

nop, but Im checking and found this in unreal github, is okay?

woven sluice
#

it won't take Rider into account but it's a good start

#

to fix this you're going to have to manually delete all temp files from your depot (recommend force purge from P4Admin to free up the space)... or delete the whole depot and start over

frail condor
#

so
I locally duplicate a backup
then try to force purge from the P4Admin