Personal Profile

Game

Unreal Engine 4.10 Release Notes

AI

  • Bugfix: AI senses registration code no longer crashes if the AI agent is missing some senses.

Behavior Tree

  • Bugfix: Behavior Tree node instantiation no longer crashes when making AI switch from one Behavior Tree asset to another.
  • Added debugging tools.
  • Added keyboard shortcuts to toggle game HUD and debug messages in the gameplay debugger. Users can configure shortcuts in the engine config file.
  • Bugfix: Navigation System’s navigation agent comparison can now match navigation data instances with appropriate agents in multi-navmesh environments.
  • Bugfix: Navmesh raycasts now return normal vectors in the correct coordinate space.
  • Bugfix: Editor no longer triggers full navmesh rebuild whenever a map is loaded.
  • Bugfix: Editor does not not discard valid navigation meshes on level load.
  • Bugfix: Navigation bounds gathering has been fixed by delaying navigation system initialization until actors get initialized for play.

Animation

  • New: Added Anim Instance Blueprint function to request the name of a state.
  • Bugfix: Blendspace input data is no longer invalid when switching assets. Blend filter now works correctly in this case.
  • Bugfix: Blendspace editor no longer crashes when the editor opens for the first time.
  • Bugfix: Possible divide by zero removed from animation transitions using a crossfade duration of zero.
  • Bugfix: Negative curve values can be passed to animation montages and will no longer be capped to zero.
  • Bugfix: All animation sub-state machines now work properly with native bindings. Previously, only top-level state machines would work.

Audio

  • New: Using a pool to reuse XAudio2 voices for PC/XBoxOne platforms.
  • Bugfix: Activate Reverb Effect successfully activates the specified reverb effect.
  • Optimized performance when many sounds are playing at the same time.

Blueprints

  • New: Added alignment commands for blueprints.
    • Alignment methods for top/middle/bottom and left/center/right.
    • Distribution methods for horizontal/vertical spacing.
    • Straightening methods for connections between nodes/pins.
  • Bugfix: Crash fix for saving Blueprints during a Play in Editor (PIE) session.
  • Bugfix: Crash fix for prompting user to check out Blueprints during the compilation stage.
  • Bugfix: Crash fix when AI Controller possesses a Pawn during the Pawn’s UnPossess event while exiting PIE.
  • Bugfix: Crash fix when deleting graphs or delegates while a “Create Event” node’s graph is in the transaction buffer.
  • Bugfix: Crash fix when PIE fails to start.
  • Bugfix: Fixed issue with duplicating Timeline nodes that was causing “Launch” to fail afterwards.
  • Bugfix: Crash fix when removing a function input after a child’s implementation had been deleted.
  • Bugfix: Crash fix after breaking and then re-adding pin connections to a Macro Instance node.
  • Bugfix: Crash fix with parent-child Animation Blueprint Class assets. (Related to crash reports detailing a TRASHCLASS assert at the Initialize Animation call.)
  • Bugfix: Crash fix for typing long names into blueprint function input and output pins.
  • Bugfix: Crash fix for a potential crash after hot-reloading a compiled game project.
  • Bugfix: Crash fix from invalid macros after deleting source graph in Macro Library.
  • Bugfix: Crash fix when clicking in the viewport while a new map is opening.
  • Bugfix: Crash fix when using “Find References” on a struct operation node (Make, Break, Set Members).
  • Bugfix: Crash fix when entering invalid values into “Make Date Time” node in Blueprints. Now it should just report an error in the log.
  • Bugfix: Crash fix when using undo/redo after deletion of components from a Blueprint.
  • Bugfix: Crash fix on undo/redo when deleted Blueprint is being restored after it has been recompiled.
  • Bugfix: Crash fix for using “Draw Debug Float History” and “Draw Debug Transform History” in Blueprints.
  • Bugfix: Using shortcut keys to add local variables will no longer crash the editor when done in a graph that does not support local variables.
  • Bugfix: Removed a potential infinite loop when adjusting Actor rotation in a Blueprint function.
  • Bugfix: Crash fix when using “Convert Selected Components to Blueprint Class”.
  • Bugfix: Stopped resetting arbitrary defaults on cyclically-dependent Blueprint subclasses.
  • Bugfix: Asset Class ID variables set to reference Blueprint classes are no longer replaced with “PLACEHOLDER” class references on load.
  • Bugfix: Blueprints will no longer load with errors on macro nodes from a cyclically-dependent (out of date) macro library.
  • Bugfix: Fixed a rare case where Timelines would erroneously create redirectors in a Play in Editor session.
  • Bugfix: For Each Enum will now correctly iterate over all enum values.
  • Bugfix: User Defined Enums begin counting at 0, and will no longer increase in increments of two.
  • New placements of the Get Class Defaults node will no longer include array properties that contain object references. This is because it is a potentially unsafe connection.
    • As a side note, object properties are also not exposed for the same reason.
  • The Blueprint details view for non-member variables (either from a parent class or an external member reference), will no longer show uneditable options as editable.
  • The Get Class Defaults node now exposes Class and Interface variables.
  • Graph node comment bubbles have been improved so that they don’t obscure input pins on array graph node types.

Core

  • New: Cooked packages can now be loaded in the editor if cooked for the same non-editor version of the platform the editor runs on.
  • New: Optimized custom version system so that it takes less space in saved packages and is faster to access at runtime.
  • Bugfix: Crash fix on deleting an Animation Blueprint and replacing it with another one.
  • Bugfix: Fixed high memory usage by streaming packages in cooked builds.
  • Bugfix: Crash fix when creating a Blueprint object from an archetype that is not the class default object and has multiple components added in Blueprint.
  • Bugfix: Fixed UDP Socket Receiver not resizing Array Reader to actual received size.
  • Bugfix: Fixed compilation issues arising from /Zm compiler flag in Visual Studio toolchains.
  • Bugfix: Fixed some threading problems with various binned malloc stats.
  • Bugfix: Corrected memory reporting with Binned Slack Current stat.
  • Bugfix: Corrected memory stats reporting on out of memory.
  • Bugfix: Multiline comments no longer break Unreal Header Tool parsing.
  • Bugfix: Non-contiguous values of user defined enums are supported properly.
  • Bugfix: Fixed usage of an invalid TLS slot ID in stats code.
  • Bugfix: Instanced subobjects in Blueprint are no longer with subobjects from the CDO. (Contributed by slonopotamus, Pull Request #1470.)
  • Fixed Log Compile typo in Unreal Header Tool log output. (Contributed by MrMormon, Pull Request #1460.)
  • Memory statistics will be output to log when the engine crashes as a result of running out of memory.
  • OS memory stats are no longer acquired every tick unless stats are being captured.
  • Bugfix: When using command line executable, only the call stack was visible after a crash. Now, the whole error history should be dumped to the console.
  • Bugfix: Crash report client should be packaged correctly now for all projects.

Editor and Tools

  • New: Added a new experimental editor preference to enable “Sequencer”!
    • Sequencer is our upcoming level actor animation and cinematics creation tool.
    • The current version is limited in features and lacks documentation. It’s enabled for pre-alpha testing.
    • Sequencer is still in heavy development and you can expect to see major improvements with every release.
    • If you are brave enough to try it out, please be sure to send feedback on the forums or AnswerHub!
  • New: “Reset to default” button on the Image Size property of a brush now resets to the size of the brush’s texture, if one is set.
  • New: Actor Merging tool now supports merging of collision primitives.
  • New: Added a feature allowing Detail Panel categories to be shown or hidden dynamically.
  • New: Added a Launch Configuration setting to the Play on Device editor settings tab, allowing you to specify the build configuration you want to use when launching from the editor Launch button drop-down menu.
    • This also fixes an inconsistency where source code projects would build and launch the same configuration the editor is running, but Blueprint projects always launched using a Development configuration.
    • The default setting is now to launch with the same configuration as the editor, but any build configuration can be specified.
  • New: Added a new editor view mode to colorize objects based on their LOD.
    • Enable from the view mode menu, or using the “viewmode lodcoloration” console command.
    • The colors to use for each LOD are configured in BaseEngine.ini under LOD Coloration Colors.
  • New: Added ability to merge physics data (collision primitives) for Actor Merging tool.
  • New: Added support to UnrealBuildTool to rebuild the makefile whenever the user changes a BuildConfiguration.xml file.
  • New: Added template to the Plugin Creator that shows how to add an example Third Party library.
  • New: Changed how actor spawning / duplication works in Simulate in Editor.
    • Now actors are always spawned non-permanently into the SIE world, and are destroyed upon exiting SIE.
    • This is more in line with other property changes to actors, which are restored to their original state when exiting SIE.
  • New: ‘Device Output Log’ window, currently implemented only for Android devices. Hidden under editor experimental settings.
  • New: Editor Analytics now tracks abnormal termination and crash events in order to improve stability.
  • New: Editor Analytics shutdown reporting improvements.
    • Discounts abnormal termination when a debugger is attached.
    • Improved locking of shared resources when running multiple instances to avoid missed reports.
  • New: Improved Engine Analytics settings for Editor users and End-Users of games.
    • Editor users can enable/disable their own analytics that sends usage data for their Editor sessions in “Editor Preferences->Privacy->Usage Data->Options”.
    • Editor users can set the default game analytics enabled state for the end-users of their game in “Project Settings->Engine->End-User Settings->Privacy”.
    • End-user’s setting is easy to expose to your game UI and should be presented as an option to send usage data to Epic Games.
  • Both settings are for sending analytics to Epic Games. Developers are free to add their own analytics.
  • New: Improving SuperSearch to allow you to choose Google (default) or Bing as the search engine to use. In China, Google is blocked, so Bing will allow those users to use the builtin search.
  • New: The process of duplicating Brushes in the editor has now been hugely optimized.
    • In a test level with 227 brushes, these are now duplicated in around 2 seconds instead of nearly 4 minutes as before.
    • A dialog has been added to show progress on the operation if it takes more than a few seconds.
  • Bugfix: Crash fix to project thumbnails using corrupted PNG images. Error handling is now fixed in PNG Image Wrapper to prevent this from crashing the editor.
  • Bugfix: Crash fix to editor startup. Previous, it was crashing while loading tutorial images.
  • Bugfix: Crash fix when putting Recast NavMesh into a World Outliner folder.
  • Bugfix: Crash fix when setting a struct variable to Curve Table Row Handle.
  • Bugfix: Crash fix when expanding the viewport toolbar while in 2×2 view.
  • Bugfix: Crash fix when freelooking in editor viewports due to view rotation matrix calculation bug.
  • Bugfix: Crash fix when importing invalid FBX files.
  • Bugfix: Crash fix to renaming asset files outside of the editor while the editor is open.
  • Bugfix: Brush extrusion now works correctly when a Brush actor is rotated.
  • Bugfix: Duplicating an array of instanced objects in a Property Tree will correctly deep copy the objects instead of a shallow (referenced) copy.
  • Bugfix: Clicking a Text property field corresponding to multiple properties will no longer cause the “Multiple Values” text to be committed to those properties.
  • Bugfix: Fixed an issue where widget deltas were not being correctly calculated when the widget was positioned behind the camera. This had meant that Ctrl+Mouse Button dragging to move the currently selected actor(s) along one of their axes was not working if the widget was behind the camera.
  • Bugfix: Fixed Search Box widgets in context menus (for example, the search box in the Blueprint Editor context menu) so that clicking the clear button doesn’t also close the parent menu.
  • Bugfix: Win DualShock plugin now links in Debug Editor mode.
  • Bugfix: Merge Actors tool correctly replaces the source actors with a merged one.
  • Bugfix: Mirrored blocking volumes now correctly generate collision geometry.

Content Browser

  • New: Content browser asset discovery optimized. (Contributed by slonopotamus, Pull Request #1516.)
  • Bugfix: Newly added collections don’t lose their selection state once you name them.
  • Can no longer duplicate maps via the content browser.

Landscape

  • New: Added a mirroring tool to allow you to mirror Landscape geometry and layers using a plane.
  • Bugfix: Fixed a crash with landscape that has painted holes when using ES2 feature level preview or the Mobile Previewer.
  • Bugfix: Fixed a race condition in material compilation that may have been causing a hard-to-reproduce crash during landscape painting.
  • Bugfix: Fixed an issue where a None entry in the Landscape Grass Output node would cause landscape grass meshes to be assigned to the wrong layer.
  • Bugfix: Fixed an issue where landscape grass with more than 5 layers only showed the last layer.
  • Bugfix: Landscape “move to level” tool doesn’t get stuck when moving components, including after the user releases the mouse.
  • Bugfix: Undoing deleted landscape components no longer leaves them uneditable.
  • Bugfix: Landscape grass no longer leaves “Lighting needs to be rebuilt” warning after a static lighting build.
  • Landscape Grass no longer wastes memory storing empty grass map data for areas of the landscape which don’t have any grass instances.
  • Removed the Layer Debug viewport view mode menu item when not in landscape edit mode.
    • This view mode it doesn’t make sense without the layer checkboxes.
    • Enabling it outside landscape edit mode would previously cause the landscape to disappear.

Material Editor

  • Bugfix: Duplicate entries no longer appear in the results of searches in the Material Editor context menu.

Matinee

  • Bugfix: Editor no longer hangs when pressing “F” to frame an object while Matinee has a locked actor defined.
  • Audio tracks will now start playing from the correct position when scrubbing in matinee.

Persona:

  • Bugfix: Crash fix related to state machines, states, and transitions when undoing and redoing deletions and creations.

PhAT:

  • New: Added Field of View slider to PhAT editor view.

Source Control:

  • Added support for the 64-bit git executable to the Git Source Control plugin on windows. (Contributed by SRombauts, Pull Request #1538.)

World Browser:

  • Bugfix: World composition no longer allows layers to be created with non-unique names.
  • Bugfix: Handled a potential issue with Hot Reload while World Composition window is open.

Foliage:

  • New: Visibility for each foliage mesh type can be switched on/off per Editor viewport.
  • Bugfix: Crash fix when assigning a new Static Mesh to Foliage that is painted across multiple levels.
  • Bugfix: Foliage selection highlight no longer remains after an undo operation.
  • Added a “Use as Occluder” checkbox to the foliage tool to allow foliage to correctly receive D-Buffer decals.

Cooker:

  • New: Stopped some editor debug content which wasn’t required at run time from being cooked.
  • Bugfix: Fixed an issue with modified content not getting deployed to the devkit when the project folder name and project name don’t match.
  • Bugfix: Added missing parameters like “cookall” to File -> Cook editor feature.
  • Cooking warning related to Persona tutorial will no longer appear.
  • Disabled some slow editor cooking stats.
  • StableSort is used to sort .pak files in order to preserve previous sorting by file. (Contributed by Shaijan, Pull Request #1377.)

Gameplay Framework

  • New: Allow binding of the Section (§) key.
  • New: Blueprints can now draw circles via the Debug Draw Circle node.
  • Changed UTextRenderComponent to respond to the culture being changed, rather than constantly tick.
  • Child Actors will no longer become disconnected from their parent when using SetClass.
  • Bugfix: Crash fix when detaching child components if an On Attachment Change implementation also detaches a sibling component.
  • Bugfix: Fixed a potential infinite loop case in post-transform navmesh updates that could lead to a crash.

Content Examples

  • Removed the Blur G-Buffer stand in the Post Processing content examples map, as that feature has been removed for some time.

Localization

  • Bugfix: Crash fix on Windows (Chinese version) when changing editor language.

Networking

  • New: The replay streaming system can now scrub to a new time while playback is paused. Try it out in ShooterGame!
  • Bugfix: The output log no longer spams “no owning connection” warnings when a client uses the “ToggleDebugCamera” console command.

Other

  • New: Added in support for haptic feedback effects, which use curves of amplitude and frequency to define the response players feel in their motion controllers.
  • New: Updated Oculus Mobile SDK (GearVR) to version 0.6.2.
  • New: Updated Oculus SDK to 0.8.
  • Bugfix: Fixed improper reporting of Is HMD Enabled.

Physics

  • Bugfix: Fixed precision issues with physics handles where rotation had to be fairly large to update target on PhysX.
  • When entering “show collision” from the console, builder brushes are no longer rendered as they are now an internal detail and not intended to be viewed.

Platforms

  • New: Default movie player now has an optional bWaitForManualStop flag to prevent continuing until movie is explicitly stopped.
  • New: Support for PNG and JPG splash screen images added on Linux, Mac, Windows. (Contributed by labidus, Pull Request #1444, and x414e54, Pull Request #1399.)
  • Bugfix: Android build and iOS build and orientation setting overrides now save to .ini properly.
  • Bugfix: Pinch events now trigger correctly every time.
  • The correct texture LOD bias is now used when cooking.
  • Added Touch Event Locations to pair with touch events since we want the actual location for that event. After a release, the finger ID may be reused for another touch far from the location of the release so the wrong location would be sent for all the events.
  • Fixed editor primitives (e.g. debug wireframes) rendering flipped upside down on OpenGL ES2.

Android

  • New: Support for an optional launch screen for Android projects.
    • A “Show launch image” checkbox in the Android Platform section of the Project Settings enables this feature. Examples for portrait and landscape may be found in Engine/Build/Android/Java/res/drawable as PNG files.
    • Click on the “…” link next to the image in the Launch Images section of the Android Platform section to bring up a browser to copy your own image into the project.
    • If the launch image is enabled, either or both launch images selected for the project will be included depending on the orientation setting in the project.
  • New: Added new targetSdkVersion setting for AndroidManifest.xml to allow overriding default minSdkVersion value.
  • Bugfix: Fixed backslashes in path for Android plugin XML on Mac.
  • New: Device Profile detection mechanism has been changed so that new Android devices can be detected and assigned a Device Profile using user-specified rules.
    • Instead of being hardcoded in C++, the matching rules are now specified in BaseDeviceProfiles.ini in the [/Script/AndroidDeviceProfileSelector.AndroidDeviceProfileMatchingRules] section.
  • New: First implementation of Slate Web Browser for Android.
  • New: It is now possible to package for a selected set of Android texture formats rather than just all or one.
    • Check the checkboxes for the formats you wish to cook for in the Platforms, Android project settings tab.
    • Select the Android_Multi cook variant when packaging.
  • New: Multiple AdMob Ids may now be entered and Show Ad Banner now takes an index. New Get Ad ID Count BP node returns the array size.
  • New: proguard-project.txt is now generated with additions from an optional ProguardAdditions.txt file in the project’s Build/Android directory.
  • New: We have reduced the number of Android OpenGL ES shaders that we cook, so your app should be slightly smaller.
    • We no longer cook separate 32-bit and 64-bit per pixel HDR shaders because the setting is chosen on the device at launch time.
  • Bugfix: Galaxy S4 device variants with PowerVR GPUs (eg GT-I9500) no longer show a black scene when Mobile HDR is enabled.
  • Bugfix: Crash fix on accepting editbox text in some potential cases.
  • Bugfix: The Device Profiles editor no longer creates blank device profiles for the various Android texture format variants.
  • Bugfix: Global (activity) audio pause handles recovery correctly in the case that the game was already paused.
  • Bugfix: Android reliably logs crash callstacks.
  • Fixed deploy to Android devices connected over Wi-Fi to ADB.
  • The device model number and make, Android version, GPU family and/or OpenGL ES version can be evaluated using comparisons or regular expressions to select a Device Profile. The Device Profile can then set console variables to optimize the performance of Unreal Engine on the detected device.
  • The default settings detect common devices and assign them a profile based on Android_High, Android_Medium or Android_Low.
  • Android now reliably logs crash callstacks.
  • Android project Build/Android/src cleanup now only deletes the OBB downloader’s generated java files.
  • Keystore passwords are stripped from DefaultEngine.ini in pak files.
  • Window resize is only triggered if orientation changes on APP_CMD_CONFIG_CHANGED event.
  • Replaced default downloader background image (smaller PNG with correct aspect ratio).
  • Special characters < > & ‘ ” in Android application display name requiring escaping are now automatically handled.
  • Updated minimum SDK option tooltip to indicate 9 is the lowest value supported.
  • Updated tooltip for Android Package Name to indicate that it must have, at minimum, two sections separated by periods.
  • Fixed fullscreen immersive with launch screen enabled

iOS

  • New: Added Device Profiles for new iOS devices. (iPhone 6S, iPad Mini 4, etc).
  • Worked around an issue with iPhone 6 devices when trying to link a shader at runtime. This would cause an internal compiler error. We now will fall back to using OpenGL in this case.
  • New: Added support for adding additional linker flags for iOS builds in the iOS project settings. (Contributed by derekvanvliet, Pull Request #1282.)
  • New: Added support for controlling the idle timeout via the Control Screen Saver node for iOS.
  • New: Added support for controlling iPhone vibration for iOS.
  • New: Fix for UI User Notification Settings usage on pre-iOS 8 SDKs.
  • New: General improvements to the AV Foundation Media framework.
    • Corrected issue when playing a movie file the second time.
    • Looping is supported.
  • Bugfix: Crash fix to game startup when using MSAA with Metal on iOS devices.
  • Bugfix: Crash fix when releasing uniform buffers encountered after multiple level loads.
  • Bugfix: Fixed occasional hang in UnrealPak when utilizing pak files from File|Package in the editor on Mac.
  • Bugfix: Fix for occasional loss of audio when going to the lock screen, pressing the home button, or utilizing the slide out.
  • Bugfix: Fixed an issue with 3rd party framework access when building iOS games on a remote build server. (Contributed by judgeaxl, Pull Request #1125.)
  • Bugfix: Static libraries are now being pushed to the remote server when compiling iOS from PC. (Contributed by pluranium, Pull Request #1483.)
  • Bugfix: Fixed invalid permissions for files copied as part of a remote iOS build. (Contributed by TheSoeldner, Pull Request #1578.)
    • Fixed a compilation error when building for iOS 7 and above. (Contributed by BorMor, Pull Request #1547.)
  • Bugfix: IOS now properly links against the correct stdlib. (Contributed by ssoria, Pull Request #1568.)
  • Improved compatibility with Bundle Names which include special characters.
  • Improved compatibility with iOS App Store by removing Custom Resource Rules and enabling Full Screen for games.
  • Temporarily disabled the launch to device for iOS from Mac due to an issued discovered with the latest instruments from Xcode 7.
  • Worked around an issue with Metal on A7 devices with iOS 9 which would cause a black screen, but no crash. We now will fall back to using OpenGL in this case.

Linux

  • New: Added Tanglu OS to install script. (Contributed by cpyarger, Pull Request #1577.)
  • New: All input will be ungrabbed before breaking into debugger on Linux.
  • New: Implemented Linux device profile selector.
  • New: Implemented memory prefetch functions in platform abstraction layer for Linux.
  • New: Linux: ensure() callstacks will now be symbolicated, symbolication has been sped up. (Contributed by bozaro, Pull Request #1583.)
  • New: LinuxNativeDialogs third party library is no longer built during the setup on non-Ubuntu distributions (it is no longer used).
  • Bugfix: Crash fix related to invalid windows. (Contributed by andreasschultes, Pull Request #1589.)
  • Bugfix: Corrected calculation of number of physical cores on Linux.
  • Bugfix: Corrected calculation of window coordinates when processing event queue. (Contributed by ExpiredPopsicle, Pull Request #1466.)
  • Bugfix: Fixed custom cursors on Linux. (Contributed by overlawled, Pull Request #1582.)
  • Bugfix: Fixed index out of range error in Slate File Dialogs. (Contributed by chaiyuntian, Pull Request #1548.)
  • Bugfix: Fixed modal dialog on Gnome. (Contributed by yaakuro, Pull Request #1388.)
  • Bugfix: Corrected reporting of platform memory stats (process and overall machine) on Linux.
  • Command line switch “-usehyperthreading” is now respected on Linux for consistency with other platforms. (Contributed by slonopotamus, Pull Request #1594.)

Mac

  • New: Added support for automated and unattended reporting modes to Crash Report Client on Mac OS X.
    • Ensures are now reported as well as crashes.
    • Crash report files with spaces in their paths now work correctly.
  • New: Added support for p4 command line tool installed in /usr/local/bin.
  • New: Enabled subsurface scattering on OpenGL.
  • Bugfix: Crash fix at exit that if GLog was initialized before the game thread was created.
  • Bugfix: Crash fix on clicking a dropdown located in an inactive window in apps using the standalone OpenGL renderer.
  • Bugfix: Crash fix on Mac OS X Yosemite (10.10) and earlier related to debug symbols (.dSYM) being wrongly treated as dSYM bundles by the OS when next to the associated binary. Moved dSYM files out of application bundles.
  • Bugfix: Crash Report Client on Mac OS X can now reopen the correct project when ‘Send & Restart’ is used.
  • Bugfix: Fixed handling of mouse cursor position in non-native fullscreen modes on secondary screens.
  • Bugfix: Stopped Mac OS X compiler stripping necessary allocator overrides and causing memory errors.
  • Bugfix: Mac icon preview in the project properties no longer displays swapped colors.
  • Bugfix: Fixed splash screen rendering for images with DPI different than 72.
  • Bugfix: Fixed strange reflections in templates on Mac OS X by re-enabling seamless cube map support.
  • Bugfix: Temporal AA rendering on Mac OS X correctly handles NaN values. Disabled shader code that relies on features not yet available on Mac OS X.
  • Bugfix: Fixed window activation when clicking on a draggable widget of an inactive editor.
  • Bugfix: Fixed window reordering issues on app activation.
  • Allowed windows to be larger than a single monitor on Mac OS X so that taking screenshots of projects at iOS Retina resolutions works.
  • Android device detection in editor keeps the last ANDROID_HOME setting in .bash_profile instead of the first.
  • Re-enabled seamless cube-map support in Mac OpenGL to stop strange square reflections appearing in template projects.

Playstation 4

  • New: Added ability to use unsafe command buffers to reduce CPU overhead. Enabled in PS4 projects settings. Saves approx 0.4ms of CPU on draw thread in ShooterGame when running single threaded.
  • New: PAK files are now padded and compressed in PKGs to reduce patch sizes for titles built with 4.10 and later.
  • New: Updated to SDK 3.000.
  • New: Vertex/Index buffers now always use GPU memory unless they specifically require CPU readback.
  • Bugfix: Crash fix in the PS4 GPU allocator when a chunk is destroyed.
  • Bugfix: Procedural mesh components now draw on PS4.
  • Bugfix: Touch pad now works when Morpheus is enabled.
  • Bugfix: Fixed constant reverb on all sounds.
  • Bugfix: DS4 Touch and Mouse are now initialized properly.
  • Bugfix: Touch events hit widgets correctly when running on Morpheus.
  • Bugfix: Fixed PS4 C# projects getting added to the UE4 Solution when the PS4 SDK is not installed.
  • Bugfix: Fixed directory iteration not working correctly with certain deep folder layouts. Fixes issues with missing levels when using world composition.
  • Reduced the size of command buffer blocks to 64k. This reduces the memory overhead of parallel rendering and reduces pressure on the Onion GPU memory pool.
  • Moved Vertex and Index buffers to allocate from Garlic memory unless they require CPU readback. This reduces pressure on the small GPU Onion memory, and is a small GPU perf boost.
  • Fixed a packaging bug what would cause packaging to fail if a 50GB bluray was required, but only a 25GB bluray was specified.

Xbox One

  • New: Distance field ambient occlusion and shadowing are now enabled on Xbox One.
  • New: The default Xbox One XDK has been updated to August 2015.
  • New: Various rendering optimizations have been made in preparation for a future switch to the fast semantics driver.
    • Dynamic vertex and index buffers are now handled manually, saving time spent in the driver and avoiding syncing with the GPU.
    • Swapchain handling updated to latest APIs.
    • Removed some old verification code that won’t work with fast semantics.
    • Shader compilation options tweaked for slightly better GPU performance.
  • Memory corruption is prevented in the case that an invalid controller ID is passed into the force feedback channel functions.

HTML5

  • Bugfix: Fixed issue when copying the HTML5 helper command template due to read only file attributes.
  • Bugfix: Numerous path slash issues for HTML5 packaging on Mac have been fixed.
  • Bugfix: String Builder now outputs “\n” instead of system dependent line endings.

Windows

  • Memory corruption is prevented in the case that an invalid controller ID is passed into the force feedback channel functions.

Programming

  • Modified DDS cubemap loading to prevent an array overflow. (Contributed by ExpiredPopsicle, Pull Request #1315.)

Rendering

  • New: Render Target 2D can now automatically generate all mipmaps. (Contributed by CoherentUE4, Pull Request #189.)
  • New: Show a warning message when going over the texture streaming budget.
  • Bugfix: Fixed a case where material billboard components were culled incorrectly.
  • Bugfix: Fixed an issue when rendering translucent materials in the HUD using Draw Material.
  • Bugfix: Cloth and skeletal meshes no longer flicker when almost out of view.
  • Bugfix: Fixed particle systems that have dirty distributions saved to disk.
  • Bugfix: Fixed dithered LOD transitions on HISMC meshes with materials without dithered LOD transitions.
  • Bugfix: Flickering due to incorrect LOD rendering no longer occurs when adjusting the transform of a Hierarchical Instanced Static Mesh instance at runtime.
  • Bugfix: Flickering due to occlusion queries no longer occurs when Hierarchical Instanced Static Mesh Components are added or updated at runtime.
  • Bugfix: Light Accumulation target are now resolved before being used in non-tiled reflections.
  • Bugfix: “Use as Occluder” checkbox now functions correctly for Hierarchical Instanced Static Mesh Components.
  • Bugfix: Fixed procedural mesh components not drawing on certain platforms due to the Max Vertex Index not getting set correctly.
  • Bugfix: Motion blur on cloth fixed. (Contributed by braindx, Pull Request #123.)
  • Bugfix: Fixed a case where an unbound depth target was causing artifacts.

Lighting

  • Bugfix: Crash fix when using Light Propagation Volumes with translucency.
  • Bugfix: Fixed a case where Lightmass could hang indefinitely.
  • Bugfix: Fixed objects being culled by the near plane of the shadow frustum with RTDF shadows: shadow casters behind the camera no longer pop out.
  • Bugfix: Subsurface Profile now displays the correct colors.
  • Bugfix: Fixed skylights on translucency in projects with static lighting disabled.

Postprocessing

  • New: Subsurface scattering is enabled on OpenGL platforms.
  • Fixed a performance regression in the Screen Space Ambient Occlusion.

Optimizations

  • New: Added Screen Space Ambient Occlusion scalability.

Mobile Rendering

  • New: Refraction on mobile, enabled by default for high-end devices.
  • Bugfix: Fixed incorrect reflection transforms when using unlit materials with forward shading.
  • Bugfix: Fixed several issues with scene capture rendering.
    • Final color captures now work with forward renderer.
    • Crash fix when using captures when mobile HDR is not enabled.
    • Fixed possible bug in post processing that could incorrectly resolve an image when a sub rect of the scene render target was used.
  • Bugfix: Crash fix when using Depth of Field in iOS platform.
  • Bugfix: Handled precision issues with Object Scale material function on some Android devices.
  • Bugfix: Crash and rendering issues on Nexus 5 with Android 4.4.4 when map has decals.

UI

  • Bugfix: Crash fix during editing arrays in the Widget Blueprint property editor.
  • Bugfix: Fix animation for byte and enum properties for values greater than 1.

Slate

  • New: Slate Windows whose dimensions are bigger than the work area are now clamped in size so that they are not clipped.
  • Bugfix: Crash fix when deleting a Slate Image Run that isn’t set to use a dynamic brush.
  • Bugfix: Set Button Style (on Buttons) now updates hovered and pressed sounds. These sounds can be dynamically changed from a Blueprint by switching the button’s style.
  • Bugfix: Fixed a rendering issue with submenu button entries which was causing their text to turn black when opening their submenu.
  • Bugfix: Resetting a slate brush image size will now correctly reset to the image size and not to the default slate size (32×32).
  • Bugfix: Text Box is now updated when Set Text has same text, but with case changed.

UMG

  • Bugfix: Crash fix when dragging widgets out of Switchers in the UMG designer.
    • Fixed unsafe active widget index in Widget Switcher that could act as out-of-bounds index into child array.
  • Bugfix: Crash fix on adding a UMG widget to the viewport twice.
  • Bugfix: Crash fix with Scroll Widget Into View. Providing a null value will no longer cause a crash.
  • Bugfix: UMG editor no longer allows invalid object names when renaming widgets.
    • Having a period in the name of a widget would cause the editor to crash after copying and pasting.
  • Bugfix: Fixed an issue with UI materials where they were not gamma corrected and rendered darker on mobile devices than on PC.
  • Bugfix: Fixed Blueprint compilation issue in which UMG widgets containing an instance of the widget being edited would fail to auto-compile.
  • Bugfix: Slider value has been clamped to [0, 1] to prevent the handle from sliding off the bar.
  • Bugfix: The Left menu anchor position now offsets by the correct amount.
    • Slider Locked/Handle Indent properties are now respected.
    • The Widget Component will now correctly hit test once again.
  • Bugfix: Fixed several Slate controls, such as Slider and Checkbox, on touch devices. They once again respond to touch events.

Programming Release Notes

Audio

  • Optimized FAudioDevice::FindActiveSound by reducing weak object pointer comparisons.

Animation

  • New: Added basic support for MasterPoseComponent to UPoseableMeshComponent.
  • Bugfix: Fixed over-counting memory issues in exclusive GetResourceSize reporting in both UAnimSequence and USkeletalMesh.
  • ARecastNavMesh::OnNavMeshGenerationFinished has been made virtual so that game-specific ARecastNavMesh-derived classes can easily react to that event.
  • Cached World pointer has been removed from NavigationData class since it had the potential to cause Garbage Collection issues.
  • Navigation Data instances get cleaned up in EndPlay now, rather than waiting until Destroyed.

Core

  • New: Added custom deleter support to TSharedPtr.
  • New: Added support for nested serializable objects during conversion to JSON.
  • New: Added FVector::DistSquaredXY helper function. (Contributed by EverNewJoy, Pull Request #1365.)
  • New: FCachedReadPlatformFile can now be disabled to decrease memory usage at the expense of speed.
  • Disabled Hot-Reload functionality in game builds.
  • Fix multiline comments parsing in UHT, where end of comment was treated as start of one, e.g. // Comment //
  • Fixed a lot of Hot-Reload errors.
  • Fixed return value of HexToBytes.
  • ModuleRelativePath Metadata will now be properly generated for structures in UnrealHeaderTool.
  • Fix “error: ‘&’ within ‘|'” in EditorPerformanceTests.cpp when using clang-3.5.2. (Contributed by slonopotamus, Pull Request #1430.)
  • Fixed LogCompile typo: Tabify time was was… (Contributed by MrMormon, Pull Request #1460.)
  • Removed unnecessary memory allocations from TMultiMap::MultiFind.
  • UPackage::PackageFlags made private.
  • Classes referenced by ConstructorHelpers::FClassFinder will no longer be garbage collected when unreferenced.
  • Fixed a rare crash when streaming packages and loading objects not asynchronously in one of the streamed object’s PostLoad functions.

Editor and Tools

  • New: Slow Task dialogs can now be set to automatically open only after a certain amount of time has passed.
    • This can be useful if it’s not necessarily known in advance how long a task will take, but where opening the dialog for only a second or so would be disruptive.
  • Fixed a bug that was causing TAssetPtrs to point to the wrong objects during play-in-editor sessions.

Cooker

  • The BuildPatchServices plugin now compiles correctly on non desktop platforms.

Gameplay Framework

  • New: AAmbientSound can now be extended in game modules.
  • New: ASceneCaptureCube can now be subclassed by game modules.
  • Bugfix: Crash fixed in CheckStillInWorld() after Actor has been destroyed or is not in the world.
  • Bugfix: Crash fix in RepairWorldSettings() when the UWorldSettings subclass originally saved with the map no longer exists.
  • Deprecated unused USkinnedMeshComponent::bCharDistancetDistanceFactor.
  • Fixed crash when PlayerController is given a LocalPlayer in commandlet mode.
  • Updated async trace handling to accept trace requests more widely. Avoids some asserts when poorly-timed requests would come in.
  • Using the assignment operator for FActorSpawnParameters will no longer cause a deprecation warning.
  • USceneCaptureComponentCube::UpdateContent is now callable outside of Engine module.

Networking

  • Bugfix: Corrected receive buffer size in UDP Socket Receiver.
  • Fixed an issue that could cause the value of AWorldSettings::WorldGravityZ not to be applied on clients after it changed on the server.

Online

  • New: FWebImage class now detects image format based on the file header instead of relying on http mime headers being set up correctly.

Windows

  • New: FCachedReadPlatformFile is off by default on Windows since WindowsPlatformFile already caches the reads.

Mac

  • Improved error handling in Mac media player.

Android

  • New: A new Android plugin system is included in 4.10 and the GearVR plugin now uses it. Changes to the generated AndroidManifest.xml, proguard-project.xt, and GameActivity.java may be made during packaging along with staging files by adding an AndroidPlugin property in their build.cs to reference an XML file containing commands; see GearVR.build.cs and GearVR_APL.xml for an example. AndroidPluginLanguage.cs documents the commands available.
  • Fixed Resolution cache RequestedContentScaleFactor log message.
  • Fixed compile errors in GearVR plugin for non ARMv7 targets.
  • Changed the way AAPT is located to check PgkRevision instead of always using first subdirectory of build-tools in Android SDK.
  • CompileOpenGLShader for Android now only checks the compile result immediately during initial shader tests.
  • Default for Android SDKAPILevel is now “matchndk” instead of “latest”.
  • Fixed issue with bool.ToString() on Mono returning “True” or “False” instead of “true” or “false” in Android plugin language.
  • Fixed missing #include needed for non-unity Android builds.

PlayStation 4

  • Fixed Visual Studio debugger .NatVis issues. TSparseArray, TBitSet, TMap, and TSet can now handle indices > 31 and invalid values now display “Invalid” correctly.

Rendering

  • Bugfix: Crash fix in FDynamicSkelMeshObjectDataGPUSkin when using MasterPoseComponent on something other than USkeletalMeshComponent.
  • Improved clearing render targets on D3D12. (Contributed by JeffRous, Pull Request #1621.)
  • Fixed an issue on D3D12 where indirect arguments had the wrong offset.
  • Fixes for D3D12 resource binding on Tier 1 hardware.

Upgrade Notes

C++ API Changes

  • Multiple AdMob IDs may now be entered and Show Ad Banner now takes an index. New Get Ad ID Count Blueprint node returns the array size. ShowAdBanner() method in advertising provider now takes an int32 Ad ID Index.
  • Fixed return value of the HexToBytes function. Code which uses the return value of HexToBytes should be aware that the return value is now 1 more than before.
  • UPackage::PackageFlags made private. UPackage::PackageFlags has been deprecated and should no longer be set or read directly. Use Get/Set/Clear/HasAny/HasAll PackageFlags instead.
  • “Reset to default” button on the Image Size property of a brush now resets to the size of the brush’s texture, if one is set. IDetailPropertyRow::OverrideResetToDefault() parameters have changed to take a single parameter of type FResetToDefaultOverride that defines the override behavior.

Blueprints

  • New placements of a GetClassDefaults node in a Blueprint function graph will no longer expose array properties that contain object references. This is currently needed in order to prevent mutation of a default object that belongs to an owning class.
    • Existing placements will preserve any exposed property whose default value is an array of object references, but the Blueprint compiler will now emit an “unsafe connection” warning in this case, as it’s a potential risk, as we don’t currently support read-only object references in a Blueprint.

Xbox One

  • The default Xbox One XDK has been updated to August 2015. A minimum XDK version of August 2015 is required to build using the Visual Studio 2015 XDK version on Xbox One.

Playstation 4

  • PS4 updated to SDK 3.000. SDK 3.000 is now required to compile on PS4.
  • If you are using Morpheus, you must edit your param.sfo and enable it in the settings.

Oculus

  • Users should update their Oculus runtimes to 0.8, provided on the Oculus website.

Unreal Engine 4.10 What’s New

Welcome to Unreal Engine 4.10! This release is packed with a number of great new features, but our main focus has been to increase engine stability and fix outstanding issues. Hundreds of reported bugs have been bashed, many new quality of life improvements were added, and virtually every supported platform has received updates.

Unreal Engine is designed for incredible VR experiences, and every release it gets better. Epic’s “Bullet Train” VR demo is powered by new features in this version, with new rendering optimizations designed specifically for head mounted displays.

Mobile gets a nice upgrade in this release too, with new scalability features and support for refraction.

Last but not least, great news for programmers: You can now use Visual Studio 2015 for development on Windows. And on Mac, we’ve revamped our Xcode projects to allow you to work more efficiently. We’ve also refreshed our target platforms with support for latest SDKs.

Major Features

New: Refraction Effects for Mobile

Refraction effects are now fully supported on mobile platforms. Your existing shaders with refraction will automatically work on mobile devices in this release — no extra steps are required!

Refraction Effects for Mobile

Refraction Effects for Mobile

  • Enabled on iPhone 5S and above and Android devices such as Nexus 5, Galaxy Note 4 and Galaxy S6
  • It can be enabled on other devices by setting the r.RefractionQuality render variable in their corresponding Device Profile

New: Optimized VR Rendering

Your VR games get faster in this release, thanks to new rendering optimizations specifically for head mounted displays. We’ve implemented a new “Hidden and Visible Mesh optimization” to reduce the GPU overhead of VR rendering.

Optimized VR Rendering

Optimized VR Rendering

Bullet Train VR Demo, by Epic Games

Bullet Train VR Demo, by Epic Games

Bullet Train VR Demo, by Epic Games

These two optimizations ensure that we do not spend GPU time working on pixels that will not be displayed in the actual device, because of lens distortions. The hidden area mesh works as a prepass, where we take a mesh that represents the area hidden from view, and reject everything behind the mesh. Next, for the post-processing stage, we use the inverse of that mesh, which represents the visible pixels, and then only run post processing on those. By using these two techniques, you get “free” performance! On “Bullet Train,” we saw about 0.25 ms total savings on the PC, where the total frame time is only 11ms. On console platforms you can expect to see much larger performance gains!

New: Visual Studio 2015 Support

Unreal Engine has been updated to Visual Studio 2015 on Windows platform!

Visual Studio 2015 Support

Visual Studio 2015 Support

Visual Studio 2015 includes many new improvements that should help your workflow, including support for new modern C++ language features like uniform initializers and delegating constructors. The new compiler is also very standards-compliant and will detect more errors in your code.

You can download the free Visual Studio 2015 Community Edition right here. For other versions, head over to the Visual Studio web site. Unreal Engine supports Visual Studio 2015 Community, Professional, Enterprise as well as Express for Desktop (with some limitations.)

Important: The launcher distribution of the engine now requires Visual Studio 2015 with C++ support enabled. Please upgrade your team now! If you use the New Project wizard inside Unreal Engine, we’ll help you get Visual Studio 2015 downloaded and installed.

Important: The Visual Studio 2015 installer does not install C++ by default when installing manually. Make sure to choose “Custom” when prompted, then expand the Programming Languages section, and check Visual C++.

When compiling your project the first time, be on the lookout for new compiler errors reported because the new C++ compiler is more strict. Microsoft has posted this document with examples of changes that could affect your code.

If you need to continue using Visual Studio 2013, you’ll need to compile the engine yourself from the GitHub source code. The primary reason for not supporting Visual Studio 2013 in the launcher distribution is because the additional precompiled binaries, debug symbols and static libraries for both versions of the compiler would have significantly increased the engine size and caused project setup to be more complicated on Windows. We’ll be fully retiring support for Visual Studio 2013 in an upcoming release.

New: Mobile Material Quality

The new Material Quality system allows your game to easily scale all the way down to low end devices, without sacrificing quality on more modern devices!

You can now generate Low, Medium and High quality versions of shaders for all materials! With each tier, you can selectively disable rendering features to increase performance on low end devices. UE4 will automatically detect a good default quality level for many popular devices.

Mobile Material Quality

Mobile Material Quality

Galaxy S6 Edge (High quality materials)

Galaxy S6 Edge (High quality materials)

Galaxy S6 Edge (High quality materials)

  • High material quality automatically selected
  • Specular reflections, roughness, metals, normal maps and directional lighting

Galaxy S III (Material quality scaled down)

Galaxy S III (Material quality scaled down)

Galaxy S III (Material quality scaled down)

  • Material quality automatically scaled for optimal performance
  • Specular reflections, variation in roughness, metals, normal maps and directional lighting are disabled

New: UE4 Platform Updates and SDKs

Every release of UE4 contains improvements for supported platforms along with updated support for latest platform SDKs

UE4 Platform Updates and SDKs

UE4 Platform Updates and SDKs

Platform highlights in this release:

  • Oculus Rift updated to support 0.8 SDK Beta
  • Oculus Mobile SDK updated to support 0.6.2
  • Xbox One was updated to the August XDK and now compiles using Visual Studio 2015
  • Playstation 4 was updated to SDK 3.00 (with Playstation VR support!)
  • iOS support was updated to SDK 9.0
  • Mac OS X was updated to SDK 10.11 (El Capitan)
  • Xcode support was updated for Version 7
  • Android now supports Marshmallow (6.0)
  • Ongoing fixes to Linux/SteamOS, and minor improvements in lower level functionality.

New: Landscape Mirror Tool

Using the new Mirror Tool you can easily make symmetrical landscapes. This is really useful for competitive two-team landscape levels!

Landscape Mirror Tool

Landscape Mirror Tool

  • Mirrors the heightmap, material layers and landscape grass
  • Mirror in either direction over the X or Y axis

New: Low-latency VR Motion Controllers

We’ve updated Motion Controller Components to now do a late-update right before we begin rendering. You can see the difference between a late-updated and a non-late-updated component’s position and rotation below. The screenshot was taken during a normal speed, side-to-side arm motion.

Low-latency VR Motion Controllers

Low-latency VR Motion Controllers

This is the same technique that we use to reduce latency with head mounted displays. We now update Motion Controller Component positions twice per frame: once during the input tick, and once again right before we render. That means that controls will feel more responsive, and better reflect what the player is doing in the real world. This feature is enabled by default.

New: Automatic Blueprint Node Arrangement

We’ve added a comprehensive set of layout routines for fast automatic organization of Blueprint graphs.

Automatic Blueprint Node Arrangement

Automatic Blueprint Node Arrangement

Just right click on selected nodes and choose “Alignment” to automatically arrange those nodes.

Here’s what you can do with this feature:

  • Aligning the selected nodes based on their bounds (Top/Middle/Bottom, Left/Center/Right).
  • Distributing the selected nodes along a horizontal/vertical axis.
  • Straightening connections between the selected nodes.
  • Straightening a specific link connected to a particular pin.

New: Web Browser UI on Android

Android now supports Web Browser widgets created either in a Widget Blueprint or in C++ using Slate code. This can be used to display content hosted anywhere on the web, for example a news messages to your users or help text.

Web Browser UI on Android

Web Browser UI on Android

  • On Android, the platform’s native web control is used so there is no increase in the executable size.
  • Web Browser widgets will be supported on iOS in a future release.

New: Gamepad Features for Android

Multiple gamepads are now supported for Android along with identifying some common controller types and mappings.

The following Android controllers are automatically detected. Others will fall back to generic mappings.

Gamepad Features for Android-Amazon Fire Game Controller and Amazon Fire TV remote

Gamepad Features for Android-Amazon Fire Game Controller and Amazon Fire TV remote

Gamepad Features for Android-NVIDIA SHIELD Controller and SHIELD Portable

Gamepad Features for Android-NVIDIA SHIELD Controller and SHIELD Portable

Gamepad Features for Android-Samsung Game Pad EI-GP20

Gamepad Features for Android-Samsung Game Pad EI-GP20

Other new features for Android controllers:

  • Mappings are now detected automatically based on the name of the controller device
  • Multiple controllers are now supported simultaneously
  • We now handle both Z/RZ and RX/RY mappings of axes to right joystick
  • Left Trigger / Brake and Right Trigger / Gas axes now work properly
  • X/Y Hat now maps to directional pad button events

Quick note about supporting more than one controller at the same time: Pressing a button on an unassigned gamepad will now associate the device ID with the first unassigned controller ID. Gamepad to controller ID assignments may also be queried or cleared with three new Blueprint nodes:

Gamepad Features for Android

Gamepad Features for Android

New: Xcode Project Overhaul

We’ve greatly improved how Xcode projects are generated for your game! You’ll now have access to Xcode’s live issues and “Fix It” features, and indexing is much faster. Plus it’s way easier to switch between build configurations!

Instead of a single project containing multiple targets we now have a workspace consisting of multiple projects, one per target. You now open UE4.xcworkspace instead of UE4.xcodeproj in Xcode. Each project in the workspace creates a single scheme that’s used to build various UE4 targets. What is being built and run is determined by active configuration and platform.

 

Xcode Project Overhaul-UE4 Target selection in Xcode

Xcode Project Overhaul-UE4 Target selection in Xcode

New target selection on the left, old on the right.

 

Xcode Project Overhaul-UE4 Build Configurations in Xcode

Xcode Project Overhaul-UE4 Build Configurations in Xcode

You’ll no longer have to worry about which executable to run. Xcode will automatically choose the correct app when you switch build configurations. Please note that changing the active configuration does not update the Executable drop down in the scheme editor, that’s a known issue with Xcode. It will, however, use the correct app when you run from Xcode.

Xcode Project Overhaul

Xcode Project Overhaul

Even though StrategyGame.app is shown, the StrategyGameEditor.app will be launched!

Project indexing should now be faster and more accurate. Additionally, live issues are displayed and Xcode’s Fix-it system works now:

Xcode Project Overhaul

Xcode Project Overhaul

New: Mobile Provisioning Profile Selector

Users are now able to explicitly select a mobile provision and certificate in the iOS Project Settings. Previously, a “best match” provision and certificate were used (and highlighted in green, as seen below). Now, there are check boxes next to them which will allow a particular provision or certificate to be used instead of the best match. If no items are selected, the green ones will be used.

Mobile Provisioning Profile Selector

Mobile Provisioning Profile Selector

Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked

Epic Games has revealed ProtoStar, a real-time 3D experience built with Unreal Engine 4 technology at Mobile World Congress 2016. Demonstrated on the newly unveiled Samsung Galaxy S7, ProtoStar is the first application using Vulkan API to be shown at Samsung Galaxy Unpacked 2016.

Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked

Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked

“The new industry-standard Vulkan API brings key elements of high-end console graphics technology to mobile devices, and Samsung is leading the way with the amazing new Galaxy S7,” said Tim Sweeney, CEO of Epic Games. “As the first engine supporting Vulkan, Unreal Engine 4 provides a solid foundation for developers joining in the mobile graphics revolution.”

Unreal Engine 4’s implementation of Vulkan API enables developers to create visually stunning, cross-platform 3D content that supports more draw calls, and more dynamic objects onscreen, with faster performance than ever before.

Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked

Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked

ProtoStar introduces a slew of new Unreal Engine 4 rendering achievements on mobile, including:

  • Dynamic planar reflections (high-quality reflections for dynamic objects)
  • Full GPU particle support on mobile, including vector fields
  • Temporal anti-aliasing (TAA)
  • High-quality ASTC texture compression
  • Full scene dynamic cascaded shadows
  • Chromatic aberration
  • Mobile dynamic light refraction
  • Filmic tonemapping curve
  • Improved mobile static reflections
  • High-quality mobile depth of field
  • Vulkan API support with thousands of dynamic objects onscreen

Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked

Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked

In addition, Vulkan in Unreal Engine 4 gives developers more control on mobile tile-based graphics processors, allowing for very thin and fast graphics drivers, with minimal overhead. Using Vulkan’s separate debug layer, developers can more thoroughly and easily inspect code and fix issues.

Minecraft on Oculus Rift is the best VR game to date

Minecraft on HoloLens may be cool, but with Minecraft on Oculus Rift, you feel more like you stepped into the world.

Minecraft is a delightful and hugely successful game, but no one would say its success hinges upon realism. It’s blocky graphics, full of sharp right angles and huge “pixels” are far from realistic, but it gives the game a signature visual style and plenty of charm. However, it turns out that Minecraft‘s massive open-world nature makes it a great game for virtual reality. Microsoft already showed the game running in HoloLens, and now the company is announcing that it’ll work with Oculus Rift, as well. I got a chance to see how the game works with the Rift at Microsoft’s spring showcase last week — and despite the game’s blocky style, it could be one of the best overall VR experiences out there.

For starters, it’s worth noting that this isn’t a new version of Minecraft; it has just been updated to work with the Oculus Rift. You can play in survival mode as well as join one of the many multiplayer servers out there. Once you start playing, you’re presented with two different view modes. The first puts you in a virtual castle with the game running on what amounts to a TV screen in front of you. It’s pretty meta and rather funny to be playing a game inside of a virtual reality game, but it’s not a bad way to view things if you need a break from the full VR experience.

When you jump in to that full experience, the game shifts and you’re completely immersed by what your character sees. Because of the massive scope of Minecraft‘s vast 3D landscapes, it really does feel like you’ve been transported away from reality, despite the humongous pixels and lack of fine detail. It’s one of the best and more immersive VR experiences I’ve had thus far. In fact, that lack of fine detail actually helps Minecraft be so successful — the game doesn’t try to mimic reality. Instead, it felt more like I stepped into a cartoon.

Minecraft on Oculus Rift is the best VR game to date

Minecraft on Oculus Rift is the best VR game to date

The demo experience Microsoft was showing off goes through a few of the games signature moments — I did some mining, fought some creeps, lit up some caves with torches, pressed a bunch of buttons to interact with the environment and eventually rode a mine cart way up the side of a huge building. That was probably the best part of the demo, as there was a real sense of speed and height as I rocketed skyward. A later mine cart ride let me look around in 360 degrees at the vast landscape from way on high as it headed towards a new area, and there was all sorts of activity and eye candy to take in on the trip.

As with most things VR, it’s hard to do the experience justice in words, but I’ll just say that the experience really highlighted the vastness of the world and did a great job of immersing me in Minecraft. It’s a less radically different version of the game than the HoloLens experience, mostly because the Oculus version doesn’t have gesture and voice commands, but it still seems like a great place to go exploring. Unfortunately, there’s no word on exactly when Minecraft will be publicly available in VR, but hopefully it won’t come terribly long after the Rift’s release later this month — “killer app” is a played-out term, but Minecraft has the potential to be one for the nascent VR scene.

Unravel review: Eyes full of candy, head full of yarn

Unravel review: Eyes full of candy, head full of yarn

Unravel review: Eyes full of candy, head full of yarn

Netflix makes secret “test” films. I discovered this a few years ago through InstantWatcher, which aggregates all films added to Netflix on any given day. Here, for your entertainment, is “Example Show,” presumably used by Netflix to test some aspect of its TV streaming.

For those who can’t watch: It’s nonsense. First, a twenty second time-lapse of a random building. Then a full minute of a bubbling fountain—a medium shot followed by a close-up. A hand reaches in and touches the water. Skipping forward, there are shots of trains going by, a shot of the moon, a man dribbling a soccer ball… you get the idea.

There’s no substance. “Example Show” is ten minutes of stitched-together B-roll—vaguely pleasant, inoffensive, and ultimately empty of meaning.

Much the same could be said of Unravel.

The ties that bind

Sometimes Unravel is cute. Sometimes it’s beautiful. Most of the time it’s a humdrum puzzle-platformer.

Unravel

You play as Yarny, a knitted doll who decides he’s tired of living in grandma’s boring ol’ house and goes on an adventure. Unfortunately for Yarny, he accidentally snagged his intestines on something on his way out the window. Thus he is constantly hemorrhaging a trail of red thread wherever he goes.

The same dark magic that brought Yarny to life also allows him to replenish his yarn supply at various checkpoints, though. This is the “puzzle” part of this puzzle platformer. You need to make it to the next checkpoint without using an arbitrary amount of thread.

What it actually means: A lot of tedious backtracking. Yarny uses his guts for everything—building bridges, operating pulleys, and (most often) swinging off pegs like Tarzan with a horrific hernia.

Fun fact: A human’s intestines are approximately twenty feet long.

Unravel

Anyway, many of these actions require Yarny to tie a knot in his slowly-dwindling intestines—say, to push a can over a rock so Yarny can stand on it and reach a higher ledge. Rarely are these “puzzles” at all difficult to figure out.

What is difficult is remaining patient when the game then forces you to go back and untie all those damn knots because otherwise you can’t make it to the checkpoint. Try not to lose your temper when you’re mere centimeters from the next yarn-granting checkpoint and see an emaciated Yarny start pulling at his stomach, wordlessly whining that he can’t go even one more step unless you go back and undo a knot you foolishly left tied, or go over that [random decorative element] instead of underneath it.

And I do mean random. Unravel is broken up into ten stages, each with its own theme. The forest level! The winter level! The…toxic waste level?

Unravel-Admit it: You thought I was kidding.

Admit it: You thought I was kidding.

Two toxic waste levels, actually. Much of Unravel is concerned with—I think—the effects of time on a family, on aging and loss and (possibly) dementia. None of this is especially well-conveyed, but I’m pretty sure that’s what I gleaned from it by the end.

It’s hard to follow though, given the game has barely any structure to it. Story is conveyed, at best, in winks and nudges. Walking through the forest you might suddenly see a ghostly apparition, a man and woman hiking. Later you might see a kid playing in the sand or something.

Imagine looking through the photo albums (or Instagram, for the young’uns) of a total stranger. Or, better yet, imagine looking through a collection of stock photos and trying to assemble a story from them. That’s Unravel.

And we haven’t even talked about those toxic waste environs yet! I was willing to accept Unravel as a soporific, confused trip through a grandma’s photo album, but midway through the game the story takes a turn and focuses on the dangers of nuclear waste or big business or global warming or…I can’t really fathom it, to be honest. All I know is Yarny needs to avoid the massive puddles of radioactive green goo while ghosts of suited businessmen appear briefly in the background.

Unravel-Damn it, Mr. Suit Guy and your loyal construction minions. Think of the yarn-children.

Damn it, Mr. Suit Guy and your loyal construction minions. Think of the yarn-children.

The levels themselves are admittedly beautiful to look at. As with The Vanishing of Ethan Carter I suspect photogrammetry might’ve played a hand, leading to a level of ultra-realism rarely seen in games, let alone small indie titles like this. But they’re empty. They play at life, at emotion, at having “something to say” without really saying much at all.

 

Next PlayStation 4 update will let you play your games on Windows PCs and Macs

Sony said in November that Remote Play support was coming for Windows and Mac PCs, and now it’s almost here.

Next PlayStation 4 update will let you play your games on Windows PCs and Macs

Next PlayStation 4 update will let you play your games on Windows PCs and Macs

We still  don’t know exactly when PlayStation 4 gamers will be able to stream PS4 games to PCs (Windows and OS X) over a home network, but it looks like it will be soon. Sony recently announced that PC and Mac Remote Play integration will be part of the next major operating system update for the PS4. The company first announced Remote Play integration for Windows and Macs in November.

A closed beta test for version 3.50, codenamed Musashi, rolls out on Wednesday, March 1. Remote Play, however, will not be part of the beta release. What gamers will get to try out are a lot of social features, including notifications for when your PS friends come online; the ability to change your status to offline; and scheduling future online gameplay sessions with friends. The new version also adds live streaming integration for video site Dailymotion.

As for Remote Play, Sony says “you can look forward to it soon.” It’s not clear if that means Remote Play will show up in a later beta version of Musashi, or if it won’t show up until the official release.

The codename Musashi is presumably in honor of the classic PlayStation series, not the historical figure—although the original game, Brave Fencer Musashi, does pay homage to Miyamoto Musashi.

Why this matters: Sony is currently leading the console wars in terms of raw numbers, but with Remote Play for PCs PlayStation is catching up to the rest of the gaming world. The Xbox One already streams games to PCs running Windows 10. Valve’s Steam for PC gamers is also big on in-home streaming. Steam first released an in-home streaming feature in 2014, and more recently released the Steam Link streaming box. Steam Link is designed to bring PC gaming to the living room without hauling your gaming rig out of the basement.

Sony has not said which versions of Windows and OS X Remote Play will support. Remote Play currently works with select Xperia smartphones and tablets and allows you to stream games to a mobile device and play them using a DualShock 4 controller.

Hitman could become the first big DirectX 12 game

IO Interactive and AMD team up for a big performance boost on Radeon graphics cards.
DirectX 12 may soon appear in a big-budget game with next month’s launch of Hitman.

Hitman could become the first big DirectX 12 game-Hitman 2016

Hitman could become the first big DirectX 12 game-Hitman 2016

AMD says it’s collaborating with Hitman developer IO Interactive to enable the next-generation graphics tech. It sounds like this will be the first game to take advantage of DirectX 12’s Asynchonous Shaders feature, which spreads different tasks (such as lighting, physics, and memory) across the GPU’s individual computing units, letting them all work at the same time. This should allow for big gains in image quality without a performance hit.

Indeed, Hitman might be the first DirectX 12 game on the market from a major publisher. The stealth action thriller is set to launch on March 11, long before other confirmed DirectX titles such as Deus Ex: Mankind Divided and Fable Legends. It’s possible that Gears of War: Ultimate Edition could sneak in sooner with an early 2016 launch, but so far Microsoft hasn’t given a specific release date.

Aside from those new releases, some existing games such as Just Cause 3 and The Elder Scrolls Online are also in the works. Some smaller games such as Descent: Underground added experimental DirectX 12 support last year.

To take advantage of DirectX 12, players will need to be running Windows 10—Microsoft has no plans to bring the tech to older versions—and AMD cards will need to run the company’s Graphics Core Next Architecture, covering nearly every card released since 2012.

Quantum Break Coming To PC April 5th

Remedy Entertainment’s Quantum Break is coming to PC April 5th. Telling the tale of time travel gone wrong, Quantum Break features a mix of high-fidelity third-person shooting, cinematic in-game cutscenes, and live action cutscenes that star Shawn Ashmore (X-Men‘s Iceman), Dominic Monaghan (The Lord of the Rings‘ Meriadoc Brandybuck), Aidan Gillen (Game of Thrones‘ Petyr Baelish), and other top talent.

Having previously raised the bar for graphics and cutscenes with Alan Wake and Max Payne, Remedy’s latest endeavor is poised to once again advance graphical fidelity and immersion with a raft of advanced effects and features, courtesy of their new in-house Northlight Engine.

Quantum Break PC Announcement ScreenshotTo experience the stunning scenes that Northlight and Quantum Break will produce, at a high level of fidelity, Remedy is recommending that gamers equip their systems with GeForce GTX 970 graphics cards. And for an “Ultra” experience, a GeForce GTX 980 Ti is recommended.

MINIMUM
RECOMMENDED
ULTRA
OS
Windows 10 (64-bit)
Windows 10 (64-bit)
Windows 10 (64-bit)
DirectX
DirectX 12
DirectX 12
DirectX 12
CPU
Intel Core i5-4460, 2.70GHz or
AMD FX-6300
Intel Core i5 4690, 3.9GHz or
AMD equivalent
Intel Core i7 4790, 4GHz or
AMD equivalent
GPU
VRAM
2 GB
4 GB
6 GB
RAM
8 GB
16 GB
16 GB

If you’re itching to buy Quantum Break but can’t decide between the Xbox One and Windows 10 versions, don’t fret – Quantum Break is kick-starting Microsoft’s Cross-Buy initiative. Simply put, if you buy Quantum Break for Xbox One at a participating retailer you’ll also receive a free copy of the game for PC. Furthermore, any progress make in the game is automatically shared between your PC and Xbox One, enabling you to continue the story from where you left off on either platform.

Quantum Break PC Announcement ScreenshotFor further details about the PC edition of Quantum Break stay tuned to GeForce.com. In the meantime, check out a batch of new screenshots below.

Quantum Break PC Announcement Screenshot Quantum Break PC Announcement Screenshot Quantum Break PC Announcement Screenshot Quantum Break PC Announcement Screenshot Quantum Break PC Announcement Screenshot Quantum Break PC Announcement Screenshot

Fallout 4 Patch 1.3 Adds NVIDIA HBAO+ and FleX-Powered Weapon Debris

Fallout 4 launched last November to record player numbers, swiftly becoming the most popular third-party game on Steam. Later this year, Bethesda’s downloadable content will be released, adding all manner of new things to see and do. And when the official mod kit is released it will enable budding developers to implement more advanced gameplay and graphics mods that simply aren’t possible at present.

Some enhancements however can only be implemented by Bethesda with an official update. So we’ve worked closely with the creators of Fallout 4 to develop two new graphics settings, available now in the newly-released patch 1.3.

The first is a setting many will be familiar with: HBAO+. Seen in numerous games, HBAO+ increases the quality of ambient occlusion shadowing by a significant degree, creating a more realistic scene with extra depth and detail.

Fallout 4 - NVIDIA HBAO+ In Patch 1.3

HBAO+ introduces these enhancements through the use of DirectX 11 technology developed by NVIDIA, as detailed here. In addition, Fallout 4’s HBAO+ implementation includes the long-distance HBAO+ rendering feature that debuted as one component of “HBAO+ Ultra” in another recent release.

This new feature enables HBAO+ ambient occlusion shadows to be rendered far into the distance, improving image quality screen wide. This is especially noticeable in cities with large buildings that are accurately shadowed by HBAO+ as far as the eye can see. In the screenshot below, note the deeper, richer shadowing around every window and building edge; the prominent and realistic shadowing around vehicles; the shadowing that enables you to discern tufts of grass and smaller pieces of foliage; the new shadowing on building interiors; the shadows in the crater that enable you to see the different height and depth of terrain features; and the screen-wide ambient occlusion shadows that are visible even in the very back of the scene, most visibly under the highway.

Fallout 4 - NVIDIA HBAO+ In Patch 1.3

Down on the ground, every blade of grass, every object, and every piece of debris is visibly improved, improving image quality across every inch of Fallout 4’s world.

Fallout 4 - NVIDIA HBAO+ In Patch 1.3

In terms of impact, HBAO+ is as-important as Anisotropic Filtering, Anti-Aliasing, and Shadow Quality, being seen across every pixel of every scene throughout Fallout 4, for the duration of the game, all upcoming DLC, and every mod that will ever be released. To enable HBAO+, load Fallout 4’s launcher, select “Options”, click “Advanced”, expand the “Ambient Occlusion” drop-down, and opt for “HBAO+”.

Fallout 4 - NVIDIA GameWorks Graphics Options

The other new graphic setting in Fallout 4’s 1.3 patch is “Weapon Debris”, a high-end, GPU-accelerated particle rendering system powered by NVIDIA FleX.

Currently, if you shoot a wall or other surface with a weapon in Fallout 4, small debris particles are emitted from the bullet hole or weapon impact point before fading in mid-air. Similarly, if you shoot a soft surface and leave a crater a plume of dust and dirt is kicked up before quickly vanishing. With Weapon Debris enabled chunks of actual debris are rendered, and persist in the scene. In addition, these particles can be manipulated by player, NPC and enemy movement, and explosions, which send debris flying throughout the scene.


Courtesy of GSY Miguel

Enabled from the same settings screen as HBAO+, Weapon Debris has three detail levels adjusting the number of particles rendered, the size of the area around the player that they can be rendered in, and quality of interaction. At the highest detail level, up to 32768 rigid body particles are rendered in as far as the eye can see, littering battlefields with GPU-accelerated debris.

With these new effects Fallout 4‘s world is now more detailed and immersive, enhancing your experience throughout your time with the game. Learn more about NVIDIA GameWorks’ enhancements and how they enhance your favorite games here.

For more ways to immensely increase Fallout 4 graphical fidelity, check out our exhaustive Fallout 4 Graphics and Performance Guide. And if you’re in the market for a new graphics card for Fallout 4 take a peek at our Recommended Fallout 4 graphics cards.

Microsoft promises to improve the Windows Store

Microsoft promises to improve the Windows Store-Rise of the Tomb Raider from Steam

Microsoft promises to improve the Windows Store-Rise of the Tomb Raider from Steam

You can buy Rise of the Tomb Raider from Steam, or you can buy it from Microsoft. The price is the same, but as How-To Geek recently explained, the games themselves are not. The Windows Store version does not allow vsync to be disabled, and it always runs in “borderless fullscreen” mode, which can potentially limit performance. Even more problematic, because Microsoft Store games are built on the new “Universal Windows Platform” rather than as conventional executable files, modding isn’t possible, nor can it be added to your Steam library, which means you can’t play it with the Steam controller.

These may not be deal-breakers for people who just want to raid some tombs when they have a few minutes to spare, but if you’ve purchased the game for your PC—as opposed to a console—then the odds are reasonably good that things like mod support and best-possible performance carry some significance. And no, not all games are going to support all things, but when the difference isn’t the game but the platform on which it’s offered, it’s important to know what you’re getting.

Microsoft’s Mike Ybarra refuted the claim that the Microsoft Store prevents SLI and Crossfire from working, saying on Twitter that “games just need to support it,” but he also acknowledged, and promised to fix, the vsync issue—something that port developer Nixxes confirmed on Steam is a limitation of the UWP framework. Xbox boss Phil Spencer addressed the complaints more broadly, saying that Microsoft has “plans to improve” the store, although he didn’t offer any specific examples of how.

That’s all well and good, certainly better than “we know it’s kind of garbage but we don’t care.” But it also risks reminding people of Microsoft’s past promises related to PC gaming, which have given us such treasures as Games for Windows Live, not to mention the fact that Quantum Break, while no longer an Xbox exclusive, will only be available on the Windows Store.  We’ll have an interview up with Spencer tomorrow which will no doubt cover some of this ground.



Popular Pages
  • CV Resume Ahmadrezar Razian-سید احمدرضا رضیان-رزومه Resume Full name Sayed Ahmadreza Razian Nationality Iran Age 36 (Sep 1982) Website ahmadrezarazian.ir  Email ...
  • CV Resume Ahmadrezar Razian-سید احمدرضا رضیان-رزومه معرفی نام و نام خانوادگی سید احمدرضا رضیان محل اقامت ایران - اصفهان سن 33 (متولد 1361) پست الکترونیکی ahmadrezarazian@gmail.com درجات علمی...
  • Nokte feature image Nokte – نکته نرم افزار کاربردی نکته نسخه 1.0.8 (رایگان) نرم افزار نکته جهت یادداشت برداری سریع در میزکار ویندوز با قابلیت ذخیره سازی خودکار با پنل ساده و کم ح...
  • Tianchi-The Purchase and Redemption Forecasts-Big Data-Featured Tianchi-The Purchase and Redemption Forecasts 2015 Special Prize – Tianchi Golden Competition (2015)  “The Purchase and Redemption Forecasts” in Big data (Alibaba Group) Among 4868 teams. Introd...
  • Shangul Mangul Habeangur,3d Game,AI,Ahmadreza razian,boz,boz boze ghandi,شنگول منگول حبه انگور,بازی آموزشی کودکان,آموزش شهروندی,آموزش ترافیک,آموزش بازیافت Shangul Mangul HabeAngur Shangul Mangul HabeAngur (City of Goats) is a game for child (4-8 years). they learn how be useful in the city and respect to people. Persian n...
  • Brick and Mortar Store Recommendation with Budget Constraints-Featured Tianchi-Brick and Mortar Store Recommendation with Budget Constraints Ranked 5th – Tianchi Competition (2016) “Brick and Mortar Store Recommendation with Budget Constraints” (IJCAI Socinf 2016-New York,USA)(Alibaba Group...
  • Drowning Detection by Image Processing-Featured Drowning Detection by Image Processing In this research, I design an algorithm for image processing of a swimmer in pool. This algorithm diagnostics the swimmer status. Every time graph sho...
  • 1st National Conference on Computer Games-Challenges and Opportunities 2016-Featured 1st National Conference on Computer Games-Challenges and Opportunities 2016 According to the public relations and information center of the presidency vice presidency for science and technology affairs, the University of Isfah...
  • Design an algorithm to improve edges and image enhancement for under-sea color images in Persian Gulf-Featured 3rd International Conference on The Persian Gulf Oceanography 2016 Persian Gulf and Hormuz strait is one of important world geographical areas because of large oil mines and oil transportation,so it has strategic and...
  • 2nd Symposium on psychological disorders in children and adolescents 2016 2nd Symposium on psychological disorders in children and adolescents 2016 2nd Symposium on psychological disorders in children and adolescents 2016 Faculty of Nursing and Midwifery – University of Isfahan – 2 Aug 2016 - Ass...
  • GPU vs CPU Featured CUDA Optimizing raytracing algorithm using CUDA Abstract Now, there are many codes to generate images using raytracing algorithm, which can run on CPU or GPU in single or multi-thread methods. In t...
  • MyCity-Featured My City This game is a city simulation in 3d view. Gamer must progress the city and create building for people. This game is simular the Simcity.
Popular posts
Interested
About me

My name is Sayed Ahmadreza Razian and I am a graduate of the master degree in Artificial intelligence .
Click here to CV Resume page

Related topics such as image processing, machine vision, virtual reality, machine learning, data mining, and monitoring systems are my research interests, and I intend to pursue a PhD in one of these fields.

جهت نمایش صفحه معرفی و رزومه کلیک کنید

My Scientific expertise
  • Image processing
  • Machine vision
  • Machine learning
  • Pattern recognition
  • Data mining - Big Data
  • CUDA Programming
  • Game and Virtual reality

Download Nokte as Free


Coming Soon....

Greatest hits

The fear of death is the most unjustified of all fears, for there’s no risk of accident for someone who’s dead.

Albert Einstein

You are what you believe yourself to be.

Paulo Coelho

Imagination is more important than knowledge.

Albert Einstein

One day you will wake up and there won’t be any more time to do the things you’ve always wanted. Do it now.

Paulo Coelho

Anyone who has never made a mistake has never tried anything new.

Albert Einstein

It’s the possibility of having a dream come true that makes life interesting.

Paulo Coelho

Gravitation is not responsible for people falling in love.

Albert Einstein

Waiting hurts. Forgetting hurts. But not knowing which decision to take can sometimes be the most painful.

Paulo Coelho


Site by images
Recent News Posts