Syncing assets using perforce inside of UE4 actually does sync the .uasset file correctly but it seems like Unreal Engine has some old version of the file in it’s memory.
Here is how it happens:
There are two people
Me(Wheeze)
Louis(“47” is also used as an alias for him)
We have a function library that has a function inside called “Wheeze Function” and louis opens up that library on his side and adds his own function called “47 function”. I refresh my function library, I detect a change, I sync and open up the library and I don’t see his function there.
However if I check source control history or the diff menu I can see his changes:
(though I can’t do any diffing for some reason, I have tried having changes on my side that need merging but that’s another issue I’m assuming)
So restarting the engine will refresh the changes but that’s a really bad workflow.
Other odd behaviors is that sometimes we can see each other adding new assets (sometimes not) and the whole refresh-sync process does work but only if you had just opened up the engine and hadn’t touched the asset at all (which I’m assuming means the engine just hasn’t loaded the asset into it’s memory or something)
I saw that some people were having the same issue but I didn’t see other people mention the fact that they can see the changes outside the content browser and those threads were really old and I find it really odd that Epic Games would butcher the capability of working with other people reasonably and leave it broken for years.