We’re using 4.10.2 from the downloader. Nothing being done in code. The options I added to my DefaultEngine.ini (before Unreal for OSX converted that file to OSX rich text and I could read it) was:
I never ran the command line because just adding this line helped.
As for the feature level switch, unfortunately because of hacky addition to my materials the feature level switch won’t help. I added a material function at the end of the materials to fake a post effect because we can’t make custom post effects for mobile (?!?!) in unreal. My p4 setup is very simple but I’ll have to supply the workspace info later. It’s as basic as you get - just a pointer to the project folder.
Thank you for providing me with the requested information.
The reason your post processing is not as robust or has any many features available are because mobile postprocessing is implemented as a separate code path from PC/Console post processing. This is to reflect the slower dependent texture reads, missing hardware features, extra rendertarget resolve costs, and the slower performance in general.
Which post processing effect are you faking?
Also, the feature level switch node will automatically adjust for the materials that are able to be rendered to the specific platform and shading model. I would definitely look into testing this with some of your materials to see if that resolves some of the shader compiling issue. Especially since you are developing on Mac and PC for a mobile game.
Would you mind testing with the command line as well to see if that helps?
I will do my best to reproduce the issue, but I might have more luck with some steps and a repro case where you can confirm that making a change to something like a material on the Mac, forces the PC to recompile shaders after syncing to perforce. Unless I am misunderstanding the issue, this should be pretty straightforward repro.
so I guess I should just plug FLW into each branch in my materials with all the inputs to it filled?
I understand the reason for not giving us the option for custom post effects, but don’t you guys think it should be our responsibility to have our games run properly? What I’m doing is creating an overlay over the environment as a sort of scanner effect. The way I’m achieving it works (mostly anyway, there’s currently a bug logged because the Absolute World Position node is broken when building on an iOS device) , but is adding overhead to each shader. I mean, I would love to be the one to at least have the choice. Especially in our case because we’re targeting a minimum of iPhone 6.
I can capture a video to show you if you need a better idea.
A little update - So I decided to open up the DefaultEngine.ini in Unreal and force a change on my Windows machine. First off, I noticed that the collision preset that was made in Unreal OSX was not at in the list on the PC side but it was clearly visible if I sync on either one of my Macs. I decided to redo the custom collision profile on the PC side to see if it would correct the formatting of the file. It did… but it also removed every piece of info from the ini file other than the custom collision profile.
another update - I opened up a map and built an ios build of that map. millions of shaders were built. Then I opened up another map moved around a bit, came back to the first map and started an iOS build again. It rebuilt all the shaders again. No changes to anything were made.
so far no. I’m in the middle testing everything over again. What I did was re-install unreal and reverted my DefaultEngine to an earlier state, pre-OSX Unreal scrapping it. So far it’s been working like butter with no changes to the shaders. My next step is to modify something on the mac and go back to the windows machine to see if it re-introduces all the problems. I’ll keep you guys posted.
so sorry… I meant to update this morning - I opened the project on my mac and made a slight shader change in one shader. Went back to my windows machine after syncing and the only thing it built was the shader that I updated (and it’s permutations of course). Everything else was not impacted. So it looks like it was either Unreal on OSX converting the DefaultEngine.ini and the windows machine acting crazy (not likely because I had the problem before it got all crazy), or for whatever reason the install was unhappy and re-installing set everything straight.