-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
422 changed files
with
34,596 additions
and
1,377 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[*.md] | ||
end_of_line = lf | ||
insert_final_newline = true | ||
indent_style = space | ||
indent_size = 4 | ||
charset = "utf-8" | ||
# markdown files sometimes use trailing whitespace for formatting | ||
trim_trailing_whitespace = false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
<a href="/README.md"><img src="/docs/images/PlayEveryWareLogo.gif" alt="README.md" width="5%"/></a> | ||
|
||
# EOS Plugin for Unity Walkthrough | ||
|
||
This document is meant to serve as a guide to our EOS Plugin for Unity demo scenes. Each scene is meant to showcase the implementation of a specific feature such as peer 2 peer communication, lobbies, or custom invites. | ||
Each scene has a few things in common: the login page, side bar, scene selection, and debug log. | ||
|
||
## Sidebar | ||
The sidebar shows the current version, logged in account, framerate, readme, log copy button and exit button. | ||
- The ``README`` button will display the readme for the current scene | ||
- The ``Copy Log`` button copies the log from the log window | ||
- The ``Exit`` button closes the application | ||
|
||
|
||
## Debug Log | ||
The Debug log provides a filterable on screen debug output | ||
- The gear icon hides/shows the debug log buttons | ||
- The ``'Enter filter text...'`` field allows for text filters | ||
- The filter icon allows for filtering by specific levels for each type channel | ||
- The two arrows icon expands the log to fill the window | ||
- The eye icon hides/shows the log | ||
|
||
|
||
## Scene selection | ||
The yellow dropdown in the top of the window allows the user to select which demo scene they would like to log into | ||
|
||
There is a standard sample pack, and several extra packs in the EOS Unity Plugin. If a scene doesn't load, remember to import the wanted extra pack, and [add them in the build settings](/README.md#importing-samples) | ||
|
||
|
||
## Login Page | ||
The login menu allows the user to select which login method they would like to use through the dropdown in the center of the window. After logging in the user will be put into the selected demo scene. | ||
The login options are as follows: | ||
- ``Dev Auth``: Uses Epic Games’ [Developer Authentication Tool](https://dev.epicgames.com/docs/epic-account-services/developer-authentication-tool). | ||
1. Launch the [Developer Authentication Tool](https://dev.epicgames.com/docs/services/en-US/EpicAccountServices/DeveloperAuthenticationTool/index.html). | ||
|
||
![Dev Auth Tool](/docs/images/dev_auth_tool.gif) | ||
|
||
2. Pick a port to use on the computer. 8888 is a good quick to type number that isn't usually used by a process. | ||
3. Log in with one's user credentials that are registered with Epic. | ||
4. Pick a username. This username will be used in the sample to log in. | ||
|
||
- ``Account Portal``: Uses the Epic Games overlay and any of the connected account types. | ||
- An Epic Games Account | ||
- A Facebook account | ||
- A Xbox Live account | ||
- A PlayStation Network Account | ||
- A Nintendo Account | ||
- A Steam Account | ||
- An Apple ID | ||
- ``Persistent Auth``: Uses Epic Game's [Persisting User Login](https://dev.epicgames.com/docs/epic-account-services/auth/auth-interface#persisting-user-login-to-epic-account-outside-epic-games-launcher). | ||
- ``External Auth``: Uses a web browser to login through an online account portal similar to the Account Portal option. | ||
- ``Connect``: Uses the [Connect Interface](https://dev.epicgames.com/docs/game-services/eos-connect-interface) to login through one of the supported options. | ||
- Device Access Token: Uses a persistent access token based on the device, unattached to an account. | ||
- Steam Session Ticket | ||
- Steam App Ticket | ||
- Discord Access Token | ||
- Openid Access Token | ||
|
||
For information about login methods per platform, see our documentation: [Login Type by Platform](/docs/login_type_by_platform.md). | ||
|
||
## Individual Scene Walkthroughs | ||
- [Achievements](/docs/scene_walkthrough/achievements_walkthrough.md) | ||
- [Auth & Friends](/docs/scene_walkthrough/auth&friends_walkthrough.md) | ||
- [Custom Invites](/docs/scene_walkthrough/customInvites_walkthrough.md) | ||
- [Leaderboards](/docs/scene_walkthrough/leaderboards_walkthrough.md) | ||
- [Lobbies](/docs/scene_walkthrough/lobbies_walkthrough.md) | ||
- [Metrics](/docs/scene_walkthrough/metrics_walkthrough.md) | ||
- [Peer 2 Peer](/docs/scene_walkthrough/P2P_walkthrough.md) | ||
- [Performance Stress Test](/docs/scene_walkthrough/performance_stress_test_walkthrough.md) | ||
- [Player Data Storage](/docs/scene_walkthrough/player_data_storage_walkthrough.md) | ||
- [Player Reports and Sanctions](/docs/scene_walkthrough/player_reports_and_sanctions_walkthrough.md) | ||
- [Sessions and Matchmaking](/docs/scene_walkthrough/sessions_and_matchmaking_walkthrough.md) | ||
- [Store](/docs/scene_walkthrough/store_walkthrough.md) | ||
- [P2PNetcode](/docs/scene_walkthrough/P2P_netcode_walkthrough.md) | ||
|
||
> [!NOTE] | ||
> For more information about Epic Online Services (and information about other resources) checkout the [Epic Developer Resources Documentation](https://dev.epicgames.com/docs). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
<a href="/README.md"><img src="/docs/images/PlayEveryWareLogo.gif" alt="Readme" width="5%"/></a> | ||
|
||
# Adding via Package Manager | ||
|
||
The following document outlines the two methods with which you can add the plugin release via the package manager. | ||
|
||
## Adding the package from a git URL | ||
|
||
1. Install [git](https://docs.unity3d.com/2021.3/Documentation/Manual/upm-git.html#req) and [git-lfs](https://docs.unity3d.com/2021.3/Documentation/Manual/upm-git.html#req). | ||
2. From the Unity Editor, open the Package Manager. `Window -> Package Manager`. | ||
|
||
![unity tools package manager](/docs/images/unity_tools_package_manager.gif) | ||
|
||
3. Click the `+` button in the top left of the window. | ||
|
||
![Unity Add Git Package](/docs/images/unity_package_git.gif) | ||
|
||
4. Select `Add Package from Git URL`. | ||
6. Paste in `git@github.com:PlayEveryWare/eos_plugin_for_unity_upm.git`. | ||
7. After the package has finished installing, [import the samples](/docs/samples.md). | ||
8. Finally, [Configure the Plugin](/docs/configure_plugin.md). | ||
|
||
> [!NOTE] | ||
> For additional details, see the [Unity Documentation for adding a UPM via Git URL](https://docs.unity3d.com/2021.3/Documentation/Manual/upm-ui-giturl.html). | ||
## Adding the package from a tarball | ||
|
||
1. Download the latest release UPM tarball, `"com.playeveryware.eos-[version].tgz"` ([Releases](https://github.com/PlayEveryWare/eos_plugin_for_unity/releases)). | ||
|
||
> [!WARNING] | ||
> Do *not* attempt to create a tarball yourself from the source, unless you know what you are doing with respect to [Git LFS](https://docs.github.com/en/repositories/working-with-files/managing-large-files/configuring-git-large-file-storage). | ||
2. Move the downloaded tarball into your project folder, but outside of the `Assets` folder. | ||
|
||
3. From the Unity Editor, open the Package Manager via `Window -> Package Manager`. | ||
|
||
![unity tools package manager](/docs/images/unity_tools_package_manager.gif) | ||
|
||
4. Click the `+` button in the top left of the window. | ||
|
||
![Unity Add Tarball Package](/docs/images/unity_package_tarball.gif) | ||
|
||
5. Select `Add package from tarball`. | ||
6. Navigate to the directory containing the tarball, select and `Open` the tarball. | ||
7. After the package has finished installing, [import the samples](/docs/samples.md). | ||
8. Finally, <a href="#configuring-the-plugin">configure the plugin</a>. | ||
|
||
> [!NOTE] | ||
> For additional details, see the [Unity Documentation for adding a UPM via Tarball](https://docs.unity3d.com/2021.3/Documentation/Manual/upm-ui-tarball.html). | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<a href="/README.md"><img src="/docs/images/PlayEveryWareLogo.gif" alt="Lobby Screenshot" width="5%"/></a> | ||
|
||
<div align="center"> <img src="/docs/images/EOSPluginLogo.png" alt="PlayEveryWare EOS Plugin for Unity" /> </div> | ||
|
||
# <div align="center">Android</div> | ||
--- | ||
|
||
## Prerequisites | ||
|
||
* The standard <a href="/README.md#prerequisites">Prerequisites</a> for all platforms. | ||
* Check out this <a href="environment_setup_android.md#environment-setup-for-android">Environment Setup</a> doc for a quick setup guide. | ||
* More detailed instructions can be found in the links below. | ||
* <a href="https://docs.unity3d.com/2021.3/Documentation/Manual/android-sdksetup.html">Android environment setup</a> for Unity. | ||
* The Android Build Support <a href="https://docs.unity3d.com/hub/manual/AddModules.html">module</a>. | ||
|
||
## Importing the Plugin | ||
|
||
|
||
You can follow the standard <a href="/README.md#importing-the-plugin">Importing the Plugin</a> process. With a few changes here when <a href="#running-the-samples">running the samples</a> and <a href="#configuring-the-plugin">configuring the plugin</a>. | ||
> [!WARNING] | ||
> If you choose the tarball method, when downloading the release on mac it may convert the `.tgz` into a `.tar` which is not compatible with unity. Changing the file extension back to a `.tgz` should fix this. | ||
## Samples | ||
|
||
You can follow the standard <a href="/README.md#samples">Samples</a> process. | ||
Please note the details in the <a href="#running-the-samples">Running the samples</a> section when running the samples from a build for Android. | ||
|
||
> [!WARNING] | ||
> The EOS Overlay is not implemented yet. When it is (due to the limitations of phones) the EOS Overlay will not be set to be openable by a physical button. | ||
## Running the samples | ||
|
||
When following the steps to <a href="/README.md#running-the-samples">run a sample</a> from a build for Android, follow the Unity doc for <a href="https://docs.unity3d.com/2021.3/Documentation/Manual/android-sdksetup.html">Debugging on an Android device</a>, to connect your device to the engine. | ||
This will allow the smoother ```Build And Run``` option to work instead of just using the ```Build``` button. | ||
|
||
When running on a device you may need to <a href="https://developer.android.com/studio/debug/dev-options#enable">enable developer mode</a> on the device, then <a href="https://developer.android.com/studio/debug/dev-options#Enable-debugging">Enable USB debugging on your device</a>, as well as accepting any popups that appear on the phone during the process. | ||
|
||
## Configuring the Plugin | ||
|
||
You can follow the standard <a href="/README.md#configuring-the-plugin">Configuring the Plugin</a> process. With the additional steps after saving the Main EOS Config. | ||
|
||
## Additional Configuration Steps <a name="configuration-steps" /> | ||
|
||
1. Select the ```Android``` button. | ||
|
||
![EOS Config UI](/docs/images/eosconfig_ui_android.gif) | ||
|
||
2. Press ```Save All Changes```. | ||
|
||
>[!WARNING] | ||
>This is required, even if you leave every field blank. | ||
3. Update the <a href="https://docs.unity3d.com/2021.3/Documentation/Manual/class-PlayerSettingsAndroid.html">Minimum API Level</a> to be at least ```Android 6.0 'Marshmallow' (API Level 23)```. | ||
|
||
4. Optionally, set the plugin to <a href="/docs/android/link_eos_library_settings.md">link the EOS Library dynamically</a>. | ||
|
||
|
||
# FAQ | ||
|
||
|
||
|
||
See [frequently_asked_questions.md](/docs/frequently_asked_questions.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
<a href="/README.md"><img src="/docs/images/PlayEveryWareLogo.gif" alt="Lobby Screenshot" width="5%"/></a> | ||
|
||
# <div align="center">Environment Setup for Android</div> | ||
--- | ||
|
||
## Unity and Modules | ||
|
||
1. Install Unity (minimum version 2020.1.11), preferably on Unity Hub | ||
|
||
2. Open the "Add modules" window. | ||
|
||
<img src="/docs/images/unity_add_modules.png" width="500" /> | ||
|
||
2. Select and install the following modules: | ||
|
||
* Windows Build Support (Il2CPP) | ||
* Android SDK & NDK Tools | ||
* OpenJDK | ||
|
||
## Manage Android SDK | ||
|
||
It is possible that the SDK modules installed through Unity Hub would be missing components to build your game. | ||
|
||
For example, Unity 2020.1.11 requires build-tool 30.0.3 to build the game but the tool is not included in the Unity Hub module installation. | ||
|
||
The following methods will show how to install the missing build-tool 30.0.3, and give an idea how to manage SDKs. | ||
|
||
### Manage SDK with Android Studio (Recommended for better emulator support). | ||
|
||
1. [Install Android Studio](https://developer.android.com/studio) | ||
2. Run the SDK Manager | ||
|
||
<img src="/docs/images/android_studio_sdk_manager.png" width="500" /> | ||
|
||
### Manage SDK through command prompt | ||
|
||
1. (On Windows) If you don't already have the environment variable `JAVA_HOME` as a System Variable, add a new one with the value set to `C:\Program Files\Unity\Hub\Editor\2021.3.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK`. | ||
|
||
2. Run the command prompt and navigate to the `SDK\tools\bin` folder. | ||
|
||
On Windows: | ||
|
||
```bash | ||
cd 'C:\Program Files\Unity\Hub\Editor\2021.3.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin' | ||
``` | ||
|
||
For most *nix: | ||
|
||
```bash | ||
../Unity/Hub/Editor/2020.1.11f1/Editor/Data/PlaybackEngines/AndroidPlayer/SDK/tools/bin | ||
``` | ||
|
||
3. Run | ||
|
||
On Windows: | ||
|
||
```bash | ||
.\sdkmanager.bat "platform-tools" "platforms;android-30" "build-tools;30.0.3" | ||
``` | ||
|
||
For most *nix: | ||
|
||
```bash | ||
sdkmanager "platform-tools" "platforms;android-30" "build-tools;30.0.3" | ||
``` | ||
|
||
## External Module Setup | ||
|
||
Modules can be shared across multiple versions of Unity on the same device by specifying the shared install path in `Edit -> Preference -> External Tools` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<a href="/README.md"><img src="/docs/images/PlayEveryWareLogo.gif" alt="Lobby Screenshot" width="5%"/></a> | ||
|
||
# <div align="center">Linking EOS Library on Android Settings</div> | ||
--- | ||
|
||
## What is the Difference Between Linking the EOS Library Dynamically and Statically? | ||
|
||
Static linking packs libraries into the executable, whereas dynamic linking links the function symbols to the corresponding entry point in the dynamic libraries at runtime. | ||
|
||
The full expression of this setting is to determine how the EOS Library links `against the C++ Library`. | ||
|
||
If the game is using other libraries that also links to the C++ Library, the EOS Library should use the version that matches the linking type of the others, or else duplicate symbols would occur. | ||
|
||
## Steps to Swap Dynamically and Statically | ||
|
||
1. Open Preferences, `Edit -> Preferences...`. | ||
|
||
![EOS Config UI](/docs/images/preferences_menu.gif) | ||
|
||
2. Select `EOS Plugin` from the categories menu on the left. | ||
|
||
![EOS Config UI](/docs/images/link_eos_lib_instructions.gif) | ||
|
||
3. Under the `Android Build Settings` section, check the box next to `Link EOS Library Dynamically` to link the EOS library dynamically, and uncheck it link the EOS library statically. | ||
|
||
4. Press `Save All Changes`. |
Oops, something went wrong.