153 Commits

Author SHA1 Message Date
calvin zheng
074fe0d706 UBT handling Privacy Manifest files for iOS and Mac
#jira UE-191438
#rb adam.kinge, zack.neyland

[CL 31135152 by calvin zheng in 5.4 branch]
2024-02-02 14:31:28 -05:00
arciel rekman
1ac3f136a5 Fix inability to cook spline meshes by a cooked cooker (resubmit after backout in CL 30847866).
Cooked cooker is a relatively new platform in Unreal that allows producing a cooked editor build and using it to cook new assets (e.g. DLC for the base game). Such cooked cooker build is faster to load than the original editor build that would cook from the source assets, and it can also be more easily deployed to cloud environments.

The problem this fix is solving is as follows:

1) Spline mesh needs collision data from the static mesh it deforms. This collision data is usually derived from its render data.
2) Cooked cooker target platform (see TCookedCookerTargetPlatform) is basically a server build, assets cooked for this platform do not store render data.
3) If a new (uncooked) spline mesh is referencing a static mesh from the base build, it fails to get its collision data because the render data was stripped when producing the cooked version of the base build.

The solution is

- to introduce a new target platform feature that allows to distinguish cooked cooker target platform from other platforms that strip audio-visual data.
- when cooking static meshes for a "cooked cooker" target get a separate copy of the asset's collision data and save it inline in the cooked asset.
- inside the cooked cooker, use this copy as static mesh's collision data instead of trying to derive it from (non-existent at that point) static mesh's render data.

- James Singer reviewed the fixed change.

#rb Brian.Marshall1, Francis.Hurteau, Benn.Gallagher, James.Singer

[CL 30858619 by arciel rekman in 5.4 branch]
2024-01-24 15:19:22 -05:00
sean boocock
1229fccd3c [Backout] - CL30812030
[FYI] Arciel.Rekman
Original CL Desc
-----------------------------------------------------------------
Fix inability to cook spline meshes by a cooked cooker.

Cooked cooker is a relatively new platform in Unreal that allows producing a cooked editor build and using it to cook new assets (e.g. DLC for the base game). Such cooked cooker build is faster to load than the original editor build that would cook from the source assets, and it can also be more easily deployed to cloud environments.

The problem this fix is solving is as follows:

1) Spline mesh needs collision data from the static mesh it deforms. This collision data is usually derived from its render data.
2) Cooked cooker target platform (see TCookedCookerTargetPlatform) is basically a server build, assets cooked for this platform do not store render data.
3) If a new (uncooked) spline mesh is referencing a static mesh from the base build, it fails to get its collision data because the render data was stripped when producing the cooked version of the base build.

The solution is

- to introduce a new target platform feature that allows to distinguish cooked cooker target platform from other platforms that strip audio-visual data.
- when cooking static meshes for a "cooked cooker" target get a separate copy of the asset's collision data and save it inline in the cooked asset.
- inside the cooked cooker, use this copy as static mesh's collision data instead of trying to derive it from (non-existent at that point) static mesh's render data.

#rb Brian.Marshall1, Francis.Hurteau, Benn.Gallagher

[CL 30847941 by sean boocock in ue5-main branch]
2024-01-24 11:44:40 -05:00
arciel rekman
7cd1420836 Fix inability to cook spline meshes by a cooked cooker.
Cooked cooker is a relatively new platform in Unreal that allows producing a cooked editor build and using it to cook new assets (e.g. DLC for the base game). Such cooked cooker build is faster to load than the original editor build that would cook from the source assets, and it can also be more easily deployed to cloud environments.

The problem this fix is solving is as follows:

1) Spline mesh needs collision data from the static mesh it deforms. This collision data is usually derived from its render data.
2) Cooked cooker target platform (see TCookedCookerTargetPlatform) is basically a server build, assets cooked for this platform do not store render data.
3) If a new (uncooked) spline mesh is referencing a static mesh from the base build, it fails to get its collision data because the render data was stripped when producing the cooked version of the base build.

The solution is

- to introduce a new target platform feature that allows to distinguish cooked cooker target platform from other platforms that strip audio-visual data.
- when cooking static meshes for a "cooked cooker" target get a separate copy of the asset's collision data and save it inline in the cooked asset.
- inside the cooked cooker, use this copy as static mesh's collision data instead of trying to derive it from (non-existent at that point) static mesh's render data.

#rb Brian.Marshall1, Francis.Hurteau, Benn.Gallagher

[CL 30812215 by arciel rekman in ue5-main branch]
2024-01-23 13:58:58 -05:00
karlingen
ddabd100ee PR #11047: Fix typo in xcode project settings
#jira UE-199395
#rb trivial

[CL 29407642 by karlingen in ue5-main branch]
2023-11-03 11:23:22 -04:00
josh adams
1abedddd2a - More fixes for Mac packaging/archiving issues
* Set the no-encryption setting in the template Mac plist to make uploading to TestFlight/AppStore easier
  * Fixed editor to not compile as universal when using -distribution, only the client should be universal
  * Further improvements to stripping out nested .app's in a final .app (remove them from the staged directory helps)
  * Changed how the Mac app name is displayed, since the .app name itself is shown in the Finder,  unlike IOS where the CFBundleName is shown (the archived .app name in the .xcarchive is named by a project setting, falling back to the .uproject name if not set)
  * Disabled the SignExecutables function on Modern because they attempt to sign the wrong .apps, and one is no longer (previously it was uselessly signing .apps, but now it throws an error due to changes for the third item in this list)
[CONSIDER5.3]
#rb calvin.zheng
#jira UE-197465

[CL 28619839 by josh adams in ue5-main branch]
2023-10-10 10:52:53 -04:00
calvin zheng
c91a8f8fa0 Gray out some of iOS settings when using modernized Xcode, but not on PC
#jira UE-194418
#rb Josh.Adams, Adam.Kinge, Zack.Neyland

[CL 27828429 by calvin zheng in ue5-main branch]
2023-09-13 09:38:26 -04:00
calvin zheng
814948e33d Undo //UE5/Main/Engine/Source/... changelist 27725823
[CL 27728948 by calvin zheng in ue5-main branch]
2023-09-08 17:15:34 -04:00
calvin zheng
f2d9abb167 Gray out some of iOS settings when using modernized Xcode
#jira UE-194418
#rb Josh.Adams, Adam.Kinge, Zack.Neyland

[CL 27725823 by calvin zheng in ue5-main branch]
2023-09-08 16:17:11 -04:00
josh adams
2e9e2879a3 - Building MacPlatformEditor and MacTargetPlatform so that the Xcode Projects settings show up in the Windows editor, for remote IOS building
#jira UE-193734
#rb

[CL 27345511 by josh adams in ue5-main branch]
2023-08-24 12:28:36 -04:00
josh adams
82ee4f70d5 - Removed the quotes around the signing identity for Xcode manual codesigning
- During staging, we now make the UBTGenerated/Info.Template.plist in the project folder instead of Engine folder, for BP projects
- Fixed an AppStoreConnect label in the Xcode project settings that would have confused anyone trying to set it up

#jira UE-193101, UE-193108, UE-193104
#rb Calvin.zheng

[CL 27130271 by josh adams in ue5-main branch]
2023-08-15 21:33:02 -04:00
josh adams
7363c60257 - Fixed up some FilePath stuff with Xcode settings
- Fixed a quotes warning in a .ini
#rb trivial
#jira UE-189365

[CL 26184182 by josh adams in ue5-main branch]
2023-06-22 11:38:05 -04:00
Josh Adams
06ff93be0e - Handle manual codesigning with Modern Xcode (using all new settings, does not use the "green check" provisions in IOS project settings)
- Added support for AppStoreConnect API for automatic code signing (with command line builds, packaging from editor, etc) that doesn't need everyone to be signed in to Xcode (still need to sign in if using Xcode IDE to build/run)
- Fixed Modern to always create the IOS plist in UBT ApplePostBuild step
- Updated a bunch of ini setting names to remove Modern, given Modern will be standard in the future
- Added some settings XcodeProject settings in the editor, and updated some tooltips/category names
- Moved some functions around to clean up
- Added some debug code to catch errors

#rb adam.kinge,calvin.zheng,zack.neyland

[CL 26133818 by Josh Adams in ue5-main branch]
2023-06-20 16:40:51 -04:00
carl lloyd
a793c2fcd1 Add support to enable an SM6 platform for Mac
#rb Zack.Neyland
#jira UE-184435

[CL 26062749 by carl lloyd in ue5-main branch]
2023-06-16 14:24:06 -04:00
calvin zheng
dd7731d7cc fix UnrealFrontEnd build fail, splitting XcodeProjectSettings into two files, so that UnrealFrontend can include the none editor part
#jira horde issue 303127
#rb Josh.Adams
#preflight 645e80ca2965f6ea8e085199

[CL 25456753 by calvin zheng in ue5-main branch]
2023-05-12 14:40:01 -04:00
calvin zheng
7b096839a0 add import buttons for Xcode project settings plist/entitlements
#jira n/a
#preflight 645e4b74b71b8186aad534cd
#rb Josh.Adams

[CL 25449358 by calvin zheng in ue5-main branch]
2023-05-12 10:49:07 -04:00
christopher waters
de3d730026 Moving some LinuxTargetPlatform and MacTargetPlatform private files to Public since they're used by other modules.
#preflight 644972116b589f8b3688999f

[CL 25206591 by christopher waters in ue5-main branch]
2023-04-26 16:42:00 -04:00
calvin zheng
d40dc1b67c dynamic settings enabling for Xcode project settings
#rb Josh.Adams
#preflight n/a

[CL 25188022 by calvin zheng in ue5-main branch]
2023-04-25 15:48:20 -04:00
calvin zheng
a19ad9e117 Fix LOCTEXT conflicts, also fix Mac settings being replaced
#jira 294221
#rb trivial
#preflight N/A

[CL 25180408 by calvin zheng in ue5-main branch]
2023-04-25 10:40:44 -04:00
calvin zheng
d615e69004 Exposing xcode settings to UE settings UI (more work about dynamic disabling etc will follow)
#jira N/A
#rb Josh.Adams
#preflight 6446ae7a7368de8c98fc84d2

[CL 25169123 by calvin zheng in ue5-main branch]
2023-04-24 15:15:00 -04:00
Josh Adams
4474d77737 - Updated Mac compile default to Host architecture
- Added missing Project Settings
- Added support for BuildMachine haaving unique defaults
#preflight 63ef74ca977ceed915159aac
#rb zack.neyland
#preflight 63eff0b5e832ea950aa484c1

[CL 24291676 by Josh Adams in ue5-main branch]
2023-02-17 16:44:06 -05:00
zack neyland
e8eb20415f MetalRT: Laying initial groundwork, disabled by default.
* Enabling requires re-building a metalpp with appropriate flags/defines set along with an OS version that supports the RT headers/libs.

#preflight 63c72f1a0225f00e14c05c46
#jira none

[CL 23750025 by zack neyland in ue5-main branch]
2023-01-17 19:53:36 -05:00
Josh Adams
82959c24fd - Added WITH_ENGINE wrappers to some code in MacTargetPlatform that doesn't work without engine
#rb tim.smith
#jira none
#preflight 63575537f726e94fe029697c

[CL 22744958 by Josh Adams in ue5-main branch]
2022-10-24 23:29:53 -04:00
richard wallis
8d24dcd6ee Add -fpreserve-invariance for Vertex shaders for Metal versions above 2.2. macOS only: Reinstate Metal versions 2.2 and 2.3 to work round what appears to be a M1 position invariance compiler bug.
#jira UE-164360
#preflight 63443b667045f13c96bda936
[REVIEW] [at]zack.neyland, [at]axel.riffard, [at]jack.porter, [at]adam.kinge

[CL 22509223 by richard wallis in ue5-main branch]
2022-10-13 14:40:48 -04:00
axel riffard
c64aa2de93 Catalina, iOS 14 removal
Metal 2.3 removed, Metal 3.0 added for Mac

#jira UE-163352
#rb adam.kinge bertrand.carre
#preflight 631ea7eb94758d0bf2008668

[CL 21960671 by axel riffard in ue5-main branch]
2022-09-11 23:47:08 -04:00