TTP# 337136 - SETTINGS: Target Platform settings polish
TTP# 337652 - EDITOR: Limit Project supported Android icons down to 1
TTP# 337650 - EDITOR: There is only 1 icon for Apple for Project Supported Platforms
DesktopPlatform now contains a static array of FPlatformInfo. This can be used to query UE4 about its available platforms, even when they're not available as a target platform.
FPlatformInfo contains the information required by the editor (such as a localized display name and icon), as well as whether a platform is a variation ("flavor") of another, and if so, whether the flavor affects the build output (eg, Win32 or Win64), or the cook output (eg, Android_XYZ). This lets the editor build up nested menus for the "Package Project" and "Cook Project" options, rather than just showing everything as a flat list.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2095796 by Jamie Dale in Main branch]
#TTP 331416 - UE4: Would like to be able to set a hotkey to open the Reference viewer similar to "find in content browser"
#branch UE4
#proj Editor.UnrealEd
#proj Editor.LevelEditor
#add Added new global UICommand ViewReferences, bound to Alt + Shift + R.
#add Implemented the new UICommand in the AssetEditorToolkit and the LevelEditorr. This means that most of the editor is covered by this hotkey. Hitting it in an asset editor brings it up for the current asset, hitting it in the level editor brings it up for the selected asset.
#Further work: Further work is required to modify the content browsers uses of view references, for now it is deemed to be too much work for this task.
#reviewedby Chris.Wood
[CL 2088247 by Barnabas McManners in Main branch]
TTP# 332489 - TOOLS FEATURE: Editor: Allow user to designate which platforms a project is designed for; warn user when deploying to platforms that will result in a bad time
There is now a "Target Platforms" tab in the project settings which allows you to choose which platforms your project will target. This information is stored inside the .uproject file.
If you try and launch, cook, or package for a project that isn't on the supported list, then you'll see a suppressible warning notifying you that the project may not run as expected. This is also conveyed to you via a warning icon next to platforms which aren't set as a target.
Additionally the target platform icons are shown in the tooltip on the "Open Project" dialog, as well as in the tab area of the level editor.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2088161 by Jamie Dale in Main branch]
I also added code to retain backwards compatibility. Existing settings from EditorUserSettings.ini will be migrated to EditorLayout.ini
#CodeReview: nick.atamas, matt.kuhlenschmidt
[CL 2074798 by Max Preussner in Main branch]
#ttp 335187 - CRITICAL: EDITOR: CRASH: Recompiling level editor
#branch UE4
#proj Editor.LevelEditor
#add Added calls in FLevelEditorModule::ShutdownModule to unregister the FEditorViewportCommands and FLevelViewportCommands so that they are re-registered correctly upon ModuleStart again.
#reviewedby Chris.Wood
[CL 2072984 by Richard TalbotWatkin in Main branch]
Splitted World Browser views into three independent windows, each window can be summoned from a hierarchy view or details view toolbar
World composition can now be toggled through WorldSettings - bEnableWorldComposition. Once enabled persistent level will be treated as a world root. No more '?worldcompistion' parameter workarounds. 'Open World' command was removed, as levels saved with world composition enabled can be open through 'Open Level' command.
Added bEnableWorldOriginRebasing parameter to WorldSettings, which contols whether world origin shifting should be used
[CL 2072584 by Dmitriy Dyomin in Main branch]
#ttp 331829 - Mobile Preview in Editor
#proj Engine
#branch UE4
#summary First pass of changes to remove GRHIFeatureLevel, allowing for multiple scenes with different feature levels to exist. First step towards dynamic mobile preview in the editor.
#change Added GMaxRHIFeature level which contains the highest supported feature level on this machine
#change Added a cvar "r.FeatureLevelPreview" which, when set to 1, enables a feature level selection in the quick settings menu. Not wired up to anything at the minute
#change Added a feature level variable to FScene, which is currently initialized to whatever GRHIFeatureLevel is. Accessed with GetFeatureLevel()
#change Added a helper accessor GetFeatureLevel() to FSceneView which gets the feature level from the relevant scene. Purely to reduce the amount of typing needed to get to a feature level
#change Many changes across the renderer to try and read the current feature level from the view or scene. Not everything is done yet, but this is almost all of the "easy" stuff. As there is still just a global feature level in the engine, nothing should change.
[CL 2066905 by Graeme Thornton in Main branch]
#proj core
#branch UE4
#summary Rename Trunc, Round, Floor, Ceil to TruncToInt, RoundToInt, FloorToInt, CeilToInt. Added *ToFloat versions. Repeated for FGenericPlatformMath and all derived classes for all platforms wherever applicable. Corrected comment in Fractional and added Frac() which does HLSL-style fractional (x - floor(x)). Checked for compilation on all projects (with cooking levels wherever applicable). Didn't change Fractional to Frac, this will be done in second commit.
#codereview robert.manuszewski
[CL 2064306 by Mikolaj Sieluzycki in Main branch]
TTP# 279062 - ROCKET: TASK: PUNTABLE: Viewports: "Drag to Attach" feature
Moved FEdModePicker out of the Private section of the PropertyEditor module, and into its own module so that it can be shared between the PropertyEditor and LevelEditor modules. Also renamed it to FEdModeActorPicker.
Added a way to filter FEdModeActorPicker by checking the actor directly (this complements the class type check it already had).
Added an actor picker button next to the scene outliner in the "Attach To" menu on actors. This is also mapped to the Alt+A command.
Built and tested in unity and non-unity.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2060928 by Jamie Dale in Main branch]
Other Updates:
- The WidgetReflector is now in its own module as well. It will be converted to a plug-in later.
- The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed.
- Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed.
- Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.)
Upgrade Notes:
- The Slate Remote Server is currently disabled - will be re-enabled shortly!
- If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
- If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'
- The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
- IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget()
Troubleshooting:
- After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project
- If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'
- If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine
[CL 2057118 by Max Preussner in Main branch]
#branch UE4
#proj Editor
#summary Removed position based menu actions from the scene outliner context menu
#change FLevelViewportContextMenu has been renamed to FLevelEditorContextMenu as it is not actually specific to viewports (it has been used in the scene outliner for some time now)
#change Added an enum to specify a broad context for the level editor context menu (whether it should show position based menu actions or not)
#reviewedby Matt.Kuhlenschmidt
[CL 2041433 by Andrew Rodham in Main branch]