Repository for PlayEveryWare's EOS Plugin for Unity, bringing the functionality of Epic Online Services to the Unity Game Engine.
chore: Remove EOSCreateOptions and EOSInitializeOptions files in favor of defining them within individual PlatformSpecifics files. chore: Remove commented out code.
fix(build,upm) : Compile fixes when running in a upm fix: Re-order platform if-defs. fix: Add UpdateNetworkStatus to both interface and abstract implementing class. fix: Instead of explicitly instantiating config editors, use reflection to determine all platform config editors that exist, and create an instance for each of them in EOSSettingsWindow. fix: Restore if-def block around IOSPlatformSpecifics. fix: Return AndroidPlatformSpecifics to prior class name, and correct the config file indicated in . fix: Allow platform-specifics implementing classes to define the type of config and library extension for the platform. fix: Remove IEOSCreateOptions helper methods and interface, replacing with implementation. Fix name of AndroidPlatformSpecifics fix: Update version number string in EOSPackageInfo. fix: Correct unity version listing in package.json file. fix: Remove dependency on Newtonsoft.Json. fix: Add log error to catching exception when creating builder, as well as throw build failed exception.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
InputUtility
class for better abstraction.SceneData
asset for improved scene dropdown functionality.EOSEditorWindow
from a separate project that introduced some new functionality.await/async
pattern for editor windows.BuildRunner
, and PlatformSpecificBuilder
classes to streamline the build process.DynamicLibraryLoaderHelper
and GfxPluginNativeRender
.Config Editor
.Press to talk lag
in RTC.##[3.0.3] - 2023-11-14
doc : Added documentation for exporting the plugin via command line. feat(overlay) : Added functionality to leave a lobby with the overlay. feat : Added application shutdown callbacks to EOS Manager. feat : Added Easy Anti Cheat (EAC) violation callback and documentation.
doc : Updated documentation formatting. doc : Swapped plugin logo for one that is shorter.
remove(assembly) : Clean out Text Mesh Pro assembly references.
fix(P2P) : Do not receive a packet size of 0. fix : Fix platform native lib output path.
##[3.0.2] - 2023-10-27
doc : Documentation style overhaul feat : command line tools
doc : Added images for increasing the size of the system image for a linux vm, moved optional items from one document to the other, and put information about expanding the disk size post ubuntu installation toward end of guide in case it's something people forget to do. doc : Added section in the contributors notes for setting up Linux and Windows development environments. doc : Added section for Linux environment setup. doc : Added step labels to each of the linux environment setup documents. doc : Added images and markdown files documenting how to set up a linux development environment. tidy : Added directory to gitignore file that is created when docfx is run. tidy : Added git ignore to ignore files that docfx generates inside of the api directory. scripts(env) : Added linux setup script. scripts(env) : Added commands to install the editor, get a license, and build the project. scripts(env) : Added no-sandbox switch to unity editor install command. scripts(env) : Added sudo before unity editor install command. scripts(env) : Added command to install Unity Editor. scripts(env) : Added auto confirm to all the apt commands. scripts(env) : Added accept package agreements switch. scripts(env) : Added error action preference. feat : Added functionality to close the readme if it is open.
doc : Update HyperV_Linux_Guest_VM.md doc : Moved the note about setup script to the end of the Windows section. doc : Fixed formatting on environment setup section of README document. doc : Fixed text to match the image. doc : Updated the linux setup script. doc : Update doc_style_guide.md doc : Updated documentation to reflect the changes to the unity package creation tool. doc : Refine directory description doc(steam) : Fixes for PR doc(steam) : readme_steam.md doc(android) : link to environment setup doc(android) : environment_setup_android.md feat(input) : Use the input module selector in scenes feat(input) : Instantiate input module on Awake chore(input) : rename event system prefab revert(scene) : Use input manager on sample scenes for public repo revert(input) : use input manager on public repo scripts(env) : Updated linux setup script. scripts(env) : Updated add-apt-repository command to auto confirm. scripts(env) : chmod +x for the linux setup script. scripts(env) : Updated comment at top of setup-windows.ps1 for clarity. scripts(env) : Moved visual studio installation winget command to the end of the file. tidy : Changed directory where EOSPluginEditorConfig places configuration files from the root into the etc directory, and added appropriate directory to a gitignore file. tidy : Moved scripts to tools directory. tidy : Moved EAC from bin to tools/bin tidy : Moved EOSBootstrapper.exe from bin to tools/bin tidy : Moved EOSBootstrapperTool.exe from bin to tools/bin directory. tidy : Moved NativeCode into 'lib' directory. tidy : Moved docfx_project to etc/docfx, updating all references to the directory in both code and documentation. tidy : Moved PlatformSpecificAssets directory into etc directory, updating all code and documentation references. tidy : Renamed license and readme files to have their case be more canonical. tidy : Moved PackageDescriptionConfigs to etc/PackageConfigurations, and updated all references to the directory in both documentation and code. tidy : Re-introduced .json description for internal use. tidy : Renamed EOSUnityPlugin_package_template simply 'PackageTemplate', and moved it into the etc directory, updating all references to files in that path. tidy : Removed unreferenced, or otherwise unused files. tidy : Moved accessible-urls.txt file to etc directory. tidy : Moved JSON to advanced section that is collapsed, and simplified the code inside the UnityPackageCreationTool
doc : Removed references to LaTeX, and removed the requirement to append a link tag to the end of sub subsections, since GitHub handles that automatically. doc : Removed markdown reference, and templates. doc : Removed references to readme style guide and templates for the time being. They will be re-introduced once all the documentation has been updated to conform to this style guide, as doing so will likely alter the guide itself as well as the subsequently defined templates. chore : clean up stray meta file remove(login) : scheme protocol temp fix remove(pkg) : remove input system upm remove : old Invoke-WebRequest line. tidy : Removed Brewfile (as it exists within the scripts directory). tidy : Removed previously checked in docfx generated api yml files. tidy : Removed the license acquisition and build commands for the linux script. tidy : Remove dnf package manager usages. tidy : 'Custom Build Directory' in favor of using a single output directory when creating a package. Also added dialog box for when the custom build directory has not been selected.
fix : Correct file/directory paths to make sense fix : Correct bin/bin to bin. fix : correct asmdef path fix : rename steam utility asmdef for pkg description to recognize it fix(tool) : build .unitypackage fix : installing aar by folder fix(assembly) : AlwaysLinkAssembly only on standalone. (not on editor) fix : Made it so readme could be null and the world would not end. fix : bug with .unitypackage creation that was causing null reference stuff. scripts(env) : Updated mac os shell script to have proper path to sh scripts(env) : Fixed editor version path stuff. scripts(env) : Fixed some of the commands. scripts(env) : Fixed the line for visual studio community. script(env) : Added setup scripts to scripts directory.
##[3.0.1] - 2023-09-22
##[3.0.0] - 2023-09-15
##[2.3.3] - 2023-06-30
Android login scheme protocal fix (pending on eossdk-ver1.16)
Android getting started documentation updates Virtual cursor
Feat(Transport Layer) Added functionality to Start Client image for ios getting started docs doc(login) : add supported login type picture into login docs doc(samples) : adds information about mutli sample packs doc(samples) : adding additional troubleshooting line
Updated readme.md (Getting started) Update readme_iOS.md (Getting started on iOS) doc(login) : Feedback ingestion updates updated doc image for sample packs
chore : Removing unused code warning in PackageInstaller fix : Removed Shadergraph dependency
Fix(transport) : Moved new code to conditional Fix(transport) : added variables to #if Fix Added Preserve tags to platform specific code Fix Added Linux fix Added correct header fix(transport) : add scope for editor specific code fix(steam) : set steamworks.net version to work with steamworks SDK 1.57 fix : remove unknown namespace errors when EOS_DISABLE fix(iOS) : Move EOS_DISABLE scope to make more sense
##[2.3.2] - 2023-06-15
Added back the missing assemblies for MacOS build in UPM repo
##[2.3.1] - 2023-06-09
Android login scheme protocal fix (pending on eossdk-ver1.16)
feat(package) : package auto installer - Netcode feat(package) : package auto installer - PostProcessing doc(mac) : second build failing on mac information doc(mac) : mac getting started doc(faq): Add sections about Getting Username, Setting Custom Device ID, and Summary about the EOS Config security. feat : exchange code login functionality (#287) chore(log) : log if mac dylibs aren't in repo plugin folder Docs: Additional images Docs: Updated overlay info Docs: Updated file names and added images
chore : adjust package description for moved assets chore : categorize materials by which sample pack they belong chore : move post process profile to a better folder feat(package) : adjust package json to have multi samples feat(tarball) : Update package description for multi sample chore : move netcode specific scripts ready for packaging chore : rearrange scenes for package sample split making the error a bit more clear Update frequently_asked_questions.md (#295)
remove platfom unsupported logs from supported platforms removing a log and some warnings called when hidemenu is called before the user logs in
fix : upm repo lfs support
fix : avoid duplicate declaration in auto package loader
fix : auto shadergraph install for stress test scene
fix(build) : build fix for package installer script
fix: index out of range error in p2pnetcode
fix(Title Storage) : handle if target filename doesn't exist in storage locally
fix(dataStorage) : clear error from refresh button
fix(tooltip) : quick tooltip disable fix
fixing sessions error
fix(config) : config empty check
fix(storage) : Refresh reacts to changes uploaded from other devices
fix(transoprt) : correct fragmented packet size
fix(regression): Add back code to show how to disable host migration
fix(iOS) : IOS Login Options Refactor (#289)
##[2.3.0] - 2023-05-18
Android login issues missing script references in the performance test and p2p netcode scene
doc: many new docs added and updated for multiple new areas feat: debug log tooltips feat: login tooltip examples
chore: Files moved into core refactor: moved apple signin sample editor script to samples subdirectory refactor: use Path.Combine instead of Path.Join to make it easier for refactor: renamed essential assembly to core feat: load sample scenes by name refactor: change EOSStoreManager to use EOSManager method to get ecom feat: moved eac integrity tool config to editor directory for easier access fix: use unique name and do cleanup for eac temp build files fix: consolidated eac integrity config chore: moved linux config editor script refactor: changed version string retrieval method to avoid recompile
chore: unneeded SystemMemory code chore: unneeded .aar
fix:layout fix for mobile and mac fix: log level menu selection behavior fix: removed EOS_DISABLE constraint from apple signin editor assembly feat: add error log when trying to grab ecom interface in editor. feat: eac splash image selection feat: eac integrity tool path default fix: hardcoded tooltip button fix(package) : Add EOSHostManager (samples essential) into UPM fix: config editor deployment overrides init chore: updated package description for essential asm changes and apple signin feat: sample ui tooltips fix: ui navigation fallback for input package fix: network sample asmdef references fix: EOS_DISABLE no longer breaks builds feat: update steamworks api from plugin feat: Add config value for specifying Steam API version. fix: egs sandboxid handling fix: case sensitive lobby search feat: Apple ID connect for iOS fix: login error when no internet fix: enable correct ui when changing connect login type fix(connect,iOS) : add ifdef for when SignInWithApple not installed feat(AppleID,iOS) : Added Check Define for whether AppleAuth is installed feat(connect) : AppleID login option for iOS fix(macOS) : build with both mono and il2cpp
##[2.2.1] - 2023-02-28
feat: openid connect login sample feat: linux makefile automation doc: Add quick doc about how to enable voice chat feat: windows library build automation feat: eostransport test functionality feat: mac makefile automation docs: p2p sample readme style: changed placeholder text in p2p sample productuserid ui for clarity chore: Add description json for installing the EOS SDK from a zip fix: android text input disappearing fix: android text input keyboard null check fix: android text input handling fix: check against 0 instead of 1 to ensure games with only 1 achievement show correctly feat: debug toggle for msbuild library automation feat: msbuild log levels feat: sandbox deployment id overrides feat: platform library build config
refactor: made MakefileUtil class partial for extensibility fix: windows exe launch order change to fix EAC refactor: isolated steam functionality
refactor(stress test) Removed TMP dependency
fix: overrode EOSPluginEditorToolsConfig.Equals and GetHashCode to suppress warnings fix: openid sample token acquision fix: linux sdk library name fix: debug log mesh error fix: unknown version value shown to users fix: add missing ref to text mesh pro fix: Use MacOS code paths when running in editor on mac, even when Unity platform is set to Android fix: custom invites payload init and clear fix: player report ui persists after logout fix: plugin build version fix(UI,Lobby) : UI Navigation and Layout change fix(UI) : Member Entry highlight fix(UI,friends) : UI Layout and Navigation fix fix: build version string fix(UI) : Hide lobby search when FriendTab on to allow invite navigation fix: extended section tabs in eos config editor fix: netcode sample object spawning fix: removed missing script from stress test scene fix(UI, leaderboard): Removed yellow highlight and other adjustments fix: old input system dpad support fix:(UI, lobby): Updating invite checking/popup fix: input system asmdef ref feat: netcode sample controller and touch input fix: added remaining platforms to title storage platform tag list fix: EOSPluginEditorToolsConfig comparison functions fix(lobby): Logging in/out correctly enables callbacks fix: custom invite entry interaction fix: player data dropdown selection highlight fix: log menu ui highlighting fix(UI, controller: sanction sample ui navigation fix(UI, controller): ui selection loss fix: device display name .net compatibility fix: ui selection fallback fix: stress test ui navigation feat: mac eac support/standalone build consolidation fix: added missing mac eac files fix: mac eac support fix: linux eac support fix: Don't check for valid EOS config files when the build target has EOS disabled. fix controller scroll navigation fix: login ui connect dropdown fix: use newer method for checking platform defines on Unity versions that have it. fix: ensure the eos config file is loaded so product id can always be accessed
##[2.2.0] - 2023-02-28
##[2.1.9] - 2023-01-30
!EOS_DISABLE_FULL
constraint to Editor asmdefInputUtility
class for better abstraction.SceneData
asset for improved scene dropdown functionality.EOSEditorWindow
from a separate project that introduced some new functionality.await/async
pattern for editor windows.BuildRunner
, and PlatformSpecificBuilder
classes to streamline the build process.DynamicLibraryLoaderHelper
and GfxPluginNativeRender
.Config Editor
.Press to talk lag
in RTC.doc : Added documentation for exporting the plugin via command line. feat(overlay) : Added functionality to leave a lobby with the overlay. feat : Added application shutdown callbacks to EOS Manager. feat : Added Easy Anti Cheat (EAC) violation callback and documentation.
doc : Updated documentation formatting. doc : Swapped plugin logo for one that is shorter.
remove(assembly) : Clean out Text Mesh Pro assembly references.
fix(P2P) : Do not receive a packet size of 0. fix : Fix platform native lib output path.
doc : Documentation style overhaul feat : command line tools
doc : Added images for increasing the size of the system image for a linux vm, moved optional items from one document to the other, and put information about expanding the disk size post ubuntu installation toward end of guide in case it's something people forget to do. doc : Added section in the contributors notes for setting up Linux and Windows development environments. doc : Added section for Linux environment setup. doc : Added step labels to each of the linux environment setup documents. doc : Added images and markdown files documenting how to set up a linux development environment. tidy : Added directory to gitignore file that is created when docfx is run. tidy : Added git ignore to ignore files that docfx generates inside of the api directory. scripts(env) : Added linux setup script. scripts(env) : Added commands to install the editor, get a license, and build the project. scripts(env) : Added no-sandbox switch to unity editor install command. scripts(env) : Added sudo before unity editor install command. scripts(env) : Added command to install Unity Editor. scripts(env) : Added auto confirm to all the apt commands. scripts(env) : Added accept package agreements switch. scripts(env) : Added error action preference. feat : Added functionality to close the readme if it is open.
doc : Update HyperV_Linux_Guest_VM.md doc : Moved the note about setup script to the end of the Windows section. doc : Fixed formatting on environment setup section of README document. doc : Fixed text to match the image. doc : Updated the linux setup script. doc : Update doc_style_guide.md doc : Updated documentation to reflect the changes to the unity package creation tool. doc : Refine directory description doc(steam) : Fixes for PR doc(steam) : readme_steam.md doc(android) : link to environment setup doc(android) : environment_setup_android.md feat(input) : Use the input module selector in scenes feat(input) : Instantiate input module on Awake chore(input) : rename event system prefab revert(scene) : Use input manager on sample scenes for public repo revert(input) : use input manager on public repo scripts(env) : Updated linux setup script. scripts(env) : Updated add-apt-repository command to auto confirm. scripts(env) : chmod +x for the linux setup script. scripts(env) : Updated comment at top of setup-windows.ps1 for clarity. scripts(env) : Moved visual studio installation winget command to the end of the file. tidy : Changed directory where EOSPluginEditorConfig places configuration files from the root into the etc directory, and added appropriate directory to a gitignore file. tidy : Moved scripts to tools directory. tidy : Moved EAC from bin to tools/bin tidy : Moved EOSBootstrapper.exe from bin to tools/bin tidy : Moved EOSBootstrapperTool.exe from bin to tools/bin directory. tidy : Moved NativeCode into 'lib' directory. tidy : Moved docfx_project to etc/docfx, updating all references to the directory in both code and documentation. tidy : Moved PlatformSpecificAssets directory into etc directory, updating all code and documentation references. tidy : Renamed license and readme files to have their case be more canonical. tidy : Moved PackageDescriptionConfigs to etc/PackageConfigurations, and updated all references to the directory in both documentation and code. tidy : Re-introduced .json description for internal use. tidy : Renamed EOSUnityPlugin_package_template simply 'PackageTemplate', and moved it into the etc directory, updating all references to files in that path. tidy : Removed unreferenced, or otherwise unused files. tidy : Moved accessible-urls.txt file to etc directory. tidy : Moved JSON to advanced section that is collapsed, and simplified the code inside the UnityPackageCreationTool
doc : Removed references to LaTeX, and removed the requirement to append a link tag to the end of sub subsections, since GitHub handles that automatically. doc : Removed markdown reference, and templates. doc : Removed references to readme style guide and templates for the time being. They will be re-introduced once all the documentation has been updated to conform to this style guide, as doing so will likely alter the guide itself as well as the subsequently defined templates. chore : clean up stray meta file remove(login) : scheme protocol temp fix remove(pkg) : remove input system upm remove : old Invoke-WebRequest line. tidy : Removed Brewfile (as it exists within the scripts directory). tidy : Removed previously checked in docfx generated api yml files. tidy : Removed the license acquisition and build commands for the linux script. tidy : Remove dnf package manager usages. tidy : 'Custom Build Directory' in favor of using a single output directory when creating a package. Also added dialog box for when the custom build directory has not been selected.
fix : Correct file/directory paths to make sense fix : Correct bin/bin to bin. fix : correct asmdef path fix : rename steam utility asmdef for pkg description to recognize it fix(tool) : build .unitypackage fix : installing aar by folder fix(assembly) : AlwaysLinkAssembly only on standalone. (not on editor) fix : Made it so readme could be null and the world would not end. fix : bug with .unitypackage creation that was causing null reference stuff. scripts(env) : Updated mac os shell script to have proper path to sh scripts(env) : Fixed editor version path stuff. scripts(env) : Fixed some of the commands. scripts(env) : Fixed the line for visual studio community. script(env) : Added setup scripts to scripts directory.
##[3.0.0] - 2023-09-15
Android login scheme protocal fix (pending on eossdk-ver1.16)
Android getting started documentation updates Virtual cursor
Feat(Transport Layer) Added functionality to Start Client image for ios getting started docs doc(login) : add supported login type picture into login docs doc(samples) : adds information about mutli sample packs doc(samples) : adding additional troubleshooting line
Updated readme.md (Getting started) Update readme_iOS.md (Getting started on iOS) doc(login) : Feedback ingestion updates updated doc image for sample packs
chore : Removing unused code warning in PackageInstaller fix : Removed Shadergraph dependency
Fix(transport) : Moved new code to conditional Fix(transport) : added variables to #if Fix Added Preserve tags to platform specific code Fix Added Linux fix Added correct header fix(transport) : add scope for editor specific code fix(steam) : set steamworks.net version to work with steamworks SDK 1.57 fix : remove unknown namespace errors when EOS_DISABLE fix(iOS) : Move EOS_DISABLE scope to make more sense