#source-control
1 messages · Page 13 of 1
Are both computers part of the same subnet (I think thats what I mean) aka does your client comp have the same 192.168.0.???? form?
did not work, but this is not the computers name, its only the name for the server in perforce, desktop name has a different name but if the ip works then I guess i'll just do it that way.
yes
both on a home network
both on same router
HSserver and your hosts ip are not matching up, but try the ip address in perforce
https://www.nublue.co.uk/guides/edit-hosts-file/#:~:text=In Windows 10 the hosts,\Drivers\etc\hosts.
so would this be a matter of allowing PORT 1666 as an exception in the firewall? or does it involve more than this?
not sure what you mean by that but it is a default win 10 desktop that installed the Helic Core Server.
Professor Robert McMillen shows you how to view open ports and allowed traffic in Windows 10. This can assist you in determining what may be blocking you from sharing a program but also alerting you to any ports that may be opened that shouldn't be for security purposes.
thanks i'll check it out
The port for ping is open, but 1666 is closed, which is why it times out. Also fix your host file, which will only work if you're NOT using dhcp to decide your systems ip addresses
by host file, are you talking about a specific file with in the folder that was installed using the helix core server installer?
No
I mean, why do you use HSserver instead of an IP address.
Is HSserver then name you gave the server?
i thought it would be easier to remember the name other than the ip
yes it should be the name
Your client computer has no idea what that means if its not set up in the host file, but again, if your internal network's ip addresses aren't set statically putting that in a host file will cause errors later on if your routers dhcp server changes all the ip addresses, so just stick to using ip addresses
ok, is there a way to set static without goining into the router control pannel?
is there a cmd command to check if its static
No, all control to the net is in the router.
ok
Maybe tunneling or something, but thats above my skill level
i added an inbound and outbound rule in the pc's firewall to allow port 1666 and it still didn't work
just tested the "p4" command on the server cmd and i got this
dont know if that helps
Use the ip and not the name
i did
this doesnt work either
Is the server running?
how can i verify?
does there need to be a speciofic file / application open?
the server is just sitting in the folder view for the server files
Was that command run on the server comp?
?
this command was the client
This hands down is the most important question i can ask
"does there need to be a speciofic file / application open?
the server is just sitting in the folder view for the server files"
Yea you might not have $P4PORT env variable set up correctly. Go to your shell and time that in and see what comes out. Early i nthe set up you set these things up. Theres a config file in your $HOME directory if youve done it right check the values there
@pseudo granite https://www.youtube.com/watch?v=2me3R2FFjcI
In this video, we’re going to show you how to install the Helix Core server and the Helix Visual Client. Once set up, you’ll be ready to use all the powerful features of Helix Core.
@old anchor @hard cobalt
I tried $P4PORT as a command and it failed
don't know how to access the shell.
dont know where the $HOME is, it doesn't seem to be in the server files.
I don't think anyone understands where i'm at with all of this.
I installed the helix core server application and it generated a bunch of server files in my specified folder.
The computer has been sitting on this folder ever since.
$P4PORT is a variable
You have to set up and start the server as a service on the host system
that tutorial was basically worthless just like all the other perforce tutorials.
They only do "localhost:1666" so they never demonstrate dedicated server setups
localhost is a start
ok, is there a tutorial on this at all?
this info is nowhere
if you can get a localhost up you can get a server up
If the server is running you can connect to it once you open up the ports for it in the firewall
apparently not because the P4V client is failing every time on my separate PC
but then again, how do Ib know if its running
Is it running on the server, are you able to connect on the server?
That's a fantastic question man, "is it running on the server"
for the probably 5th time I cant answer your question because I have no idea how to tell if anything with the server is running.
this whole setup is such a shit show.
I don't know if the server is running
I found like a single tutorial with setting up P4D and the tutorial had us install P4D and then it ended. my pc is sitting here on it's folder screen because there were no other steps to follow.
Does the server setup require more than just merely installing P4D and keeping the PC on? IDK
i have no idea.
but apparently im being told that there's all these other steps that need to be accounted for.
Did you follow the tutorial and start up the p4 server?
with this?
#source-control message
You can verify with this method, https://youtu.be/2me3R2FFjcI?t=165
In this video, we’re going to show you how to install the Helix Core server and the Helix Visual Client. Once set up, you’ll be ready to use all the powerful features of Helix Core.
Didn't know the installer automatically set up the service to start
this dude in that video installed the server application and then just left it there.
Then he went off in fairly land with P4V and thats when I got stuck.
where is this "start up"
this dude was doing great, then he creates a new user (at this time stamp) https://youtu.be/2me3R2FFjcI?t=238
In this video, we’re going to show you how to install the Helix Core server and the Helix Visual Client. Once set up, you’ll be ready to use all the powerful features of Helix Core.
is it possible to set p4ignore per workspace or can it only be 1 at a time for the entire machine?
@old anchor The tutorial is fine, but at 4:00 mins when he creates a new user, it doesnt work for me
That is for once for the entire is server, so its the same for every workspace
Did you verify the service is running?
on the host/server machine
P4D?
did you try adding ssl: at the beginning of the ip when connecting
no i didnt set it up for SSL
Perforce, in the service list
every bit of doc and tutorials I ever found about p4ignore had it set up on each client
I didn't know it was possible to set the p4ignore server side
I may be wrong
This dude hits "new user" and then gets this screen
I have yet to see this thing because when I hit "new user"
I get an error.
thats the entire thing im having trouble with
But for me I have the P4IGNORE=.p4ignore on the server side
I'll have to try that but if I understand correctly shouldn't that just result in the p4ignore applying to any client workspace created on the same machine as the server rather than the server
Well, the server needs to know which files to ignore also, I believe.
it can do that per stream through share/exclude but that's for different use cases iirc
I don't think it can exclude files per extension but I might be wrong
I guess they changed the service name to p4d?
Hi, I’m solo developing a Unreal 5 project. I’m switching from git + LFS to Perforce. I’m finding the change very difficult.
I like my workflow in git and would like to continue it in perforce if possible.
In git I would create a new branch to make a new feature. To do the same in perforce do I need to create a new stream + workspace?
@hybrid goblet https://www.youtube.com/watch?v=Ea79gZoJ1dM&list=PLDnygpcOYwFUYo2RbQV1XN8jLGZ2svFky&index=3
Today we will go over some administration of your Perforce server from the client side in P4V. Leave a comment below or join the discord!
☛ Download P4V: https://www.perforce.com/downloads/helix-visual-client-p4v
☛ P4 Ignore File: https://bit.ly/P4Ignore
Commands used in this video:
★ p4 configure set dm.user.noautocreate=2
★ p4 configure set...
is there really any benefit to using perforce over git when developping solo
thank you, ill give this a watch
I'm trying to make the switch to perforce because my project is heavily art based (binaries) and UE in general seems to be heavily binary based. Storing binaries in git gets wildly out of control in terms of size because you are stuck storing every single version of the binary, forever.
Looking at perforce it looks like you can control the number of revisions per binary / binary type and stop storing revisions that you no longer need
if you use git LFS you can set it up to only store the latest version of the binaries etc
I don't see anything about that in a google search?
I also want to be able to store multiple previous versions of a binary. Then start deleting previous versions when I want to in order to free up space
I installed the Perforce server application and it generated a bunch of files in my specified folder.
I have now went back to the P4V client on my own PC and tried to connect but I get an error when trying to connect to the server.
any ideas?
?
yo, any ideas?
#source-control message
where is this variable?
Your question is not entirely clear. Where did you install the Perforce server? Is it on a computer on the same network as your client pc? Or is it outside your client pc network?
Perforce is free as a solo developer and additionally you don’t need a cloud server. That’s huge wins caus those are biggest limitations. Perforce integrates locking really easily and naturally with unreal while git does not but I guess you don’t need locking if you’re solo. Hmm I guess I’m that case it’s not as useful and if you already know git I don’t see the purpose in changing. Don’t know enough about the nuances of each. Honestly as a solo dev I’d used SVN. Git has extra steps that give a larger overhead. SVN is better for large binaries that’s what I use it for at work. Anyway useless answer sorry
You don't need a cloud server for git either
You can create a repo with every classic git functionalities locally or host it on another machine you own
Perforce definitely scales better but for purely solo dev I'm really not sure I see the point
hey the server seems to working because i was able to create the servers first user (my router needed to be port forwarded)
A serious question. Is SVN or P4 better for a mid-size team (about 50ish members in the office) and would be doing much outsourcing with outside companies?
I just feel SVN is very slow when you are dealing with a bunch of large files. I'm not sure we are going to use both on premise and cloud.
I don't think "slow" is an inherent property of SVN, might want to evaluate your hosting. The answer is really going to depend on cost and familiarity with the tools at a company of that size.
Perforce isn't cheap. It is the standard, but I'm not sure SVN would be a dealbreaker for working with outsourcing so it really depends.
Yeah, I think it is because of this feature.
https://docs.unrealengine.com/5.3/en-US/one-file-per-actor-in-unreal-engine/
Lets say if we don't care about the cost, which one is better?
I can tell you that OFPA can be slow even under perforce. It really depends on hosting.
Which one is "better" I'm not going to argue. Perforce is the standard, and what is best supported in unreal.
Perforce can't "do" code review either. They both rely on external tools.
Swarm review? IIRC
They provide a separate tool (swarm) but it's not an inherent part of perforce.
And there are plenty of review tools that support SVN.
If it is similar as git pull request, that's usable.
You know, for outsourcing, it is really necessary to have a code review tool.
I'm aware. No major source control systems have one built in.
Because it's not strictly part of source control, it's a separate tool like any other.
Thank you for the suggestion. I'm going back to check hosting again.
Plastic SCM / Unity Version Control is coming with code reviews as a core feature 😉 It also provides the option to use a richer web experience, which I would recommend, but for the basics, the core feature is enough.
Plastic is pretty good but honestly, don't like it is using cloud as default without option for using on premise (blame Unity business mode I mean it🙃 )
There are a lot of studios using Plastic On-Prem, especially those using Unreal Engine as it's quite demanding in storage and network bandwidth!
Is it possible using on premise and other cloud service? If so, I’d really consider about it.
The pricing of perforce is just ridiculous high and I used plastic before, love the UX rather than p4
Hoi there! Probably a question asked often but, we are using P4 and we get a bit annoyed that everytime we change code and build, we have to remember to checkout manually the dll to submit it.
I know that ideally we'd have a build machine to build when we submit code, and it would be the one submitting the dll, but we don't have the time to set that up right now, it will come later.
In the meantime, is there any way to automatically checkout the dll on build please? We are trying out Rider at the moment, but also using VS and 10x
Yes, you can have Plastic SCM hosted on-prem behind a firewall, and have it interact with other cloud services on the cloud, typically with a CI/CD service eg Jenkins' Cloudbees cloud service (or Teamcity etc).
You would just have to configure correctly your firewall an the security setup for the server, and handle the credentials appropriately using the Jenkins plugin.
Hey there, fellow Unreal devs,
We have published a new release 1.8.3 of the Plastic SCM / Unity Version Control plugin for Unreal Engine on Github https://github.com/PlasticSCM/UEPlasticPlugin/releases/tag/1.8.3
It adds support for the recent Smart Locks https://blog.unity.com/engine-platform/unity-version-control-smart-locks (mentioned in this channel last week 🙂 ):
- Display Smart Locks status information in the Content Browser
- Context Admin menu to Release or Remove a Lock from the Content Browser
- Users connected to a cloud server can open the Unity Dashboard to display or configure Lock Rules
But perhaps more interestingly, since Unreal Fest it's now also being published and updated regularly on the Unreal Engine Marketplace https://www.unrealengine.com/marketplace/en-US/product/unity-version-control-plastic-scm 🚀
The technical documentation (an online version of the README.md) has been updated to explain briefly this new Marketplace release channel https://docs.unity.com/ugs/en-us/manual/devops/manual/vcs-plugins/unreal-plugin
In case you are interested, or if you want to answer others, don't hesitate to ping me or reach out directly through DMs since I am often connected but not always reading everything 😉
Anybody else experiencing extremely slow speed for downloading the UE5 release from Github..?
Thank you! That's very handy. We'll definitely consider about it seriously.
I'm an idiot and I still have some files checked out on my office workspace
How do I uncheck them out from my home workspace
So same user, two differnt workspaces
if possible
If you're an admin, it's possible to force revert files from changelists (though I don't have any direct experience doing that).
Otherwise you'd need access to the machine (perhaps via remote desktop) in order to revert or shelve the files.
In fact, you should be able to unlock your own files from the distance, from the command line
trying to set up the P4IGNORE file but it keeps defaulting to txt in file explorer
any ideas?
Do you mean that windows is adding a .txt extension to it? That's something you can handle with a proper text editor. Or configure your OS as you want, to display extensions.
(or am I missing the point entirely?)
But in the end, you can call it whatever you want, P4IGNORE.txt is fine as well, each user has to configure locally P4 to tell it what filename to look for:
eg I am personally using
p4 set P4IGNORE=.gitignore
your right by that, it is adding the txt extension
would VS Code be a work araound?
Yes most likely!
But if you configure Windows to show extensions in the file explorer, then you can change the extension or remove it. Or use the command line to do the rename
it worked, thanks!
Hey folks 👋🏿 I've got what might be a 101 question regarding sharing a project. Here's the situation:
-I'm on a team of about 10 people (5 progs, 5 designers)
-Project is in perforce
-We're just using an Install Build of the engine (not building form source)
-We started off just using Blueprint
-I've added some C++, had to generate solution files and what not. It's working for me
-One of the designers syncs the project and is unable to open it
-They get the error "The folloinwg modules are missing or built with different engine version: {OurGameModule} Would you like to rebuild them now?"
Is there a correct way to handle this situation? As I understand it we could ask all of our designers to also setup Visual Studio so that they can compile the code but we'd rather avoid that if possible.
It looks like we could also just commit binaries of our module to perforce and have the designers sync that.
Is there another more correct way to handle this?
The 100% correct way if there's any custom C++ would be independent build machines and UGS (Unreal Game Sync). You can get away with programmers committing binaries but it doesn't scale well and only really works for 1. Maybe 2 or 3.
epic, being a massive organization, uses UGS.
for a very simple trunk-dev system, set up CI to produce your DLLs and commit to perforce whenever code files are submitted via a p4trigger. set up coders to work on a virtual stream that simply ignores binaries. best if you can also set up a CI notification bot that tells everyone when binaries are updated and if it succeeds/fails
Depending on your project size - if build time is not a major factor ( under 5 minutes, say ) I don't really see using Visual Studio to build and run the editor as an overwhelming hurdle for designers. After the initial setup, it's pretty painless. A simple .bat script to delete intermediate and regen project files, go press rebuild and run.
I can see the value of the binaries-distribute system rising along with project build times though...
UGN setup is pretty heavy : )
I haven't tried it yet
https://docs.unrealengine.com/5.3/en-US/unreal-game-sync-reference-guide-for-unreal-engine/
Another angle : python based build tool https://github.com/rfsheffer/PyUE4Builder
don't forget the VS Community limit is 5. although i doubt you would ever get seriously targeted if you could easily prove that you only had 5 "real" coders and the rest were just substitutes for a build bot. but i personally think implementing CI is worth it even for 2 coders. occasionally someone doesn't push one source file change, CI with notification causes them realize their mistake almost immediately
arr I keep forgetting that detail on Visual Studio : E
CI setup for every change, absolutely
Haven't figured out how to link up a Slack notification to the exact people who made the changes yet, but a monitor channel already does wonders, catches mistakes early about weekly
Thanks for the insight you two. We don't have admin access to p4 and I doubt we'll be able to setup a build machine so I think we will just ask our designers to install VS
For a project at a scale of 10 people working on it, I would warmly recommend thinking about Jenkins / TeamCity setup to get a monitor + nightly builds running.
Monitor : catches mistakes in compilation
Nightly Builds : great for process to have tasks go through QA on a fast rotation - a ticket is marked with CLxxxx and moved to QA column, QA doublechecks that the feature / bugfix works to spec
Hi, I’m planning to use perfoce for a project and I was wondering how much storage I should allocate. A 1 to HHD seems to be more than enough but I just wanted to make sure I’m not missing something.
I like to usually suggest 2.5x the space of your current project. That way you could make a copy (the 2) and then a little extra (the .5 for OS/scripts/etc.)
Also, if you can get an SSD, that'd be faster, and our usual recommendation.
In UGS I want a sync filter that filters out all png/bmp files in my project.
So I have
+SyncCategory=(UniqueId="...", Name="Raw", Enable=False, Paths=/Foo/...bmp;/Foo/...png)
But I want to make an exception for my EdSplash.png which lives within Content/Splash as required by hardcoding in the engine.
I tried adding another sync filter that was enabled by default, but that didn't help.
+SyncCategory=(UniqueId="...", Name="*Protected Raw", Enable=True, Paths="/Foo/Content/Splash/...")
Is there no way to do this with UGS filters?
hi there
Is perforce on azure devops free ?
azure devops has nothing to do with perforce
yes i know but i want to connect azure dev ops with perforce
so i guess the answer is yes
what does "connect" mean to you?
i guess the technical answer was indeed yes -- since it's impossible to pay for something that isn't for sale 
So, up till now, I have been using Github desktop without publishing to keep track of files. This has the downside of taking 10 years to commit the larger files, which i assume is from diffs, when I only need snaphots for large maps. Any ideas?
Your question does not make a lot of sense. I assume you are using Git to version control your changes for unreal engine .umaps and .uasset files,
umaps and uassets are binary files and Git will store a complete new copy in the repository history on every git commit.
Okay, gotcha, I assumed that git would try to diff the files and store that, which would take a long time, but that makes ssense
Still an issue though, it takes a long time to commit
No git cannot diff binary files
there are a few things you can try out to improve the speed
is your local git working copy on an ssd?
Yep
do you have enough ram when you are working? or are you maxed out?
Also using Github Desktop to control it, though I should be able to easily wrestle control away from it and into cmd, just a layer of protection whilst version controlling
github desktop vs command line will make no difference
I am maxed out in ue5, but when commiting i'm fine, I have 48 gigs of ram
Well yeah, except I am through a cmd line instead of GUI, which hazards me when doing stupid shit
I have used cmd though for other projects and locally hosted git repos, so should be fine
im not sure how git commit works in terms of hardware but it could be possible that commit uses ram and if you are maxed out it is having to use your ssd instead
and the ssd will be way slower than ram
I can check real quick, ill modify the map a bit and watch it
assuming you are using windows and windows defender, i think git commit will also trigger a local file system write operation and it could be possible windows defender realtime protection is slowing it down
windows defender slows down my visual studio unreal source build by 2x for example
wow
Github Desktop also isn't meant for local repos, its always warning about how this can't go on github unless I get Git LFS, and doesn't have a ggreat branch explorer, it would be better if I had a version control GUI that was focused on local ones
you could use sourcetree
I'll take a look, the most important thing for me is balancing the power of a ggit command line, which ive used in the past, and a nice GUI that displays the info I want and protects me from doing something dumb
ive fucked up my fair share of git repos with unconscious incompetence
as long as you dont rewrite history anything can be recovered from
"Fork" is my favorite git visual client
Oooh, does look nice, bit expensive though
and never work in the main branch 🙂 always make a branch and merge your changes back into main
It's pretty easy on the nagging for payment so far, I used it for at least a year before paying for it just out of feeling that they deserve it
learned this the hard way lmao
Yeah if so, I may go with it
what's the best solution for collab working environment?
Github good?
Using LFS but hit the storage quota
I would go with SVN or Perforce because file locking
heard Perforce wasnt free? Also how to approach with Perforce?
"is free for teams of up to 5 users and 20 workspaces." ( if you setup your own server )
Few things in life these days are truly free
No storage limit things?
the storage limit is (only) set by the server you build
Hey, so I don't know if this is the right place, but is there a way of changing the editor on a per-project basis? Let's say I have changed the Crash reporter client, I surely don't want that to be the same for every game, right? Thanks in advance.
I think they are all third-party things, like Sentry or Bugsplat, which you can configure per project?
I do have sentry, although it required me to change some in engine stuff
Although I want to edit more though :p like, the mobile renderer
Well, it's an open source engine... You can do whatever you want... Get a TB hard drive for each project with its custom engine?
I understand bigger companies indeed have their own custom editor fork per project.
Ahh okay, how do they go about pushing their edits to github, without sensitive details being public? Or do they just not push their edits :p
You have your own private fork/s
I've deleted and remade the workspace several times, including selecting the project folder as the root, and making an empty root and moving all the project files into that folder. Always does the same.
I can't believe perforce doesn't work with folders (as that would be stupid) but I can't see any 'ignore subfolders' options
if you fork on a personal account, it will be visible to everyone with access to Unreal Engine
if you fork in an organization, it will only be visible to those that are allowed to view it by you
Ohh didn't know that, thanks!
git LFS has file locking, including for non LFS tracked files
Is it a known issue that you don't seem to be able to create a game feature plugin on a perforce-revisioned project?
Works fine on a non-covered project, but errors out on the perforce one
Both my work and hobby projects have multiple feature plugins and are using perforce. So there must be more to your problem then that.
Feature plugins work fine. Unreal just errors when creating a new one.
I can create it in a different instance, and move it over, and it'll work.
is there any perforce server hosting site or gotta build it ourself?
we are using Github but that isnt helping because of file size limit
I used DigitalOcean because I watched a random video and at the start he used it. The video outdated tho so I wouldn't follow it.
This one: https://www.youtube.com/watch?v=GsdS71tdGj8
Digital Ocean link: https://m.do.co/c/9c32421cec91
Perforce docs: https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html?fbclid=IwAR0meqmgIgK4Ic3eewVv-vpm7EQGJl0uKTNQmDc99Jx9s0wTQ12ByiYvRkY
Try my C++ Survival Game Course:
http://bit.ly/unrealsurvival
Discord:
https://discord.gg/meFRZfm
Business Email: contac...
You have to own a server - either your own hardware or build/lease a VPS (most indies with a bit of money would do the latter)
Speaking off perforce lol I have dumb perforce question. I am so used to git and love it but am moving to perforce because blah blah industry standard and i just wanted to double check something. Streams are pre much the equivalent to branches right?
What are the errors? The wizard has some problems (like not saving the feature asset) that still have to be worked around because features are still in beta.
Yes, but we have not found streams to be very useful in our dev pipeline ( because we work 95% in BPs ). We are now in "Trunk Development" mode. Streams might still be useful for c++ I guess
Very seldom used dev branches but very regularly used release branches
Deployed Epic's Robomerge tool to make it easier
Aye release branches are good. But in general dev, without locking across streams? nope, nope
Well sometimes it's unavoidable so I would say soft locks are preferred. It's shitty but the resolution is to manually recreate changes for certain assets over a range of CLs
You'd use a dev branch for incredibly volatile changes that are likely to break things for an extended period of time
I would prefer to implement the changes behind a toggle, and attempting to keep things in mainline. But of course cases may vary wildly
is it possible to set up perforce streams to be in a "loop"? like, I want a main stream to automatically push its content to a programmer stream, which in turn only ever pushes its content to a Jenkins stream, which is managed by a bot that'll do some processes (in this case compile cpp) then push its content to the main stream
this basically https://i.imgur.com/bTV8DHF.png
You could setup Jenkins jobs to Poll SCM and then run some p4 commands in ExecuteShell
so if I make programming a child stream of main and then jenkins a child stream of programming, could jenkins push to main from that? without passing back up through programming since binaries aren't included
I don't see a reason to have a separate "jenkins" stream necessarily, but essentially yes
Jenkins polls programming, builds, if builds are green, push to main
alright, thanks
also I'm really confused with perforce's stream doc right now
so far my programming and jenkins stream have both been virtual streams of main, meaning anytime someone pushed something on main programmers got it automatically
if I make Programming into a development stream, will moving changes from Main always be a manual process? is there no way to have changelists on main instantly propagate to programming? I can't find anything on the subject
the doc only mentions manual merges
Not that I am aware of. I run
p4 resolve -am```
as needed
We only have main, staging, release branches : we don't do branch based development at all, so not really fully up to speed in this area
alright
that's mostly because I don't want something like jenkins pulling from programming and then pushing to main if programming is missing changes from main
So we have any docs on the "Status branches" that fortnite uses and the engine promotes?
I can only find a gdc talk 🤔
(talk in question: https://youtu.be/p4RcDpGQ_tI?t=1443)
On an average day, Epic developers submit over 500 changes to Fortnite's mainline. In this talk, Lead Engineer Ben Marsh discusses Epic's development infrastructure and workflow including how we set up our branches, how we get builds of the editor to our artists and designers, how we set up our build system and escalate problems to devs, and how...
Why do these separate streams even exist
Virtual streams are useful for excluding content
The programmer virtual stream right now excludes binaries, and the idea was that when programmer would push stuff, it'd go through jenkins and get pushed after jenkins compiles the cpp
Yes, and? Why would that need a separate stream
Right now both the programmer and jenkins streams are virtual, the main problem is that if programmers push changes and anyone pulls before jenkins reacts to the changes and recompiles, they might end up having issues
And that's why a lot of studios deploy UnrealGameSync to prevent that race condition
But that requires a native source build
If it was the same stream anything programmers would submit would instantly get to main before compilation
We don't have an unreal source build & I only have so much time to set up this kind of thing
Yet this process exists to prevent a rare race condition with syncing
And I'm trying to set up a similar process without putting an extra week or more into figuring out how to build and distribute the entire engine myself
Especially since we wouldn't benefit from it in any other way
isnt UGS just a fancy perforce client? 🤔
A fancy perforce extension.
Can anyone help me figure out why my perforce typemap isnt working to set the locked settings i followed this video from perforce exactly but still my files which should be locked are not https://www.youtube.com/watch?v=Hvmvv2MG-UE
Learn how to configure a new Perforce Helix Core server for use with game engines and avoid some common mistakes so you can set your team up for success.
Links below!
0:00 - Intro
1:01 - Creating a Depot
3:33 - Creating a TypeMap
13:05 - Creating the Mainline Stream
14:40 - Creating a Workspace
18:55 - Ignoring Files
26:34 - Adding Project Fil...
we just set up discord notifications instead. bot says "build in progress" "build failed" or whatever and artists have brains and don't touch perforce except when there is a build completed message. and p4 triggers exist, you don't need to poll, polling is slow and annoying. your success may vary but if for a small team you might be overthinking your needs
I'm setting up triggers next but that still leaves a short window
It'll still probably be enough for just cpp builds but I wouldve liked eventually setting up automated testing and checking if all BPs compile etc
We already have a discord bot for other purposes so we could do build notifications yeah
yes, i worried about the same thing while i set up our stuff, stopped caring after a few days. but it'd become necessary at some point with a large/growing team
It's a team of 9 with 3 designers and 3 artists right now fwiw
If you go to P4V, View->Streams, r-click the stream and select View Stream - is the Ignored area populated as you expect?
I'm using perforce and I'm having a strange problem where it says I have a umap checked out. But i don't. It says it with a blue checkmark like it's someone else buit it's my username that says chekced it out.
sounds odd
- try revert ?
- try changing ownership ?
the fix was calling p4 unlock -x
Maybe it was locked via another workspace? Congrats on unlocking though 😉
hey, I managed to setup a python trigger that's supposed to trigger a jenkins build, and it's apparently successful since the request returns 200, but jenkins isn't starting a build, any idea what could cause it? the manual perforce trigger thing in jenkins works fine
this is the python script https://pastebin.com/XvjTaD2r
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
thisi s the content of the ouput.txt btw https://i.imgur.com/Bg4Ilw7.png
What's the Jenkin's logs saying?
which one?
Maybe the agent log? Based on what you said, sounds like a possible run issue? "it's apparently successful since the request returns 200, but jenkins isn't starting a build"
if you mean "all jenkins logs" there's pretty much nothing in it dating from any script triggered build
and the project doesn't even start building
just, nothing
Hey everyone! I have a project using git source control and my partner just tried to clone it but they can’t open the project. I have paid plugins that they don’t have, and it’s telling him it can’t find them. I tried following guides to send him the plugins and have him go in the project plugin folder but it still can’t find them. Is there something else we can do?
Did you connect to the Jenkins agent and tail those logs?
the jenkins server is the jenkins agent fwiw
both "all jenkins logs" and the "P4 trigger log" on the project have nothing at all resulting from the url post
ok so
I just tried setting up a custom url for building in the project and that works
so it's specifically the perforce jenkins plugin remote triggered build thing that doesn't work
so I guess as long as I don't need extra info in the build trigger I'm fine?
Ah, weird and bummer. We monitor that repo, so if it's reproducible, toss up an Issue. Once it's up, LMK and I'll poke.
I will but honestly I wouldn't be surprised if it's dependent on some random windows/VM setting on the VM we were provided for the setup
Hey thanks! I only have 1 workspace. My coworker was familiar with this bug he said it occurs when you shelve something while you have the editor open.
Weird, maybe we can investigate? Can you reproduce it? (that way we can on our side as well)
I can't right at the moment. But if I had to guess, the scl has to contain a file that is exclusive. so a .umap is what it was in my case. Maybe checkout a umap, edit it in unreal, then shelve+revert your changes while that map is still open in unreal. There were dialogue options in unreal that popped up in that process, but i don't remember what they were + what exactly I chose. I'm sure I hit all the wrong buttons along the way 🙃
Haha, sounds good, thanks!
DEar All, I'm working on previs with Unreal (no Dev or game). we will be a small team (4 artists). I made a try installing Perforce. But I never succeed puting Depots on a NAs (share drive). Is there a way to do it ?
I'm not an IT !
Alos, when I try using history with sequencer, I realise that choosing an older version from depot, wasn't upading the sequencer. Seems that perforce is more for developper that cinematography profil ? I would like to make a try using Prism in order to manage shots versions, do you have some experience to share ?
Any version control should be fine for any type of project. Not sure about the NAS stuff
should be, but doing my first try with Perforce I realize, that it's not the good way to handle shots versioning using history on depot.
Perforce is a version control software... It's always a single project state which is moving forward. If you want to maintain multiple "shots" simultaneously then those should just all exist at the same time, like if they were level 1, level 2, etc...
Yep, I'm coming from Maya/nuker pipeline. But I understood that in UNreal, it's better, to version, duplicating SHots than use a sourceContro (which sound more like a the Dev tool to share assets)l. I will made a try at Prism, that could handle shots
trying to setup perforce and I'm getting a warning whenever I try to add files:
file(s) not in client view
Generally means that the path of the files you're trying to add are not mapped to your current workspace.
Or you lack the permission for that path.
Why would I lack permission? Also I did include my depot to my workspace
I have no idea. That's just what I've seen that error it's been because of a permission of a path issue.
Is not a p4 admin
Lol.
I would run "p4 info" and "p4 set" in the root folder to verify your setup
trying to setup Source Control in Ue5, but its not seeing my workspaces
anyideas?
(even though in perforce, it shows my workspace)
try typing the workspace name manually into the Workspace text field of the unreal dialog
i retyped my username and it found it
Can anyone help me set up a depot and server on perforce for an unreal project that I want to do with a friend?
It's a wide area of work, and depends on a lot of factors like what os you will be using as the server. I would suggest searching for a blog/medium post on the subject for your specific setup to get a good starting point, and consulting for specific issues along the way as needed
Go to this page and select your operating system. I am on Windows so I will select that.
I was told I may be able to get some better help here with my error, so I am just going to copy and paste my message.
I am not exactly sure what is wrong with my project, but after restarting the engine last night, I now get this error when trying to refresh the solution, is this odd? It was working prior to this just fine. I should also mention I converted this project from 5.1 to 5.3 but this was done a good few weeks ago and was working just fine up until now.
Running C:/Program Files/Epic Games/UE_5.3/Engine/Build/BatchFiles/Build.bat -projectfiles -project="J:/BasementUE5/BasementUE5_5.3/BasementUE5.uproject" -game -rocket -progress -log="J:\BasementUE5\BasementUE5_5.3/Saved/Logs/UnrealVersionSelector-2023.10.27-13.04.33.log"
Using bundled DotNet SDK version: 6.0.302
ERROR: UnrealBuildTool.dll not found in "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll"
``` I can also include the log file its talking about if needed, but it is quite long so I might not be able to post it as a snippet on discord
This is resolved, had to verify the engine files, very odd how the DLL disappeared
Seconded, you don't want separate streams for different platforms, makes life a lot more difficult
We have for example pc + mobile, and we have an editor widget blueprint to toggle modes in editor. Same stream, slightly different build setups
ah yes this is for github. I forgot to tell that
Hi, is there any decent documentation which will let me manage my perforce server?
Just removing previous revisions - or archiving previous revisions should work
Hi, I've been a happy user of PlasticSCM(Unity Version Control now) so far, however today as I tried to log in it didn't allow me to open my repo saying that my organization is disabled. Advised by the prompts I created an organization via Unity Dashboard. However I am not able to add my projects to the organization(hence these are not accesible in PlasticSCM) only I can create new projects. Has anyone experienced the same issue and found a way how to solve it?
my Perforce server is working great, but when I check out a file, it takes a little bit before everyone else sees it as checked out in the content browser.
any way to globaly refresh the editor to check for check outs?
I guess you could make an editor widget which would call p4 refresh every so often. Currently I don't really mind, I've just adapted my workflow to be like this : the first thing I do when opening a blueprint, is nudge a node around the area I will be working on, then compile and save. This will force a checkout attempt, and should give an up-to-date warning if the file is checked out - and I don't waste time working until I notice that it is checked out when I try to save later.
doesn't unreal's perforce integration do that automatically?
you can also right click on any asset and go version control -> checkout to do that
Is there anyone who uses UGS with Unreal Engine source from official Git repo? Do you use native project structure that engine and project uses same stream like what official document explains or modify UGS to use different stream/depot? Is there a way to use UGS but not including Engine source in project stream?
UGS is designed for native project structure exclusively
I know. Just asking if there's anyone using it with tweak.
We had a clean depot, but integrated that into the project depot to make it a native project
Well you kinda can't
At that point you're just rebuilding it
Why? Source code is available and can make changes if needed.
Yes I build from source.
It's way less effort to integrate source into the project depot. But if you want to modify UGS then it's probably going to be a bunch of work and I haven't heard anyone in this channel making such modifications
Sure. I told you I'm just asking in any case someone does it. Thanks for let me know.
The best compromise we found was to use separate streams for the engine and the project, but then have the project stream import the engine so that the two streams are mapping to disk in the native project configuration.
if I want to take a UASSET file in my project thats in my perforce server and overwirte it with a newer version of the UASSET file, how can I do this properly without messing up oerforce?
(pperforce seems to be weird with trying to overwrite)
any advice / ideas?
It sounds like you should just check out the file, overwrite it with the new version in Windows Explorer (or OS equivalent), and then check the file back in.
hi! after setup a new typemap in Perforce it works for new files.
e.g.
binary+lS2 //....umap
do exactly what is should do - save only 2 latest revision for umap files.
but old umap files on server side still has more revisions then 2.
it there a way exist to ask server update all on its side according new typemap?
you could obliterate a range of revisions I suppose. Not sure about doing this on all files in case you would need to do it on many many umaps.
https://www.perforce.com/manuals/p4sag/Content/P4SAG/obliterating-files.html
I've got a very general question about licensing and official support as well as a more specific problem
we're using a digital ocean droplet (linux, 25GB SSD) to host our perforce server. We have run into a bit of trouble expanding our storage (bought an additional 100gb of HDD storage volume)
the problem is that whatever we do to change the server.depot.root or add a new Map: that point to the new partition, our submits still end up going to the small SSD partition as well.
So we managed to mirror our depot to the new large drive but failed to separate it from the old small drive.
We have contacted official support which helped us a bit initially and asked to run sone commands which also returned that our server was not licensed. They then told us we could not get any further help because of that. From how I understood the initial phone call with their team where I also mentioned that we would be running the free tier of their product they said we should still just message them in case we were running into any problems - what's true here? is the problem with being completely unlicensed (not being registered as free) or not paying?
I suppose there's a limit to how much support they will provide to a free account.
I know they have an official Discord now, you could try that.
oh cool, do you happen to have a link? I can't seem to find it on their site and only finding results about how to integrate perforce webhook with discord.
I'm wondering if they're making a distinction between "unregistered" and "free"
errrrrr I can't actually find it. did I dream it?
hehe, yeah same! Sadge
Hey! We do offer free 7 day support on non-licensed instances! Did you run out of time by chance?
No official Discord, but something is coming in early 2024 😉
Although we did add 4 new Admin videos to our YouTube channel! Hopefully this helps 🤘.
https://youtube.com/playlist?list=PLH3pq2J85xsMDY2AAkzUhTmHIg1S7WN1f&si=GOtOAqFMkqLpsxEY
ah that's good to know! gonna give these a watch, thanks.
we have been using perforce for more than 7 days by now, although we didn't get any support yet. I assume the 7 days refers to the first 7 days from the point of registering?
Cool! 7 days starts when you email the first time 🙂
alright well technically I sent one email a little while ago but we resolved the issue ourselves in that case and updated you guys before receiving support - I guess that counted? dang 😄
Haha, not sure! I do know that even teams less than 5 pay for it because of the support. There's a team of two that pay for licenses just so that they can work w/support as they're mainly artists.
yeah I see. Things have been going super smooth so far, just this one issue is stumping us a bit... We might consider paying then
I guess you don't really have a "pay to get support for two days" tier, correct? 😛
might be cheaper to just upgrade our SSD storage though since the project is only going for 2-3 months... anyway /stopramble, gonna think about it
dont want to manually obliterate anything because it its realy hard, dangerous and time consuming, just trying to find how to update the current project to new typemap.
p.s. only way I found now is a repush all files again ( even without modifications at all )
Subject: Integrating Unreal Game Sync (UGS) with CI/CD Pipeline
Hello everyone,
I currently have a CI/CD pipeline set up with automation scripts using RunUAT, Perforce, and Jenkins. I’ve been using the Unreal Engine launcher version to build my projects. I’m considering integrating Unreal Game Sync (UGS) into my pipeline and I’m wondering if anyone has experience with this and can share the potential advantages.
UGS is primarily a graphical tool meant for developers and creatives, so I’m curious about how it could be integrated into a CI/CD pipeline. One idea I had was to use the UGS Precompiled Binaries feature. Essentially, for each build with my CI/CD pipeline, I would push a precompiled version of the binaries. This could potentially save build time for developers and creatives.
However, I understand that these Precompiled Binaries are attached to a specific changeset. If a developer modifies the code, new binaries would need to be generated and pushed. This seems like it could complicate the workflow.
Has anyone had the chance to work with UGS and a CI/CD workflow at the same time? Any insights or advice would be greatly appreciated.
Thank you in advance for your help!
Hey @little pivot ! I'm actually talking with Gearbox on an upcoming webinar exactly about this! They use UGS and I'll be going through how they implemented all of what you're asking about :). We don't have the landing page yet, but it's coming soon!
@stable tendon Thank you for info, if possible could you share how I can subscribe to this webinar ?
They go hand in hand.
When new code is pushed, your CI system automatically detects this and runs a job to build new binaries.
Once the binaries are submitted, UGS is able to sync content creators to that version.
Noggs nailed it.
And then in the morning, on a schedule, UGS can pull the latest binaries and then artists can start working w/o having to compile.
UGS is mainly there to prevent content creators (and anyone who does not compile themselves) from syncing a changelist that they cannot run.
Thank you guys for pointing me to the right direction
We're working on the signup page now 🙂
Ok, I've been through the settings manual twice, how do I get p4d to switch to SSL mode
I've set the p4ssldir
I've setup a cert using p4d -Gc, and a fingerprint with -Gf
I've set ssl=1
I know it'll be something obvious...
if within P4V I specify ssl:host:port it fails, while host:port connects fine.
This is all within localhost
yeah i have no idea how to actually use either of these but
https://github.com/jackknobel/P4Scripts/blob/master/P4Re-typemap.py
Hey does anyone know how to unstage these files
so i can add them to my ignore and prevent this from happening again
i have
i also committed these after deleting a file that was causing issues
yeah im trying to fix this without losing the progress locally made
uhh how i do that again
i know how to work with terminal a bit
just 1 yeah
alright that uncomitted the commit
also is this the right place for my gitignore?
since i'll have to add .log files to it and that sg file i suppose?
i manually set up the repository within git desktop from another laptop, on this guys account
so i made an emptyproject, made him clone it on his device and thats how where we at now
in case anyone else is as dim as me, this was fixed by setting P4PORT to the correct value on the server
I'm having an issue with submitting changes to my depot in p4v. This is my initial project commit, and when I go to submit it tells me "warning: file not mapped in stream //<folderName>/<fileName> client" for most of my files. Only ones that it took were the ones in the root folder. Anybody have any ideas what to do to fix this?
hello, anyone have an idea why my unrealengine keeps crashing when i press "sync content"? i am using ue5.3.1 and SVN
@dusty girder
How do i stage all these files except these 7 for committnig?
from within the terminal
Will I have problems with perforce if my version of the project has a plugin installed that others don't?
(Physical Layout Tool)
as long as that doesn't serialize anything at all into any game content, it is purely an editor tool, it shouldn't affect anything. you might want to manually add your own local ignore entry to cover the plugin though
I have a few questions about git LFS
i bascially made a repository, added some stuff about 3 commits until now and now i can't push the current changes because of these 7 files.
i also ignored these warnings cause i couldn't stage files through github desktop so i kinda forced it in the terminal.
Im gonna make a new repository and reconfigure GIT LFS on it adding this .gitattributes to it this time, would that fix the issue or not?
because im also a little conflicted on what to put in this gitignore or if it would work as it is
I think i found out how most of ts works
still dont know if the .gitignore actually ignores stuff or if i need to add dstuff myself though
I watched this video to configure perforce https://youtu.be/Hvmvv2MG-UE
It had me setup a ignore file to get started on my project but now I want to create a new depot for a new project.
I was thinking of just making a copy of the ignore file and using it with the new depot, but will I have to redo the ignore commands in windows CMD?
I remember needing to type out a command in windows cmd for the ignore file but will i need to do it again for a new depot?
any advice would be super helpful
people working with git lfs lock support... how do you handle merge commits?
force everyone to rebase?
use a server that is not overly paranoid on merge commits for locked files?
🤔
i need a resource that can show how to properly setup a second depot through perforce.
I just created a new depot and the entire system just fell on its face.
errors left and right, this software can not figure its shit out when it comes to new projects
i need help
perforce admin... new depot... what happen
and the ignore config is 'local' to you/your machine
literally all it does it set a windows environment variable, and then read that whenever it does anything anywhere
i created a new depot through the admin
created a main stream
added a workspace to that stream
all seemed to work
but now im having all these errors and they seem to require a solution involving setting workspace view or something
perfect service on my first depot
now with the second nothing works
@woven sluice ive seen like a 150 replies to the same questions that involve right clocking on my depot and adjusting the view from there.
I cant do that, when i right click, it does nothing
also all the icons on the right are blank and cant be selected
@woven sluice any ideas?
the buttons are normal. those are for classic depots, not streams depots
ok
@woven sluice do you know how to solve files not on client?
what do you do to get that error?
created a new folder in ue5 called DEBUG, submitted changes, the folder is not in the depot and my team members dont get the file when get from latest
i tried adding it, nothing
i tried deleting it, nothing
so I just removed it with file explorer
i have no idea what is happening in this softwire. Everything is fine and now with a new depot the entire thing is broken.
every time I tried interacting with the file, (especially deleting) it would throw that error
yes
folders don't exist
?
it would not be an issue if the documentation is there, if so, one would just man up and read it.
but its no where, theres no where to run when things go wrong
I told you the answer
?
with folders?
what about this new thing that just happened
I created a BP actor called poop
it saved it in the depot, but when I moved it to a new folder and submitted changes, it now shows a duplicate version.
is this normal?
would these be considdered errors?
Yes (sorry - yes it is normal)
This isn't related to version control
The first file is a redirector
Within unreal you can right click on any folder and run fix redirects
the white one is user 2, black is user 1 (user 1 is super user)
you can see the directories are drastically different.
some folders are not even associated with one workspace (including test2 folder, which is custom made by a user)
any way to work out why there is such a desync?
what's inside of test2?
nothing, does that mean it is disregarded by perforce?
yes
there is nothing to track
it's a folder
it might be of interest to point out that there is an option somewhere (probably listed in p4v settings) to automatically delete folders within the workspace if all of the files within the folder have been removed by a commit
ok
can't remember what the default value of it is, but if it's turned off, you can end up with some fun garbage directory structures after long development times
Yeah, it's off by default. And it's an advanced option of the client's workspace (or that's at least one place it is)
Is there a way to start review between two submited changelist in perforce (helix swarm)?
When I start on one CL and add another, it doens't really work well (non edited files are missing between diffs in helix swarm)
Can you tell me how much is perforce charging you? The business model of "you pay as much as you can pay us" seems shady to me 😐
It's free for up to 5 users, and how much they are charging us (no clue, I don't deal with finances)
I got up to 5 users and then they sent me an email saying something like "we pick our rates in a studio per studio basis, how much do you make a year?"
which translated to me as "we are going to take as much as we can get from you"
and that rubbed me the wrong way
I recently setup Perforce and connected it with UE5. I had another team member push a change up so I could test out getting latest, but when I go to Tools -> Sync Content in UE5, it crashes every time. Has anyone else had this issue or have any ideas on what might be the issue?
one day perforce as a company will advance beyond the year 1998 and release a publicly listed two-tier license scheme which includes normal pricing for normal businesses and reduced pricing for indie/low income businesses. one day. but not today. (or even some sort of cheap "full use licenses with no included support" licenses would be awesome for indies)
i don't have an answer for you, but the reason why i don't have an answer is because i don't ever sync project updates with the editor open. i will never feel like that's a safe workflow. i would just recommend syncing from p4v after closing the editor
I have installed plastic scm server onto my pc and it says it has a 5 day trial. what happens after it expires?
hello, i wondered if anyone had setup the integration between p4 and slack? we found it better for development than discord
what im thinking aswell
with perforce i couldnt install the server, kept getting errors and dont want to pay for a server. and git is git
SVN is an option, there are some providers with pretty fair deals. I used to use RiouxSVN
Heyo, that sounds sketchy and not like us. I'd like to investigate for you. I'll drop you a DM.
It's coming 😉
Also, Epic is actually looking into changing/charging very similar to our model next year, as stated in his opening statement at UnrealFest a few weeks back. So it does work.
i like paying for stuff when i can/when it helps me. but there's definitely a tipping point where charging for things in certain ways actually reduces a company's total revenue in the long term 😄 classic fairytale story of a king taxing his peasants to their literal death lol
I heard git is free tho
"don't you guys have phones?"
Presumably in the same way they say how much they're charging based on the turnover of the user(s) for games, is that metric or sliding scale available publicly for perforce?
My team is encountering this issue. If anyone is able to help answer this question we posted it would be greatly appreciated. Thanks! https://forums.unrealengine.com/t/perforce-issue-with-unknown-files-taking-up-space/1369409?u=tracygames
I have run out of storage on my AWS cloud that is connected to perforce. I am trying to find out what is taking up space since my project is 78GB and is taking up 180GB of space. After obliterating my project entirely on Perforce I am faced with 100GB+ of storage space being consumed with unknown files. The empty depot itself can’t be deleted du...
I don't have any answers for you and I don't know how to use AWS but if you have remote access to the server you can just go in and search for it manually to at least get some idea
Are you sure the extra space isn't revision history? That seems to be what the error message is telling you to clean up
can always try to -f it too 🤷♂️
they did say they obliterated which should destroy all that (assuming you actually meant obliterate when you said obliterate 😄 )... although the error also explicitly calls out archive contents
I figured I would have to SSH into the server. We can't seem to get that login established however so we might be out of luck.
It's pretty typical, most pricing pages have that. Good news though, our new SaaS will have public pricing :).
Hey Chase, I see that issue, sorry it's happening. Since you can't SSH in, can you use the AWS console to remote in?
The AWS console is accessibly, yes. Do you know what commands I might be able to use?
Totally depends on what you're trying to do, sorry mate. Maybe try a df -h to start?
[cloudshell-user@ ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
overlay 16G 3.3G 12G 23% /
tmpfs 64M 0 64M 0% /dev
tmpfs 1.3G 0 1.3G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
/dev/vdf 16G 3.3G 12G 23% /home
/dev/loop0 974M 7.0M 900M 1% /home/cloudshell-user
/dev/vde 20G 633M 19G 4% /aws/mde/mde
[cloudshell-user@ ~]$
And see if the depot/archive drive is full... Side note, this does become more of a Perforce support question, as it's not really tied to Unreal Engine. So happy to poke our support team when this comes in.... support@perforce.com.
Where is the instance volume located?
hey, hope you're doing well.
When I try and import files into unreal it works fine, but when I submit the files to the depot, it doesn't work.
perforce is saying "no files to submit"
any ideas?
@coarse arch That looks like a non-standard Helix Core install... usually they are:
/hxdepots /hxmetadata /hxlogs
The depots mount would have that data, not sure what you have mapped there.
Hey! Looks like you have your workspace mapping incorrect. You might have a non-streams workspace and trying to submit files to a streams depot.
this was how the workspace was created.
does this rule out the chance that the workspace might be a non-stream?
we might have fixed it, hold on one second
You can check if a workspace is a stream workspace by going to the Connection menu and selecting Edit Workspace...
You should have a stream specified in the Stream field. If not, you can click Browse and select one.
this was the issue.
thnks!
I am considering switching one of my clients from GitHub to Perforce, but I can only find online resources for going the other way (from Perforce to Git). I want to bring over all of the commit history from the GitHub repo. What is the best place to start? git p4? Helix4Git?
I know some tools exist but don't know how well they work. https://portal.perforce.com/s/article/2803 might be worth trying.
I guess if you're starting from a blank slate perforce server the worst that happens is it doesn't work.
I will note that you probably don't want a perforce graph depot and can probably ignore anything that mentions it. That's the functionality perforce has to host a git repo inside of a perforce server, but it is heavily limited in how it can interact with normal perforce operations.
git p4 is apparently bidirectional, but I can only find examples of it being used to migrate a Perforce depot into a git repo.
Thanks. I definitely won't need anything like that. Looking to do a one-time migration, not keeping them in sync. A legacy depot will do. Streams aren't even necessary for this client.
Right, just want to make sure you immediately ignore anything talking about graph depots because they aren't relevant 🙂
Appreciated.
It looks like one of the examples on that page shows how to submit to p4 from git fyi
git p4 submit
tbh I'd just play with the commands mentioned, the worst that happens is you need to delete the p4 depot and start over or clone the git repo again
I think so. It's hard to read that page because there's like no hierarchy or formatting. lol
yeah it's not great
Basically relying on "find on this page". lol
https://git-scm.com/docs/git-p4 is better
from the submit command docs - sounds like you need to make a p4 workspace but don't need to have anything in it yet, just set it up and set the P4CLIENT env variable.
Sounds easy enough. I'm very familiar with Perforce; just never migrated to it before.
You can keep all the history in a graph depot type as well for historical reference.
https://www.perforce.com/manuals/p4v/Content/P4V/graph-depot-workspaces.html
ey guys, i have my old unreal files on github. I'm downloading it and when i open some of the files the animations, bluepritns etc are empty. I've heard that they can get corrupted 😦 ...
i've already tried several stuff:
copying it into my content folder
copying it within another folder other than content
i can't open the project because it says "source cannot be built"
@stable tendon any update regarding the webinar ? is the signing page ready ? Thank you!
hey fellas, i have a perforce project and i would like to ask if anyone knows why my Unreal Engine (5.2) does "reconcile" files form the engine itself instead just from my project folder?! does anyone know why UE does this?
It slows my engine down heavily and makes it very hard to develop on my old potato PC... i am not sure why UE does this or if the engine files even need to be checked for changes since i only have my project uploaded on my perforce repository... so if i could get rid of this concile thing it would help me a lot. does anyone know how?
Just launched today! https://www.perforce.com/resources/events/vcs/webinar/gearbox-jetbrains-cicd-pipeline?region=north-america#north-america
Thank you!
From my understanding, as long as the UE project is connected to P4, then UE will handle ensuring files are updated. Grabbing the link to the docs...
But why does it check for changes in the installation directory of Unreal Engine istself rather than only in my project folder?
This is what confuses me and what slows down the engine itself
https://www.perforce.com/manuals/p4vs/Content/P4VS/managing.reconciling.html
Not sure I see where it does it automatically. There is a spot to automatically get all revisions (at the bottom).
That depends on how you have your workspace mapped, and where files live.
Well, regarding to the setup of the perforce repository server (e.g. typemap and .ignorefile), i just used this standart tutorial: https://docs.unrealengine.com/5.3/en-US/using-perforce-as-source-control-for-unreal-engine/
So all in all it's just a regular game project i submitted to my perforce server. The Project-Folder and UE installation directory on my PC are separated. Besides that, i do not know what mistake i could have done.
Gotcha. Check this one out, it might give you a few clues. We've been adding a bunch of videos to help with getting setup!
https://www.youtube.com/watch?v=7PRo8gK6SNM
Learn how to use Perforce Helix Core source control in Unreal Engine 5 with this step-by-step tutorial from Jase Lindgren, Sales Engineer at Perforce. Source control is essential for teams using game engines, and Helix Core is designed to handle the many, large binary files that are involved in using a game engine.
This video covers:
00:00 - In...
Thank you so far
Hey guys I have a project set up with github desktop as an environment artist sent me the level and I made a bunch of changes to it. Now I opened the project after a week of being on vacation and all the changes I made to the project are gone including the level
how exactly you host your own Git server with LFS?
It's on github.
He mentioned it earlier.
You can upload files without lfs if they aren't too big.
about that big file part.....
need LFS for that reason alone
you run out of file storage quota pretty fast
Yes. That's probably exactly his problem.
*mine. might need to buy personal VPS for this reason alone
but want to have a practice beforehand
Oh. I thought you were responding to him!
Not your own problem lol
You can get a free server with azure devops.
free server?
Yeah, they have a free tier with basically unlimited space.
think you need credit card?
Shrug never used it.
So what can I do
I just want access to the latest changes which I had a week ago
What I woudl do is commit the changes you have in your main branch and try to push them. Then switch to your testt branch and see if your map comes back.
I can't gives an error
When you do what?
Switch branches and also comitting
Committing or pushing the commits?
Both
Pushing to origin says remote disconnected on writing stage
Pushing the changes shows an error too
*committing
And what's the error?
If it comes down to it, you can just copy the files you've changed to some outside folder, revert the changes and try to switch.
It's only 4 files, right?
Copy those files somewhere. I.e. back them up.
Then discard changes instead of reverting. Then try to switch branches.
Ok I'll try later today
Btw I don't think I need those assets, it's just a tarp. How do I discard everything
doesnt work
it wont let me delete them nothing happens when i click discard
Delete the files manually
Then discard changes and htey should come back.
(in their unaltered versions)
I keep doing that but the folder keeps reappearing
these two folders keep re-appearing when deleting
Reappearing when? Automatically the moment you delete them?
Or what prompts them to reappear?
they just appear when i delete them
instant
it goes away but instantly reappears
i clicked discard all changes after deleting them manually but it doesnt do anything
Did they exist before discarding changes?
yeah i believe so
Discard changes will bring them back in their unedited forms.
how do i remove them completely then
If you click discard changes, do they disappear from the change list on the left?
i deleted them on the right but now they appear like this on the left again
then selecting them all and clicking discard changes makes them appear again
Yes. See they're marked as deleted now in the change?
only after i delete them off file explorer they dissapear but then appear the next time i do it
oh ok
i deleted all of the yellow boxed ones by deleting in file explorer
now click discard all changes? it will make them all reappear tho i think
it will keep appearing in GHD if i dont delete it from explorer
If you select all the files in GHD, right click and discard changes, what happens?
clicked discard all changes and look. they appear again
nothing
Open the git console and type: git reset --hard HEAD
Now what does GHD show?
2 changed files
You've got a totally broken git repo.
...do you have UE open right now?
no
Try rebooting and doing it again?
rebooting my pc?
doing what
Nevermind
Note in teh second list of commands, a lot of them end with . - don't forget to add it on.
GHD still displaying stuff?
still shows the 2
Try the second list.
Okay, your git is just fucked.
damn
but i dont understand why it reverted all the changes i made to my level tho
i had it less than a week ago
the only thing i did was trying to push the latest changes
but it said remote disconnected on the writing stage
i tried switching to testtt branch bc i saw online that it may be my project is too big so i thought a fresh branch with the changes would let me push them
i think it switched to that one but failed to push
why is this greyed out
i even have an exe build of the project too with all the new changes but for some reason the actual project changes are all gone 😦 took me like a week to make so many changes oh my god
Is it greyed out or is that just a hover highlight?
greyed out
The environment artist said my local changes are not related to source control
Your local source control is just broken.
Somehow.
It's not related to the github repository, really.
It's just you.
I don't know what's happened, tbh.
Sounds like I stashed changes and switched branches without pushing
I mean it's just people who don't know how git works, really.
Does P4 Helix have a status page? Can't switch connections suddenly... ( couldn't find one on short notice )
Unable to connect to the server xxx with user 'yyy' The DVCS unicode server needs a character set.```
You could do a ping or nslookup to the server's IP?
Thanks. Not sure what was up, but made a fresh connection and it worked... go figure, some glitch
Using Jenkins with the P4 Plugin, everytime the action is called the Plugin downloads the latests version then deletes the workspace. Why is this? shoudn't it only pull new versions insead of downloading the whole repo each time?
Also-- Is P4 Sync the same as "Get Latest Revision"? I don't want to delete untracked files.
The p4 sync command and the term "Get Latest Revision" generally refer to the same operation, which is to update the client workspace with files from the depot. However, "Get Latest Revision" is more commonly seen in P4V, whereas p4 sync is the specific command used in the Perforce Command-Line Client (P4). It shouldn't delete untracked files.
Note: There is an option on "Get Latest..." to clean the directory, as I think that's what you're referencing.
I'm not too familiar w/the p4jenkins plugin. If you have reproducible steps, please log an issue on the GitHub repo :). We keep an eye on those.
Thanks a lot! I'm not sure if it's an issue but rather me missusing the workplace--
Right now I attempted to restart the process but had this error.
I googled it and searched on this discord, and the array of different causes/solutions don't feel that apply to Jenkins.
Jenkins should have Read/Write permissions on the folder. Which is crazy.
file(s) not in client view mean that there is a workspace mapping issue. My guess is how the workspace is mapped to the Jenkins drive.
I haven't touched any of the default values, I'm not sure if there's suposed to be a setup guide 🤔
so the repo actually uses git lfs
Im using my laptop instead of my pc and i see there is only the main branch. No testtt branch
hmm ok idk why the testtt branch isnt there tho on ghd
Shrug
so i made a bunch of changes again to the level starting over, how can i make sure the changes are saved this time?
Basically whenever you are happy with a milestone of your choosing, submit it to mainline. Revert if you need to dump the changes
commit to main?
i made a backup of the content folder too
yes. always make sure before you commit to check the list matches your expectations of changed files
newest git wacky thing:
- Create a bp
git addthat bp- modify that bp
- stash the staged changes (the first add but not the change)
- unstash the git added bp
See the world burn.
I ended up with an lfs pointer of an object that was never commited, so git lfs pull couldn't find it anywhere 👌
If anybody knows how to unfuck an lfs pointer in such state, please report to the local authorities me
Hi, I'm maybe misunderstanding binaries/use with Perforce/Jenkins (we're not using UGS or source engine build). We have Perforce and Jenkins set up to run builds automatically. We also have a single c++ dev on our team, everyone else uses blueprints only.
We've included the binaries folder in Perforce but when getting latest it doesn't pull the binaries folder down. It is not in the ignore file.
When setting up a new workspace we have to do the whole right click .uproject file / generate VS project files.
Did we set this up incorrectly? Can I have jenkins do something with the binaries for us without UGS?
-
Binaries: Hmm. Since Binaries are created and/or modified on each build, it seems to me you would need to have Jenkins also push the resulting Binaries to the repo. I personally don't think this sounds like a good pattern : we ignore Binaries.
-
Setting up a new workspace, yes you have to go through the steps. Is it a showstopper for us? No, it's pretty easy in the end.
-
Disclaimer, this is just my opinion, not sure what real 'best practices' are. Now I think of it, people have warned me that having everybody have Visual Studio is technically not correct licensing wise, and building the editor off a build machine would be the best way, but I haven't really dug into how exactly that should be setup
Regarding Binaries included in Perforce, sanity check
- Who is pushing updated Binaries? Are you sure that is happening?
it appears they haven't been updated in months. Should the c++ dev be pushing them when they make code changes?
Possibly. So
- c++ Dev is essentially the Binaries dude -> makes sure the editor Binaries are in shape ( because they change when c++ changes )
- Jenkins handles the actual playable builds
An option might be
- Jenkins also handles the editor compilation and only pushes binaries on a successful build, possibly averting some unnecessary pain
ok yeah I guess he hasn't been pushing them but even if he does, I'm trying to get latest from the outdated binaries folder that's already there but nothing is updating/p4 says its up to date already.
It looks like our Binaries folder has a Win64 folder in it with 3 files, .target, .dll and .modules. If I force get revision I can get the files and everything is good. If I use my own that get created when doing the generate VS files I have an error from something he added in c++ recently.
my ignore file only has a couple of lines for the Binaries folder to igore things:
*\Binaries*.pdb
\Binaries*-Shipping.
"Force get revision and everything is good" - that may seem so, but it seems to me something can and will break if they are 3 months old.
"Use my own.. error" - to use your own, you need to be doing the whole show ( at least when c++ changes like new functions etc ) : delete Intermediate, rebuild in IDE, run )
If .uproject file changes, you usually need to regen solution as well
But at this point maybe I should not say more since I am only really knowledgeable of the 'everybody builds' way of things
either way you've been helpful, thank you
my project crashed while i was working on it i think bc my computer couldnt handle all the trees in my level anymore but now every time i try loading the project up, it crashes before even showing the editor. I already deleted saved and intermediate folders
here is the crash report:
LoginId:9ca2f4c8454e20e619ef799cab5909f4
EpicAccountId:438a6f4bc0dd46d691e962a5d63e063e
Fatal error: [File:D:\build++UE5\Sync\Engine\Source\Runtime\RHICore\Private\RHICoreShader.cpp] [Line: 40] Shader requested a global uniform buffer of type 'SingleLayerWater' at static slot '[Name: DeferredDecals, Slot: 0]', but it was null. The uniform buffer should be bound using RHICmdList.SetStaticUniformBuffers() or passed into an RDG pass using SHADER_PARAMETER_STRUCT_REF() or SHADER_PARAMETER_RDG_UNIFORM_BUFFER().
UnrealEditor_RHICore
UnrealEditor_D3D12RHI
UnrealEditor_D3D12RHI
UnrealEditor_RHI
UnrealEditor_RHI
UnrealEditor_RHI
UnrealEditor_RHI
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
kernel32
ntdll
You definitely shouldn't have deleted your saved folder.
it said on the forums that it regenerates every time u load the project anyways
That's not true.
The saved folder is exactly what you could ahve used to get a backup of your files.
i found it in the recycle bin and restored it but the project keeps crashing on startup
Take your current assets (in your content folder) and copy+paste them somewhere.
already done
Find the ones in the Saved folder (they'll be called YourFilename.saved or something and rename them back to .uasset and copy them over your current assets
Process of elimination until you find the problem asset.
this is whats in my saved folder, i dont see anything regarding .saved
Autosaves...
there is engine and game folders. Going into the game one shows all the folders of things in my project
Yes. Backup that folder too.
Okay, so they aren't called .saved any more.
SEems they might have _Autox on them that you need to remove, though.
but this is only 1 folder out of a ton of assets
each of these folders have subfolders
Yes?
most of them only containing materials though
so you are saying change every single one? idk what you are asking me to do
Yes. Yes I am.
It may have multiple backups of the asme file (Auto1, Auto2, etc)
Try the latest (the highest number) first.
It is going to take a while.
Good luck.
ok so this was auto 2 that i removed, am i doing it right? I removed the _auto2 just wanna make sure im correctly editing these
project crashed again
this is the forum i saw that said remove the saved folder
I'm sure some of that is true for Saved, but it's also where your autosaves are.
And you definitely don't want to delete those.
so since your advice didnt fix my problem, I deleted the defaultengine.ini after making a backup and loaded up the project which ended up working but my lighting is all messed up. it looks like im on unlit mode but im not
it should have light rays shining through
and also be a sunset tone
I didn't change all of the autosave asset suffix's, only the highest number so should i change them all? If I do, won't they overwrite since they are the same name other than "Auto_1, auto_2?". I think it has something to do with a water material causing the crash on startup btw
Fixed it. I deleted the water covering the floor and saved the level, then dragged back in the old defaultengine.ini and it worked
👍
Hold on. Saved folder keep stuff like Logs and such. It is in general NOT a solid way to get backups of anything. That is what version control is for. Sure there may be some autosaves but that is certainly not something you want to trust
What are you on about?
I'm saying that his autosaves could have fixed his problem, not that "the save folder is the best way to keep backups"
This instruction is great for weird build errors. Usually just clearing Intermediate is fine. If there are c++ changes, clearing Binaries is necessary. Saved also seems to have some artefacts from build operations in some cases, but I don't recall exactly. In general Saved folder should not have anything critical. Deleting it should result in the situation where a player would be entering your game for the first time.
We are in the source-control channel. I would assume anybody here should have vcs setup and not be relying on autosaves.
Have you seen his attempts at source control?
I think that is perhaps not a supportive way to proceed. Source Control may seem simple to those who have used it for years but the learning curve is there.
In either case, "just delete your saved folder because it's all regenerated anyway" is not true at all.
That's a fact. Intermediate is the usual target for cleaning.
Regardless of how good source control is, it isn't something that could solve his problem right now.
anyone who recommends deleting the Saved folder is someone you want to be very careful about listening to (as in, they're a newb)
Is it risky to do commits / pushes with Unreal open, autosave turned on?
Ok, so Im trying to do my initital commit but it keeps getting a fatal error 'the remote end hung up unexpectdly". I think I may just have too many uassets. What do i need to do to fix?
While it seems to work, I do recommend closing down to make sure all changes are really saved, nothing forgotten. We have Jenkins set to package a test game on every change ( checking every 5 minutes ) to catch any human errors, and average maybe 1 catch a week. Usually unsaved bps / forgotten c++ headers
For pulls you always need unreal closed, as you have probably noticed.
Right... Just had a talk regarding it. So my concern on closing down always beforehand was correct
so do I have to import every one of my files to lfs that I want to be source controlled? that seems...excessive
"import" ?
sorry migrate
i've been trying to get my initial push all day, but keep getting an error about it being too big, which means that lfs isn't working properly
Did you try git lfs track "*.uasset" ?
*.uasset is in my .gitattributes file, do I still have to do track?
i did add my .gitattributes as it says in the directions
If you don't migrate the files, they won't be tracked by lfs.
ok so i have to individually migrate every single one?
lmao well i deleted an entire day of work today in the process of getting this set up.
If only you'd had source control set up a day earlier!
ha, right? I still don't really understand how this works and how i'm supposed to track uassets vs cpp/.h files. Can I still do my cpp in LFS?
im having trouble finding resources that start at square 0 like i need
You can do your cpp in lfs, but I'm not sure why you would.
well i deleted all my work AND i cant get anything to upload to my repo anyway😄
Always back up before fucking with stuff 😛
yea fr. I feel too dumb to get this shit up and running
So I guess I would use git lfs push for all my LFS associated stuff, and then id configure normal git to ignore all the lfs files and just handle my cpp and h files?
Something like that.
As a solo dev do I need to have the Binaries folder in my source control? The official docs show it as optional but aren't clear to me about when you should or shouldn't
Binaries don't need to be in source control, they can always be regenerated as needed ( with the rare exception of some ThirdParty libraries in Plugins )
Thank you. For those rare third party libraries, would those need to be checked in? Seems like even if they can't be regenerated they should be provided from somewhere other than the source control server
(I'm getting ahead of myself though, I doubt I have any of those)
third party binaries shouldn't change that frequently (or at all) so not really any issue with checking them in, and keeps your dependencies unified.
so you do check in your Binaries folder?
no, lower case binaries
As in .dll, .so, .lib etc.
if you are linking in a third party library
Got it, that makes perfect sense
I'm still early enough though that I don't have a good sense of what that minimum set is, or where those files live, so I appreciate you all taking the time to help me out
Does it give you a .p4ignore/can those be used interchangeably?
sure, makes sense. The p4ignore examples I've found online are pretty simple in comparison, so I feel fine sticking with those. Project is still early on anyways
One final question as I finish setting up my source control:
When I move the contents of the project folder to my perforce workspace (followed by adding them to the p4 server, submitting, telling UE to connect to the workspace), the engine will be able to follow those files being moved like that with no problem?
Yes, unreal projects should work fine no matter how they are moved around
Okay great, I was worried there'd be some config or something that hardcoded a path, but obviously not
I got source control set up without a hitch, thank you so much for your help!
So... I'm stuck. I'm using Plastic/Gluon and I have a dev on my team who pushed a bunch of changes that we no longer want. I've made changes locally on my end and I need to basically just toss out everything he's pushed. We typically use Gluon for the convenience of being able to push before pulling and we use exclusive checkout, so now I can't switch back to the Unity VCS full mode without pulling.
Anyone know how I can just simply dump all the incoming changes in Gluon?
Plastic continuing to be the worst doesn't surprise me
Anyone know a good cloud storage space that works with perforce? I've been using JetBrains spaces, but a " git" repo just isn't that great for assets and such. I looked into AWS and Azure but I won't lie. The pricing is confusing.
Hey @thorn halo, couple questions. How much data do you have? Do you need it to be on the cloud? Are you a startup (that might help w/credits).
Side note, I usually like to recommend 2.5x the data you might need to store. So if the UE project is 100GB, I'd recommend 250GB.
We also have options for Google Cloud and Digital Ocean 🙂
Did not expect to get an answer from someone with a "@perforce" name. :D.
I'm working on my own personal project on the side still. Once I get further and have data from a prototype I will need more space. So right now I don't even need that amount of space. I need more like 15 to 20 gig. That will obviously grow once I moving from prototype to pre production and the to production (here I expect to need more like 150 gig). But that like I said is further in the future
I'm not a startup but a solo dev, and the reason I want it in the cloud is that I don't trust myself with proper backups and such if I only have it offline.
I'm a level designer by trade but this is the first personal project that I actually plan on releasing as the prototype is so far well received.
Haha, I'm the Gaming and M&E Evangelist, I also helped out w/creating these offerings!
Your best bet would be to use a DO droplet! The small ($5 or $10 /month) instance size is perfect for you. I'd suggest getting a 128GB drive, and make sure to enable backups.
It's the best for personal/small projects (until the SaaS comes out 😉 ).
Check it out here and rock on 🤘
https://marketplace.digitalocean.com/apps/perforce-helix-core?refcode=90e2df25d996&action=deploy
(PS. Use a NVMe SSD!)
(Media and Entertainment... aka movies/tv/etc.) 🙂
Ah.
Unreal Engine is used all over broadcast/virtual production/commercials/vfx/animation/etc.
Yeh. I work in virtual production myself 😛
Just perusing the DO droplet offering page (https://www.digitalocean.com/pricing/droplets#basic-droplets) it seems like 160 GiB SSD storage (which was the closest I saw to 128GB) runs you $48/month. Is there a cheaper option? Am I even looking in the right place lol?
Messing around... looks like you can do it all for $28/mo (150GB), or bump down the instance to get $17/mo for 125GB.
Ah got it, didn't make it to that page. Thank you
np!
I got a question what ExternalActors stuffs do? Do I really need them for Source Control?
they look very heavy
but doesnt it takes too much of space? I am certain I dont have much and mostly landscape
whats with all those KB worth of data when its just basic object info+position to place?
man I really hate UE for these BS
You could turn it off and have your levels all increase in size instead.
Hey so after implementing point lights into my level, it seems like it corrupts my save every time I try and submit my packaged build to the depot. It didn't like my point lights being in my level, but worked perfectly fine when I took them out. Here's a picture for reference
Any idea what might be causing this even though my build packages perfectly fine without issue?
why are you uploading packaged builds to source control
and that's nothing to do with point lights
so more or less i'm in a class, but the goal was to package a level we're working on, take the packaged build and submit it to the depot im a part of
but that makes it even more confusing, because once i took the point lights out, everything worked fine. i kept them in and it corrupted twice, but only stopped corrupting when i took them out
well PDBs are symbols for the executable
dunno why a class would be teaching you that
i think it's for ease of grading purposes, but i digress
and PDBs aren't critical to run the packaged build
oh it's not?
no?
is it because that's a dev thing, less of a player thing?
since it's essentially debugger info?
well yes, it's debug symbols. you typically don't distribute those to players anyway
for my specific case since im in a class, is that important for the grader at all? i'd assume no if they're just grading the level itself right?
no
but why would the .pdb have prevented me from submitting something to the depot? that's what im still curious about
but I have my doubts about this class if the best way of submitting a build was misusing source control
just untick it in the p4 submit window?
i'm pretty sure it's a niche case because it's a class and this is the proper way to use it for them to properly grade
because other people would be playing the build as well
not just the professor but the students as well
normally, im fine with just packaging, zipping the folder, and being done with it as a grade. not sure why they decided to implement source control to do the exact same thing, but yeah
source control is for the project rather than build products. I'm not sure why that couldn't be dumping the zip on a cloud or network drive
that's what im confused about. that was my first thought
i think it's because they plan to put people into a group and combine levels, which would then make a project to submit changes to
but why would the .pdb have given me an error like that? it's a new error for me and i haven't seen it before
PDB files tend to be very large, so that could even be due to networking conditions
oh like server side stuff?
like a bunch of people trying to work on the server at the same time kind of stuff?*
well literally anything between your computer and the server
hmm okay, i think my wifi is a problem as well
for some strange reason, going on ethernet solved all of my upload problems
that sounds like the wifi experience
hi there i need to switch pc and get my UE5 projects from one to the other.. what's the best way ? my new pc has not arrived yet but i need to let go of the one i have now.. no pc is going to be hard. but how can i make it sure i don't loose my projects? thanks a lot
I dont need collaboration or anything
well you still setup source control the same way
- Source Control is best indeed
- Moving projects if fine any way you like otherwise, like USB stick or whatever, just copy the whole thing ( can leave out Binaries + Intermediate if you wish )
ok thank you so much ! i'll copy them on several different drives so if anything happens i'll be good that'll be easier than source control i guess
and especially that they are pretty big projects
uh... you should still setup source control
Source Control is still absolutely the way to go for any project, I can't recommend it highly enough
redundant copies are good, sure. but source control also has revision history
you are right i'll do that as well
hey, we enabled external actors on a level in our project, and most of the time modifying actors in the scene checks them out individually, but every once in a while something makes the level itself check out
are there level editing operations that force a checkout of the level itself?
this isn't a world partition level btw, just external actors
iirc you're correct, modifying the world settings and some other "built-in" things modify the base umap
some things that affect the _BuiltData file (which includes navigation and lighting info) may also try to modify the umap, not entirely sure
@neat grotto Took a bit, but I found what you were looking for: https://github.com/rcowham/gitp4transfer/blob/main/doc/GitP4Transfer.adoc
I used a version of this a year or so back, it worked pretty well with some modifications to set names and times on CLs
I think the Go rewrite can do complex branch handling too
Thanks for the tip! I will take a look at this and report back.
turn what off?
One file per actor. OFPA.
just trade the workflow improvements out because a lot of small files is scarier than one big file
You've got me sold! 👍
<@&213101288538374145> ^ Google translate, search messages by user
It was a polite Bulgarian greeting or something, but out of context so...
Anyone know which type of services I need to use if I want to use Amazon with perforce? If it standard S3? Because it seems quite easy and cheap for my use case but I have a hard time believing the pricing.
Perforce cannot be hosted on S3 alone. You could use S3 for storage in theory, but you still need an actual VM to run the server on.
Please pretend I'm a three year old for this. I'm not technical at all when it comes to setting this up.
That is what I also needed to know. 🙂
I'm trying to figure what the setup would involved and what I need to make it work to figure out the pricing. Im a designer and I really don't understand this stuff but I'm starting to need backups and version control and the ten gigs I got from JetBrains isn't covering it anymore. 😦
I got a tip about digital ocean but comparing them it looks like Amazon is cheaper?
There are options for every price point. How much are you willing to pay per month?
Well with the current inflation as little as I can. 😦 But I badly need this as my project is getting closer and closer to go into development. I already have a prototype that has gone through some iterations and is getting quite good.
So ideally I can't start small and then expand as I need. 🙂
*can
You can do it for free if you install it locally. $10 on DO, ~$50 on AWS/Azure/GCP, but also there's https://get.assembla.com/perforce/ as well.
Assembla's Perforce Hosting empowers teams to work globally on secure servers with top-level security and control over their setups.
(those are per month)
Looks like Assembla bumped to $52/mo
Hmm. I must be selecting something wrong on DO. Since I get it more around 45
And thank you again!
When you create a new droplet, DO defaults to the price/resources they are currently promoting, not the one you need for the app you're trying to host.
Really? @late thicket that sounds really interesting! WIll look into that.
Thank you for the tipös!
I don't seem to find it, which one of all the pins? (I see quite a few but nothing about Azure)
Sorry! Think I found it! 🙂 https://docs.google.com/document/d/1-NOspTVKX2eRgzmPKzoBmmnEqdPn-5G_IXt32IldB2c/edit#heading=h.anjvgs7vo2mk
Introduction [This guide is a WIP and the structure of it is being worked upon. For now, remember that there are 2 main paths to be followed here, one uses GitHub (most popular) and the other uses Azure DevOps (unlimited free storage).] I often see questions such as “How do I revert changes I m...
That one?
Yeah, I usually use Git Extensions since I think that is just a faster UI. 😄
(I'm currently using a GIT setup on JetBrains Spaces, but it's only 10gig, and I'm running out of that space)
Thanks again for the tip @late thicket ! I've got it setup and works flawlessly so far. 🙂
anyone got experience with VMware
and also VPS?
what's the best way to transfer whole VM to my VPS server?
i wanna do a test run of Ubuntu in VM first
then to VPS
Did anyone use git with lfs for development? I'm thinking about setting it up for a team of 5-10 people to try. The cost's look quite bad but I guess it should be possible to self host the repo and skip the provider costs, is there anyone who tried it/is using it and can say if it's worth the effort?
I think LFS has uses beyond file locking. Not having to download the whole history seems like a good one. I should read full messages before posting
So for self hosting there are no blocks for commiting blobs?
just git+partial clones could potentially achieve the speed simillar to svn/p4v?
that's reassuring bc i've learned to hate both
im on same boat and let me know if you find a solution or something
im trying to make a custom git server on VM as a test run
if that works all well then gonna buy a VPS
LFS is still required for transferring large files
the packing algorithm used in Git often fails on large files, it has nothing to do with history or partial clones
it might not come up in uassets though, those are not large enough
but if you have editor binaries or built data in tree, you will need LFS for those
or if you have large uassets for texture data or something
Also the cost for LFS is only bad if you look at GitHub
Microsoft's other offering, ADO repos, doesn't have any storage or bandwidth limits, or data packs to buy
whelp somehow my attempt to set up SC was what corrupted and broke my project. So that's cool.
Always back things up.
thankfully i have my UE5.1 files with only a few days of lost work, but jfc. I never want to touch git LFS again
Lol
so after git lfs pull, it works now? wtf...i am clearly not qualified to be doing this
i havent seen much articles about transferring VM to VPS
do I really need to redo all steps?
Actually struggling with perforce. I come from git and linux, so mostly command line stuff, and I can't wrap my head around how to use perforce lol. Even though it's supposed to be simpler
I added a workspace, the root of the workspace is my unreal project. Then in the UE editor I'm adding this workspace for version control - all seems fine until here
Then, all the files in my project turn read only - as I understand it's a feature, all good still
I open vs code, but it doesn't recognize that I'm using version control: first confusion comes here: with git, any folder that has .git automatically detects that there's version control here, but with perforce, even though I set the workspace on my project from the UE editor, Visual Studio doesn't "see" it. Confused about what exactly the editor did, then
So, I manually add the version control in Visual Studio too, with the p4 plugin. I add the workspace etc. Then suddently VS prompts me that some obscure file is read only, so I should make it writable "EpicGame.mongodb.csproj". I click "yes", and from there, my IDE crashes (infinite wait, not responding) (edit: if I press "no" too it crashes anyways)
So I'm genuinely confused about how to use perforce, with UE editor, and VSCode
So some questions:
- should I not care about setting perforce from VS ? Having it in the UE editor is enough ?
- how can I edit a file ? I heard I gotta "checkout" the file, but from where ? how ?
Is it viable to use p4 from the command line ? I genuinely think it would be more clear to me
Welp nevermind, it seems that I managed to open to connection without crashing. I think the UI of VS was very confusing
- VS Code is a bad choice (but this is a topic for #cpp and not immediately relevant for here)
- UE editor and your code text editor aren't related to each other in any way - setting some version control settings in UE isn't going to affect your text editor's settings or vice versa. you do the right thing by setting it up separately in each program
- you most certainly can use p4 from the command line, though I would bet it's something that less than 5% of its regular users prefer over using P4V and plugins for specific programs
Sorry, I meant VS*, just a typo
Thanks for your answer. I somehow struggle to understand exactly what VS/UE are doing with the version control and when, as it seems to be somewhat under the hood
IF you have version control linked up in the IDE + Unreal Editor:
In IDE: Any time you change code, it should trigger a checkout.
In Unreal Editor: Any time you save a file, it should trigger a checkout. ( It can be wise to trigger the checkout yourself immediately on starting work on a file to ensure there is no lock on it. )
So, checkout is just taking the file so that I can modify it, as I understand. But then how to actually "commit" it into the history, as one would do with git ?
I personally recommend doing that in P4V view, but can be done in Unreal as well I think. Pending changes, Submit
made a plugin that adds an s3 backend to the virtual assets system so you can use it without perforce https://twitter.com/VesCodes/status/1725936211095888332
hey guys
is there a proper way to use github? I lose assets all the time
theres always something wrong
nvrmind ll just switch to perforce
anyone know how to fix perforce?
the helix core service wont run
well do you have any error messages? logs? anything?
Yeeeaaaah!!!
That's amazing
Define "lose" 👀
yeah one moment
like I open unreal engine, and the blueprint is empty
What's your setup git only? Git LFS? Locking? Do you have the borealis plugin?
Sounds more like an unreal problem, rather than source control.
SC doesn't just delete or reset your files unless you tell it to.
I've seen people panic on merge commits + lfs locks and discard changes
99% human error, 1% using GitHub desktop (which might also count as human error)
Tried perforce to fix the human error... Didn't work.
Back to git and got a whip 
GHD doesn't actually do anything wrong. It isn't buggy. The UI is, apparently, just confusing.
It's 100% human error.
hmmm I see
Ill give it another go then
my setup is git lfs
and yes I have the borealis plugin as well
I think my problem is I didnt set up gitignore properly at first
also, another problem was the .gitignore excluded some files , which alsv4 refactored needs as its precompiled or something
so i had to change gitignore a couple times
if anyone can help me my github is: https://github.com/AmirAce/Project_OverandOut
Last time I checked, it was doing git pull --no-rebase so even if you wanted to rebase it would merge
Looks good, as long as you remember to always pull --rebase (or always sync from the unreal engine plugin you shouldn't get any merge commits nor problems with the LFS locks 🤔
there is a crapload of FUBAR here, you might as well delete everything and start over with a new repo, you've committed a crapload of temporary files, you keep wrongly modifying your ignore to not ignore Saved, Intermediate, Binaries, .idea. .sln
your very first .gitignore looks, at a fleeting glance, to be correct - why did you go against it?
(or maybe your first .gitignore commit was too late, i didn't look at the timeline of everything you've done)
not sure why i liked the word crapload so much there
the first gitignore was the thing that gave me a ton of headaches
mainly because als refactored is a third party plugin that needs the build.ico
also, how would I go about resetting the repo?
like grab all the files into a new repo correct?
i suck at git so i don't know any clever tricks there
i think your first ignore version didn't ignore build icon files tho?
!Build/**/*.ico
oh
Im making another one either way ig lol
also
how do I initialize git lfs for this as well?
for the new repo that is
Someone else will have to chime in to help you but I will say, if you're solo or very small team you might want to switch to azure devops so you don't have to pay a bunch
For LFS
nah i dont have too many large files
I am from my phone and I only looked at the gitignore and kinda looked okay 😅
I mean the gitignore will work for normal unreal stuff
but it wasnt working for precompiled plugins
als refactored isn't a precompiled plugin
Gitignore won't work for precompiled anything 👀
I mean, by ignoring binaries you are forced to compile again
hmm maybe it was another plugin
like the reallusion one
If you are working solo, you can keep the plugins in the engine
I.e. installed from the launcher on each computer
it was third party hence not on the lanucher afaik
