[Unity] ゼロ環境でFacebook SDKを統合して起こる数々のエラーを解決

Windows環境でUnityをだけをインストールした状態でFacebook SDKを統合したときに複数のエラーに遭遇しました。
ゼロ環境で遭遇したエラーを解決方法とともにまとめます。

### OpenSSL not found. Make sure that OpenSSL is installed, and that it is in your path.
コマンドラインから`openssl`のコマンドが認識できる必要があります。
以下のサイトからOpenSSLをDLしてインストールします。（Light版可）

https://slproweb.com/products/Win32OpenSSL.html

環境変数の`Path`にインストールしたOpenSSLのパスを追加します。(が存在するパス)
追加Path例：`C:\Program Files\OpenSSL-Win64\bin`

### 環境変数の追加方法
`検索`から`環境変数`を検索します。
`システム環境変数の編集`を起動します。（ユーザー環境変数に追加する場合は`環境変数の編集`でもよい）
![スクリーンショット 2023-03-24 105717.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689374/65c6cdc7-f720-dc4c-4bb0-e556ffe28c1c.png)
環境変数を選択する。
![スクリーンショット 2023-03-24 110141.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689374/d22cc29a-525e-45b5-064b-2604f2e0d41b.png)
`システム環境変数`から`Path`を選択して`編集`をします。(ユーザー環境変数の場合は上のPath)
![スクリーンショット 2023-03-24 110437.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689374/772dd2b8-f473-e8be-7d44-c22c8694bf7b.png)

空欄をダブルクリックして追加したいパスを追加する
![スクリーンショット 2023-03-24 111153.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689374/39145350-0c49-2697-1b15-350c3efae1ab.png)


新しい環境変数を追加したい場合は`新規`で追加します。
![スクリーンショット 2023-03-24 111524.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689374/451661e4-161d-3389-1e10-aa85710c53e1.png)

### You don't have the Android SDK setup!
`You don't have Android SDK Setup! Go to Edit -> Preferences ... and set your Android SDK Location under External Tools`
Android向けにUnityのモジュールを追加していればAndroid SDKは存在しますが、このエラーが出ます。
おまじないのような手順で解消することができます。（多分デフォルトだとパスが空欄になってるため、存在しないことになるが、Unityビルド時はパスが空欄でもチェックボックスの存在でパスの参照するから大丈夫的な奴だと思います。）

以下に移動する。
`Unity -> Edit Prefereneces -> External Tools -> Android SDK Tool ...`
![スクリーンショット 2023-03-24 112909.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689374/8bbffb06-5b3f-0208-636d-f384b976e84b.png)
1. `Android SDK Tolls Installed with Unity`の`Copy Path`をクリックする。
2. `Android SDK Tolls Installed with Unity`のチェックボックスのチェックを外す。
3. `SDK`の欄にコピーしたパスをペーストする。
4. `Android SDK Tolls Installed with Unity`のチェックボックスのチェックを入れる。

### Your android debug keystore file is missing!
`Your Android debug keystore file is missing! You can create new one by creating and building empty Android project in Ecplise.`

`debug.keystore`ファイルが見つからない場合に起きます。
`Android Keystore Path`に指定することもできますが、別のプロジェクトのことを考えると毎回入力するのは面倒なのでデフォルトのパスに`debug.keystore`を置きます。
デフォルトの参照パス：
`C:\Users\<user name>\.android\debug.keystore`

既にkeystoreを作っていればコピーしたものをリネームして置くだけでもいいです。
作っていなければ以下を参考にしてください。
1. Keystore Managerを起動する。
`Unity -> Edit -> Project Settings -> Player -> Androidタブ -> Publishing Settings -> Keystore Manager`
2. debug.keystoreを作成する。
`Keystore -> Create new -> anywhere`
3. Keystoreの必要な入力情報
Password, Alians, Password(New Key Values), Organization
![スクリーンショット 2023-03-24 114629.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689374/2a59fae3-0359-ba85-41dc-71d0bc7791eb.png)

### Keytool not found. Make sure that java is installed and that java tools are in your path.
JDKに`keytool`が含まれているのでそのパスを環境変数に追加します。

元々Unityのモジュール追加でインストールしているJDKのパスを指定してもいいようですが、私の環境ではうまくいかなかったのでJDKを追加でインストールしました。
Unity Editorのバージョンを変えたくてアンインストールしたときにEditor内のパスを指定すると不便だったりすると思うので、JDKインストールしておくと楽かもしれません。

https://www.oracle.com/java/technologies/downloads/#jdk20-windows

1. Pathに'keytool'の含まれるフォルダを追加する。
`C:\Program Files\Java\jdk-20\bin`
2. JAVA_HOMEの変数を新規追加する。
変数名: `JAVA_HOME`
変数値: `C:\Program Files\Java\jdk-20\`
3. CLASSPATHの変数を新規追加する。
変数名: `CLASSPATH`
変数値: `C:\Program Files\Java\jdk-20\lib`

### 環境変数を追加しても解消されない場合
環境変数を追加したときにUnity Editorを再起動してもエラーが消えない場合があります。
バックグラウンドで動いているUnityが環境変数が更新されていないからです。
PCを再起動することで環境変数が確実に反映されます。