5 KiB
Linux build
The project targets Unity 2018.1.6f1. Keep this version for now: the simulation uses the bundled UNet networking API and the legacy .NET runtime. No engine migration has been made.
Toolchain
The following tools were installed and launched on this Debian 13 x86_64 host:
- Unity Editor:
/opt/unity/2018.1.6f1/Editor/Unity, including Linux player support. - Blender 2.79b:
/opt/blender-2.79b-linux-glibc219-x86_64/blender, also available asblenderon PATH. The project's Blender models use the 2.79 file format. - GTK 2, libsoup 2.4, GLU, and GConf 2 compatibility libraries. GConf was installed
from Debian's
libgconf-2-4_3.2.6-8_amd64.debandgconf2-common_3.2.6-8_all.deb; Debian 13 no longer ships those packages. - Xvfb and xauth for running the old editor without a desktop display.
Downloads: Unity 2018.1.6f1, Blender 2.79b, Debian GConf packages.
Build command
Once Unity is activated and the damaged source assets below are restored:
./build-linux.sh
For an editor installed elsewhere:
UNITY_EDITOR=/path/to/2018.1.6f1/Editor/Unity ./build-linux.sh
The intended output is Builds/linux/Simulation.x86_64, with its accompanying
data directory. The editor log is Builds/linux/build.log. The build uses
Assets/Scenes/Main.unity; the original settings incorrectly named the absent
SampleScene.unity despite already containing Main's GUID.
The existing standalone startup code selects the client menu. This build command preserves that behavior.
Current blockers and verification
No Linux executable has been built. The editor starts, but the attempted batch build exits with status 1 at license activation:
Failed to activate/update license. Missing or bad username and password.
Unity Personal is free for eligible users, but still requires activation. For a desktop session, sign in to Unity Hub, then use Settings > Licenses > Add license > Get a free personal license if it is not activated automatically. See Unity's Hub license instructions.
For SSH access, Unity CLI 1.0.0-beta.9 is installed at
/root/.local/bin/unity, along with GNOME Keyring and libsecret-tools.
Its login command prints a URL that can be opened in a browser on another
device. Run ./unity-ssh.sh as the same Linux user that will run the build.
It starts a private D-Bus session and a dedicated Unity keyring under
~/.local/share/unity-ssh/keyrings, leaving the desktop login keyring intact.
Choose a password on first use and use the same password when reopening the
helper. This password protects saved credentials locally; enter your Unity
account password only on Unity's sign-in page. The helper verifies that the
keyring can store and retrieve a test credential before opening a shell.
In that shell, run:
unity auth login
unity license activate --personal --accept-eula
unity license status
The activation command accepts the Unity Personal license terms. Type exit
when finished to close the shell and its keyring session.
The command options and browser-assisted login startup have been checked here.
Keyring tests with temporary credentials cover creation, reopening, incorrect
password rejection, inherited desktop sessions, and concurrent-session
rejection. The CLI's own credential-store check resolves the Secret Service
backend inside the helper. Run ./unity-ssh.sh --check to check the keyring
without starting a Unity sign-in.
Sign-in, activation, and compatibility with the old editor still need to be
verified. See Unity CLI instructions
and release notes.
There is also existing file corruption, independent of activation. An audit found 33 asset files whose contents are Unity metadata instead of their expected source/model/image/material data. Five of these are C# source files:
UnityProject/Assets/Scripts/CarLL.csUnityProject/Assets/Scripts/misc/trafficLightColor.csUnityProject/Assets/Standard Assets/CrossPlatformInput/Scripts/VirtualInput.csUnityProject/Assets/!ext/PostProcessing/Editor/PostProcessingInspector.csUnityProject/Assets/!ext/PostProcessing/Editor/Monitors/WaveformMonitor.cs
A separate compilation attempt with Unity's bundled Mono compiler and genuine
2018.1 assemblies fails with CS8025: Parsing error in VirtualInput.cs.
The full asset list is in the local Builds/linux/source-audit.txt; compiler
output is in Builds/linux/script-check/compile.log.
Some metadata is damaged too: there are duplicated GUIDs, source code stored in
.cs.meta files, and empty directories with .meta names. The file at
UnityProject/Scripts/CarLL.cs is not a usable backup: it contains a
TrafficController class. A clean original checkout/archive is needed to
restore these files reliably. Existing assets and the old Library cache were
left intact.