プロキシ環境もしくはオフライン環境でUnityをインストールする方法

プロキシ環境下やオフライン環境でUnityをインストールする方法について。

Unity Hubを使わない場合/オフラインの場合

まず、インターネットに接続されているPCからUnityのアーカイブページにアクセスしてインストールしたいファイルをダウンロードしておきます。


https://unity3d.com/get-unity/download/archive

最低限必要なファイルは

  • Unity Editor (64-bit)

のみです。

Android/iOS Target Supportなどは必要な場合のみダウンロードしてください。

ダウンロードできたらファイルをインストールしたいPCに持って行ってダブルクリックでインストールできます。

インストール後のアクティベーションはManual Activationを選べばネット環境に寄らずセットアップできます。

Unity Hubを使う場合

こちらのページからUnity Hubをダウンロードして通常通りにインストールします。


https://unity.com/download

インストールできたら下記の内容でバッチファイル(.bat)を作成します。

@echo off
set HTTP_PROXY=http://プロキシのIPアドレス:ポート番号
set HTTPS_PROXY=http://プロキシのIPアドレス:ポート番号
start "" "<Unity Hubのインストール先>\Unity Hub.exe"

Unity Hubのインストール先は実際の環境に合わせてください。デフォルトの設定でインストールしている場合はC:\Program Files\Unity Hub\Unity Hub.exeになるかと思います。

作成できたらダブルクリックでバッチファイルからUnity Hubを起動して必要なバージョンのUnity Editorをインストールしてください。

アクセス制限している場合

プロキシサーバーでアクセス制限している場合は下記のドメインを許可しておく必要があります。

*.unity.com
*.unity3d.com

リンク

Unity – Manual: Offline (manual) license activation
https://docs.unity3d.com/Manual/ManualActivationGuide.html

Unity – Manual: Solving network issues
https://docs.unity3d.com/Manual/upm-config-network.html

C#でソースコードの行番号やファイル名を取得する方法

C++言語では__LINE____FILE__のマクロでソースコードの行番号やファイル名を取得することができます。C#でもこれと同じようなことをしたいと思って方法を調べてみました。

StackFrameを使う方法

using System;
using System.Diagnostics;

public class Example1
{
  public static void Main()
  {
    StackFrame stackFrame = new StackFrame(true);

    int fileLineNumber = stackFrame.GetFileLineNumber();
    string fileName = stackFrame.GetFileName();

    Console.WriteLine($"FileLineNumber: {fileLineNumber}");
    Console.WriteLine($"FileName: {fileName}");
  }
}

実行結果

FileLineNumber: 8
FileName: C:\work\example1.cs

CallerLineNumber/CallerFilePathを使う方法

using System;
using System.Runtime.CompilerServices;

public class Example2
{
  public static void Main()
  {
    test();
  }

  static void test([CallerLineNumber] int lineNumber = 0, [CallerFilePath] string filePath = null)
  {
    Console.WriteLine($"LineNumber: {lineNumber}");
    Console.WriteLine($"FilePath: {filePath}");
  }
}

実行結果

LineNumber: 8
FilePath: C:\work\example2.cs

ファイル名のみを取得したい場合

どちらの方法を使っても取得できるのはファイル名ではなく、ファイルパスになっています。ファイル名のみを取得したい場合はGetFileNameを使うと便利です。

string fileName = System.IO.Path.GetFileName(filePath);

リンク

StackFrame Class (System.Diagnostics) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.stackframe?view=net-6.0

System.Runtime.CompilerServices Namespace | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices?view=net-6.0

GitHubをプロキシ環境下で使う方法

.gitconfigで設定する方法

以下のコマンドを実行します。

$ git config --global http.https://github.com.proxy http://123.456.789.012:1234

もしくは、$HOME/.gitconfigに以下の内容を追加してください。

[http "https://github.com"]
proxy = 123.456.789.012:1234

※プロキシサーバーへのアクセスにユーザー名やパスワードが必要な場合はhttp://username:password@123.456.789.012:1234のような形で設定できます。

.ssh/configで設定する方法

$HOME/.ssh/configに以下の内容を追加します。

Host github.com
ProxyCommand connect -H 123.456.789.012:1234 %h %p