Goodbye Everyplay. This project has been discontinued.
Last iOS release: https://github.com/everyplay/everyplay-ios-sdk
Last Android release: https://github.com/everyplay/everyplay-android-sdk
Last Unity release: https://github.com/everyplay/everyplay-unity-sdk
Everyplay SDK is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html) with restrictions. Please see Everyplay Terms of Service at https://everyplay.com/developer-terms-of-service for more information.
Unity core and platform specific changes (if any) are separated
- Metal recording fixes
- Changed Everyplay.ShowSharingModal() to open native share sheet instead of Everyplay Sharing Modal
- Added Everyplay.GetFilepath() to get path to the recorded file (see USAGE.md)
- Removed social functionality
- Changed [[Everyplay sharedInstance] showEveryplaySharingModal] to open native share sheet instead of Everyplay Sharing Modal
- Added [[Everyplay sharedInstance] getEveryplayFilepath] to get path to the recorded file (see USAGE.md)
- Metal recording fixes
- Removed social functionality
- Changed Everyplay.showEveryplaySharingModal() to open native share sheet instead of Everyplay Sharing Modal
- Added Everyplay.getFilePath() to get path to the recorded file (see USAGE.md)
- Updated buildtools version
- Gradle fixes
- 64-bit Huawei fixed
- Qualcomm 8xxx/Adreno series fixed (Samsung s8,s8+,s9,s9+...)
- Added warning about HUD-less functionality being no longer maintained
- Improved Twitter login compatibility
-
Enabled recording on 32bit Huawei Kirin devices
-
Fixed Samsung S8 recording
-
Fixed Android O audio recording
-
Fixed YouTube sharing
- Fixed Google login and YouTube sharing on iOS and Android
- Fixed Google login and YouTube sharing
- Fixed Google login and YouTube sharing
-
Android build fixes
-
Fixed ready for recording event on Unity 5.5.2 and newer
-
GLES: Fixed thumbnail ready event
- Metal recording improvements
-
Removed dependency to support lib
-
Disabled incompatible Huawei Kirin based devices for now
-
Better Gradle compatibility (2.2.0)
-
Gradle build fix for Windows
-
Removed deprecated EveryplayLegacy.cs
-
Fixed Gradle project export with Unity 5.5
- Gradle build file fixes
-
Removed compilation warnings when using Unity 5.5.0
-
Removed obsolete functions
-
Android Support library is now required and provided with the SDK delivery
-
Improved ATS compliance
-
OpenAL fix on A5 devices
-
Live permissions support
-
Android N API compliance improvements
-
Improved compatibility with AudioTrack
-
Fixed HUD-less recording regression
-
Fixed App Store submission issue
- Fixed social media login on iOS 10 devices
-
Improved failsafe mechanism
-
Android N recording support
- Replace expiration date dialog with log message
-
Fixed the XCode project export when using Unity 5.4 and the destination is inside Unity project folder
-
Added a method SetMaxRecordingSecondsLength for setting the max recording length in seconds
-
Fixed IsReadyForRecording state when the user has not subscribed to the ReadyForRecording event
-
Replaced deprecated GetNativeTextureId() usage with GetNativeTexturePtr()
-
Added a custom unique id to the Everyplay game object's name to avoid conflicts with game object named "Everyplay"
-
Removed legacy support (calling Everyplay using SharedInstance)
-
Cleaned up some JSON parsing related code
-
Now supports iOS 10
-
Fixed a small iOS 9 specific memory leak
-
Added a property maxRecordingSecondsLength for setting the max recording length in seconds
-
Fixed running with XCode address sanitizer
-
Recording on Android N has been temporarily disabled. It will be activated on the upcoming SDK release.
-
Added a method SetMaxRecordingSecondsLength for setting the max recording length in seconds
-
Audio recording improvements
-
Fixed a bug where recording was disabled after the first time on some devices
-
Fixed a crash when uploading video link to Google Drive
-
Fixed building with Unity 4.7
-
Added a checkbox to enable/disable the early initializer
-
Fixed an harmless shader compilation notice on Unity 5.x
-
Added an utility function to check if ready for recording
-
Fixed application freezing when returning from background on iOS when using OpenGL ES
-
Fixed compilation to work with xCode6
- Fixed a regression that caused flickering on some devices when using HUD-less recording
-
Internal refactoring of all graphics related code
-
Now defaults to 60fps recording, previously optional
-
Improved frame synchronization
-
Improved view transition controller logic
-
Improvements to Live FaceCam recording modes
-
Metal: Fixed sRGB support
-
Metal: Improves iPad Pro support on certain cases like with SpriteKit on iOS 9
-
Metal: Improves support for recording content that allows both portrait and landscape modes
-
GLES: Added additional graphics state validation to see if recording content can cause problems, like black screen happening while recording. Fixes SpriteKit behaviour on iOS 9 when used with GLES
-
Improved audio related handling with pausing/resuming recording in cases where there are no audio sources to record
-
Fixes an audio related crash with FMODAudioDevice
-
FaceCam improvements
-
Fixes to iPhone 6S audio support
-
Fixes for generic iOS 9 audio support
-
Android Live FaceCam improvements
-
Fixed audio glitch issue against the new iPhone 6S
iPhone 6S prevents hardware sample rate to change from the default 48kHz in some situations, causing trouble with certain audio processing libraries. In older releases, this may appear as repeated clicking sound within the recording
-
Fix iOS 9 audio compatibility issues with OpenAL and AVFoundation's AVAudioPlayer/AVAudioEngine
Older releases than 1.9.7 may work, but an upgrade is recommended due to iPhone 6S issues mentioned above
-
Workaround AVAudioPlayer related issue with volume fade control
-
Fix Live FaceCam camera session handling when coming back to the application
-
Failsafe mode no longer triggers too easily by loading the application and exiting immediately
-
Fixes to Xcode 7 / iOS 9 / Bitcode compatibility
-
Fixes Metal support against Unity 5.2
-
Now implements FaceCam for Android
-
Metal: Fixes a scenario with recent Unity 5.2 release, where running the app within Xcode works for recording, but doesn't record when launched without Xcode
-
Metal: Frame synchronization and snapshotRenderbuffer improvements
-
Now built with Xcode 7 and Bitcode support enabled
-
Removed CFBundleExecutable from Everyplay.bundle/Info.plist, that causes app submit error with Xcode 7
-
Due to Bitcode requirements, iOS 5 support is now dropped
-
Fixes a rare crash with data prefetch and session handling
-
Improve logout behaviour for Facebook/Twitter accounts, allowing to use different accounts
-
Live FaceCam and adding FaceCam commentary track within the video editor are now implemented, requires Android 4.3+
-
AndroidManifest.xml permission changes related to FaceCam added by default. If you don't want to support Live FaceCam or post-gameplay video editor commentary through FaceCam, you can remove the following options:
- uses-permission: android.permission.CAMERA, android.permission.RECORD_AUDIO
- uses-feature: android.hardware.camera, android.hardware.camera.autofocus
-
Critical update for iOS 9 App Transport Security (ATS) compatibility
-
Removed ThumbnailLoadReadyDelegate and LoadThumbnailFromFilePath
-
Windows Phone build fix for EveryplayRecButtons.cs
-
Critical update for iOS 9 App Transport Security (ATS) compatibility
-
Fixed iOS 9 SpriteKit inverted graphics issue when running on a device that uses Metal
-
Fixed on audio issue with continuous recording when the session lifetime exceeds 5 minutes
- Minor bugfixes
-
Now allows 60fps recordings on iOS and Android
To change the target framerate from the default 30fps, call Everyplay.SetTargetFPS()
-
Improved frame synchronization and framerate handling
-
Removed Everyplay.SetThumbnailWidth method
-
Removed ThumbnailReadyAtFilePathDelegate
-
Now allows 60fps recordings on iOS 8+ devices with A7 CPU or later (devices with 64bit capability)
To change the target framerate from the default 30fps, call [[Everyplay sharedInstance] capture].targetFPS
-
Metal: CPU performance and snapshotRenderbuffer improvements
-
Live FaceCam: When the internal preview box is hidden and a target texture is in use, the video content is no longer encoded to a separate file and doesn't show separately in the video player
-
Removed thumbnailWidth property from EveryplayCapture
-
Removed file based everyplayThumbnailReadyAt(FilePath|URL): delegates
-
Now allows 60fps recordings on Android 4.4+ devices
To change the target framerate from the default 30fps, call Everyplay.setTargetFPS()
-
Improved frame synchronization and framerate handling
-
Fixed an audio issue with FMOD Studio that could have resulted to a silent recording
-
Removed setThumbnailWidth method from Everyplay class
-
Removed onEveryplayThumbnailReadyAtFilePath from IEveryplayListener
-
Fixed an issue with PowerVR GPUs and continuous recording feature: If recording over 5 minutes while using setMaxRecordingMinutesLength, the device could freeze, fixed
-
Android: Now supports Android M preview and adds a failsafe mode to protect from repeating crashes
-
More Qualcomm Adreno 420 GPU fixes
-
New feature: Failsafe mode. If there's a crash during early initialization of Everyplay, the recording support will be disabled when the application is launched the next time
Since the bug might be OS/driver related, the need for Failsafe mode is re-evaluated each time the SDK or OS has been upgraded or the application is removed
-
Now supports Android M preview and fixes a crash against it. Older SDKs are disabled from recording against Android M
-
More Qualcomm Adreno 420 crash fixes for some devices, like Samsung Galaxy Note 4
-
iOS Metal: Graphics performance and memory usage optimizations, also fixed a small memory leak that happened on every frame even while not recording
-
iOS Metal: Now supports HUD-less recording support through Everyplay.snapshotRenderbuffer();
-
Removed use of IDFA / AdSupport.framework dependency
-
Metal: Graphics performance and memory usage optimizations
-
Metal: Fixed a small memory leak that happened on every frame even while not recording
-
Metal: Now supports HUD-less recording feature through [[[Everyplay sharedInstance] capture] snapshotRenderbuffer];
-
Removed IDFA related code (AdSupport.framework), now uses IFV
-
Removed EveryplaySoundEngine, OpenAL and AVFoundation implementations. Now uses Apple's high performance implementations when available
-
Removed legacy OpenGL graphics integration API's from EveryplayCapture
-
Removed support for file based thumbnails. If you use thumbnails, switch to texture based implementation
-
Removed [Everyplay initWithDelegate:andAddRootViewControllerForView:] It was a helper for older world iOS apps that didn't implement UIViewController. Today, it's safe to assume that your code has them
-
Increased the default video bitrate quality a bit
-
Fixed a potential audio encoder memory leak while recording
-
More video quality improvements for some devices
-
Workaround a driver issue with Qualcomm Adreno 420's that caused a crash in some situations
-
Fix graphics issue with Samsung Galaxy S5
-
Removed support for file based thumbnails. If you use thumbnails, switch to texture based implementation
-
Improved error handling on some situations where the video files could end up invalid, potentially causing a crash
-
Fixed HUD-less recording to work against multithreaded rendering on Unity 4.6+ and against Unity 5 in general
-
Video quality improvements on Android
- Metal: Fixed Facecam session handling when reseting session to audio only (1961)
-
Video quality improvement: On some devices and video codecs, the first second of the recording showed up as bit rotten, garbled output, fixed
-
Fixed a graphics width vs stride regression from 1.3.0 SDK that could show up against the new graphics backend on some devices and driver versions, like Nexus 7 running Android 4.4
-
On some rare devices, querying video codec info could cause application load times to slow down by 10 seconds, fixed
-
Improved Everyplay.snapshotRenderbuffer() aka HUD-less recording feature
-
Fix graphics issue with Samsung Galaxy S4 (PowerVR variant)
-
Fixed a iOS build regression with IL2CPP
-
Improved iOS/Xcode integration, allows building Unity-iPhone Tests
-
Improved graphics support against Unity 5.x
-
Metal: Fixed thumbnail texture being flipped
-
Metal: Fixed to support dynamic screen resolution changes
-
Fixed a regression against AVAudioPlayer initWithData: support
-
Fixed a compatibility issue with InMobi SDK
-
Improved graphics support against Unity 5.x
-
Multiple stability fixes against ImgTec PowerVR GPU
-
Improve OpenGL ES1 support checking
-
Prefetching data could cause an exception, fixed
-
Fixed a rare login exception on Android 4.0.x
-
Minor audio handling improvements
-
Major Android graphics performance and stability improvements
-
Improved Unity 5 integration support with iOS/Xcode
-
Fixed a regression with setMaxRecordingMinutesLength from not working against the new graphics backend on Android 4.3+
-
Improved potential memory usage and buffer refcount issues for some GPU drivers
-
Fixed potential exceptions for general login, sharing and Facebook related code
-
Fixed video player view from not loading on Android 4.0.x
-
Fixed exception with the photo picker
-
AndroidManifest.xml tweak to allow Android TV support
- Major Android graphics performance and stability improvements
-
All-new graphics processing backend for Android 4.3+, improving framerate and stability a lot on many devices
-
Greatly improved support for Nvidia GPUs (Tegra 3, Tegra 4, Tegra K1)
-
Important AndroidManifest.xml changes to improve overall stability and reduce memory usage. If you're maintaining the manifest manually in your project, please merge the latest changes
-
Fixes to potential crashes while using the login activity
-
Fixed Javascript binding issues against some Android 4.4.x releases that prevented Everyplay Social views from working
-
Fix potential performance issues when used against OpenGL ES3
-
On some Android versions, changing to another Activity and returning could have prevented starting of a new recording from working, fixed
-
Fixed a GPU driver caused ADB log flood issue; seen on some devices while recording
-
Improved image quality on apps with 32-bit color graphics
-
Multiple Nexus 10 specific issues fixed
-
Now supports Nvidia Shield Portable, Nvidia Shield Tablet and Nexus 9 devices
-
Regression fix; importing Everyplay package update cleared existing clientId and secret settings
-
iOS 8 Metal improvements: Now supports Live FaceCam preview box and using target textures for facecam/thumbnails
-
Due to above, few delegates/API calls are now obsoleted and replaced with a generic, less code requiring Texture2D variants that work against GLES/Metal backends
-
Code cleanups and C# API usage updates for Unity 5
-
Improved Android FAT support
-
iOS 8 Metal improvements: Now supports Live FaceCam preview box, thumbnail files/textures and using MTLPixelFormatRGBA8Unorm_sRGB
-
Now supports OpenAL audio streaming through alSourceQueueBuffers
-
Fix a conditition between showing modal share dialog and video editor that could lead to everyplayHidden delegate not properly called, potentially leading to game not being resumed as expected
-
Fixed an issue with Cocos2d's scaled graphics on iPhone 6 Plus that prevented the recording from starting properly
-
Facebook: Remove use of deprecated publish_stream permission
-
Lighter UI theme
-
More Android 5 Lollipop and Android Simulator fixes; null pointer exceptions, activity handling changes
-
Fixed an issue with 64bit Android 5 devices that prevented looking up package name properly
-
Querying device specific settings now wait until Everyplay.initEveryplay is called
-
Facebook: Remove use of deprecated publish_stream permission
-
Lighter UI theme
- Important Android 5 Lollipop fixes, potential graphics performance fixes
-
Improved Facebook integration by asking server-side configuration status
-
Improved AVFoundation/AVAudioPlayer usage against small sound effects
-
Fix a null pointer exception that could cause a crash on some Android 5 Lollipop devices
-
Fix a graphics performance issue with glDiscardFramebufferEXT that could affect some Android versions/drivers shipped
-
Fix a CORS issue with Android 5 WebResourceResponse
-
Improved Facebook integration by asking server-side configuration status
- 1921-1210 release broke modal share dialog from appearing on iOS, fixed
- Fixed an issue with modal share dialog not appearing on some viewController configurations
- Fixed a rare ClassNotFoundException with Parcel unable to find com.everyplay.Everyplay.communication.EveryplayResultReceiver
- Fixes iOS compatibility against Unity 4.6.1
-
[Everyplay initWithDelegate:] improvements
-
[Everyplay sharedInstance].everyplayDelegate is now a weak pointer
-
Minor UI and theming improvements
-
App specific cached files now get removed upon application uninstallation
-
Improved caching
-
Minor UI and theming improvements
- Fix forward compatibility with future Unity releases, including an issue with iOS trampoline changes that could prevent Everyplay UI from showing up
-
Network access and caching optimizations
-
Video seek bar and video ending event fixes for the new video player
-
[Everyplay sharedInstance].parentViewController is now a weak pointer
-
Improved UI orientation handling
-
Generic optimizations against new Everyplay community
-
New navigation top bar design to give more space while browsing
-
Network access and caching optimizations
-
Internal changes for UI theming support
-
3rdparty java code is relocated to another package namespace to avoid conflicts
-
Performance updates to media merging and trimming
-
Everyplay.setMaxRecordingMinutesLength didn't trim the resulting video, fixed
-
Fixed potential crash issue with camera photo picker
-
Upload performance improvements
-
Everyplay.initEveryplay now retains IEveryplayListener
-
Try-catch blocks for rare exceptions added
-
Now supports iOS 8 Metal graphics for Unity 5 beta
-
EveryplayThumbnailPool fixes
-
First iOS 8 Metal graphics support, no support for Live FaceCam preview box or thumbnail files/textures yet
-
Video editor / player core and UI rewritten
-
Everyplay.bundle graphics update, using fewer files and less space
-
Internal changes for UI theming support
-
Landscape support enabled by default for all iPhone views
-
New navigation top bar design to give more space while browsing
-
Improved memory handling
-
Improved analytics
-
Fixed thumbnail texture handling on iOS 8
-
Improved FaceCam audio and video support and removed deprecated API usage warnings while running on iOS 7+
-
Changes to activity handling in code and on AndroidManifest.xml to fix GPU driver issues and potential crashes
-
Improved AAC encoded sound quality
-
Improved Facebook behaviour for the future
-
Improved avatar photo picker and camera orientation handling
-
Improved stereo support for AVFoundation / OpenAL
-
OpenAL: Within game code, setting a negative value through alSourcef(x, AL_GAIN, volume) could cause iOS 8 mediaserverd to hang and cause multiple side effects until the device is rebooted, fixed
-
everyplayFaceCamRecordingPermission delegate improvements
- Fixed Facebook sharing to work against Facebook API 2.0 and later
-
Forward compatibility with future Unity releases, including 5.0 betas
-
Removed legacy code from iOS plugin
-
Now supports iOS 8 SDK / Xcode6 GM
-
Fixed recording support against apps supporting the new native resolutions of iPhone 6 and iPhone 6 Plus on iOS 8
-
Fixed video player / editor UI to support new iPhone 6 resolutions
-
Fixed potential video player seek crash on iOS 8
-
iOS 8 fixes for changed Javascript behaviour, fixes social network connections
-
FaceCam now asks video user permission on iOS 8
-
Workaround [UIView layoutSubViews] behaviour on iOS 8:
Depending on game engine used and how the view handling is implemented, transitioning between views may trigger layoutSubViews and during the process, re-create OpenGL buffers. In some cases, calling EAGLContext renderbufferStorage:fromDrawable fails and may result to frozen graphics
This behaviour is mostly seen on some custom engines and cocos2d
-
Setting [Everyplay sharedInstance].capture property to nil could reset certain default settings to unwanted state, such as lowering target video framerate from the default, fixed
- Video resolution handling improvements
- Now respects "Symlink Unity Libraries" iOS platform setting for Everyplay.framework
-
iOS 8 view initialization fixes
-
CPU optimizations for games with hard 60fps requirement
-
AVFoundation: AVAudioPlayer now supports initWithData: method
-
AVFoundation/OpenAL: Backgrounding application during initial splash screen could break audio state handling, fixed
- Now supports creating iOS/Xcode project on Windows
-
Major audio internals rework for future features, optimized for iOS 7
As a result, there's less audio interruptions and potential issues that could cause losing audio output, recorded audio to be silent or go out of sync, mediaserverd crashing and causing wide load of generic issues
-
Now supports AudioQueue recording against linear PCM and compressed formats (such as AAC)
-
The audio core is now more sample rate agnostic, but 44.1 kHz is still considered the optimal one
-
OpenAL: Improved source/buffer instance refcounting and thread-safety
-
OpenAL: Loading audio samples with alBufferData now prefers the original sample rate specified and using less memory
-
OpenAL: Loading certain audio samples caused audio clicks, fixed
-
AVFoundation: AVAudioPlayer now supports duration and numberOfChannels properties
-
AVFoundation: Improved audio streaming playback
-
Fixed rare race condition in graphics recording that could have caused dropped video frames or not adding new frames to video
-
Video editor now adds FaceCam recording UI buttons only after iOS user permission check
-
Some devices and applications had image quality issues/artifacts before video encoding step, fixed
-
Starting recording with HUD-less enabled could have caused frame glitch once while starting, fixed
-
Fix network retry handling in Everyplay splash screen
-
Analytics improvements
-
Fixed iOS build error against Unity 4.5.1
-
Fixed a potential exception error with Xcode project editor
-
Updated WWW constructor parameters for Unity 4.5+
-
Fixed recording from not working if changing MSAA anti-aliasing state during runtime
-
Fixed a potential Qualcomm specific issue with rendering modal share dialog borders
-
Improved upload handling
-
Improved videoplayer thread safety
-
Workaround for ImgTec PowerVR GPU driver behaviour that could cause entire device to freeze after initialization
-
Fix videoplayer seeking from causing a crash on some devices with faulty drivers
-
Fix for potential video encoding thread hanging on some devices like Samsung Galaxy S3
-
Improved sending onEveryplayRecordingStarted listener events
-
Add onEveryplayAccountDidChange listener event
-
Improved Facebook integration, this requires the use of "Facebook for Unity" asset available from the Asset Store
-
Lots of internal plugin changes and file location changes for better Unity integration, the migration should be seamless without removing previous assets
-
New prefables integration. Instead of dragging a prefab to your first scene you may use the Edit / Everyplay Settings menu to enable Everyplay and to set your game credentials. This also allows you to temporarily disable Everyplay without removing the package
-
Double check that clientId, secret and redirectURI settings have merged into the new Edit / Everyplay Settings menu after upgrading
-
Calling Everyplay through the SharedInstance is now deprecated. You may still use the old way, but the recommended way is to call Everyplay.methodName
-
Added checkboxes to new Everyplay settings menu for enabling Everyplay per platform (iOS/Android)
-
Old test button functionality in Everyplay.prefab has been moved to Plugins/Everyplay/Helpers/EveryplayTest.prefab. A new simplified one can be enabled through Edit / Everyplay Settings menu
-
Everyplay now uses Accounts.framework and Facebook SDK for improved, seamless Twitter and Facebook login support. If none are linked into the project, the old login conventions apply
-
The new improved Facebook login shares via Everyplay Facebook application, not through your existing Facebook application credentials. For immediate use, you might need to send your iOS bundle information or Android key hash to get started, please contact [email protected]. We're currently working on making this step automated without extra work required on developers behalf
-
All around stability and internal handling changes to the video recording core
-
Further GPU optimizations against the new graphics integration, especially with older devices like iPhone 4S, iPad 2 and iPad 3
-
Fixed a regression on using the latest Unity package and the new graphics integration that resulted to broken graphics in certain non-target native resolution use cases (Screen.SetResolution)
-
Fixed a rare exception related to: '[AVAssetWriterInput initWithMediaType:outputSettings:sourceFormatHint:] AVVideoSettings dictionary must specify a positive width'
-
Improved video orientation detection
-
Fixed EveryplayCapture setLowMemoryDevice property behaviour in some rare cases
-
Everyplay now uses Facebook SDK for improved, seamless Facebook login support. If not linked into the project, the old login convention applies
-
The new improved Facebook login shares via Everyplay Facebook application, not through your existing Facebook application credentials. For immediate use, you might need to send your iOS bundle information or Android key hash to get started, please contact [email protected]. We're currently working on making this step automated without extra work required on developers behalf
-
Generic graphics optimizations and improvements to graphics related resource allocating and releasing, which could have led to invalid graphics state in earlier releases
-
Improved recording state handling, orientation changing while recording etc
-
Worked around OpenGL performance issue that could happen on some devices after returning from Everyplay videoplayer activity that's triggered by playLastRecording method
-
Fixed a rare exception crash thrown by MediaCodec.dequeueInputBuffer
-
Improved movie merging behaviour and exception handling
-
Don't show 'Launch game' button when the game is already active one
-
Improved onEveryplayReadyForRecording(int enabled) listener events to return false for more cases where the recording isn't going to be supported