Conducting Windows-Based Engine development inside of a VirtualBox Guest is the only fully-supported configuration at this time.
The recommendations presented here are hard-won.
We strongly recommend that you test using the exact parameters presented here.
Using any other configuration will make it difficult for us to provide you with support.
Windows-Based Engine development presents non-trivial system requirements for your development host:
Windows 10 (we’ve tested with Windows 10 Pro, version 1809)
VT-x supported and enabled in BIOS
16GB+ of RAM
4+ CPU cores
100GB+ disk space
We’ll be using VirtualBox.
VirtualBox must have sole ownership of your hypervisor.
This mean you cannot run:
Windows Credential Guard
Windows Device Guard
VMWare Workstation / Player
any other product that uses hypervisor extensions
Nested virtualization is NOT a currently supported configuration.
Instructions presented here assume your host Windows install is running on "bare metal".
Separate instructions for developing under a hypervisor (e.g. on AWS) are coming soon!
Use VirtualBox to create a Windows VM using the following parameters:
Type: Microsoft Windows
Version: Windows 10 (64-bit)
CPU: 2+ cores
video memory: 128MB
disk space: 50GB+
Use the default setting for all other options.
In particular, do NOT enable 3D acceleration.
Install Windows 10
Use the ISO you downloaded to install Windows in the VM.
Conducting Windows updates in a VirtualBox VM is not recommended and is quite likely to leave your VM in an un-bootable state.
We recommend disabling Windows Update immediately after you install Windows in the VM.
(Optional) Install VirtualBox Guest Additions
Guest Additions are necessary for Shared Clipboard / Copy & Paste features between Guest and Host.
Once Guest Additions are installed, you’re ready to Configure Windows for development inside of the VM.
(Unsupported) Custom Configuration
Developing Windows-Based Engines outside of a VirtualBox virtual machine will preclude you from conducting integration tests at this time.
We strongly recommend that you conduct development inside of a Windows VirtualBox Guest (described above) at this time.
Minimum system requirements:
4+ CPU cores
4GB of RAM
*Older versions of Windows may work, but are untested (and unsupported) at this time.
We’ll need to use Administrator privilege to make several changes to default Windows settings.
We’ll need an “elevated” / “privileged” PowerShell console:
search “PowerShell” in the desktop search bar
right click on “Windows PowerShell”
select “Run as administrator”.
Run the following in this privileged PowerShell console.
Permit script execution (necessary for installing Chocolatey & using virtualenvs):
We strongly recommend disabling all anti-malware products in your development environment - including the built-in Windows Defender.
Below, we describe disabling Windows Defender.
Disabling third party solutions is left as an exercise for the reader.
PolySwarm engines should expect to come into contact with malware.
Existing anti-malware engines, including the built-in Windows Defender, can easily get in our way, quarantining or deleting files during development.
Disabling Windows Defender is a two step process.
Run the following command in a privileged PowerShell: