Project Setup
You generate a robot project with the WPILib New Project Creator, then swap it onto Commands v3 and add Phoenix 6. The build at the end proves Java, Gradle and the vendor libraries all work.
- The WPILib 2027 alpha 6 installed, from Prerequisites.
- An internet connection. The first build downloads a lot.
- A local folder to work in, not one synced to the cloud.
The New Project Creator ships inside the WPILib copy of VS Code. It writes a working robot project in about four clicks, and you never create a file by hand.
What it writes is not quite what this course teaches, and the second half of this page is the one step that fixes it.
Make the project
The 2027 installer installs a WPILib-specific VS Code. Make sure to use this version, not the ordinary one. Once open, its title bar carries a small red WPILib icon at the top right. Click it.

The icon opens the command palette with >WPILib already in it. Type create and pick WPILib: Create a new project.

The creator runs as four numbered pages. On the first, choose Template. An example is somebody else's finished robot, and you would spend the rest of Workshop 3 deleting it.

On the second page set Language to java and Project Base to OpMode Robot. OpModes are how the 2027 stack picks which routine runs.

The third page is the one worth slowing down for.
- Base Folder. Click Select Folder and pick
Downloads, or any plain local path. Check that the box does not readOneDriveanywhere. - Project Name. Type
Workshop. Later lessons name that folder when they tell you where to look. - Team Number. Yours. A deploy has no address to look for without it, and the screenshot below shows 5712.
- Enable Desktop Support. Tick it. This is the box that turns on simulation, and Workshop 3 runs the arm in simulation before it runs on a motor.

Not in OneDrive
OneDrive, Google Drive and Dropbox rewrite files underneath Gradle while it is working. The build then fails in ways that look like broken code, and teams lose whole meetings to it. On a school laptop Documents and Desktop are often synced without anyone saying so. Downloads usually is not.
The fourth page repeats your choices back. Read the Location line, then press Create Project.

A dialog asks whether to open the folder. Choose Yes (Current Window). A new window works too, and leaves you with two VS Code windows and no way to tell them apart.

Commands v3 and Phoenix 6
The project you just made ships Commands v2 and no CTRE library. Every Java example in this course is Commands v3, and the hardware is CTRE. The two command libraries cannot sit in the same project, so v2 comes out before v3 goes in. One panel does all of it.
Click the WPILib icon in the activity bar, the narrow strip of icons down the left edge, to open WPILib Vendor Dependencies. Everything below is a button in that panel, and nothing needs a URL typed.
- Under Installed Dependencies, delete Commands V2 with the bin icon beside it.
- Under Available Dependencies, install Commands v3. It reads
Loaded from Local Copy, because it came with the alpha and needs no download. - In the same list, install CTRE-Phoenix (v6). Take care here. CTRE-Phoenix Replay (v6) sits directly under it and is a different library. Phoenix ignores the commands version, so its position in this order does not matter.

Changing a dependency starts a build on its own. Leave it alone. The first one fetches Gradle, the Java 25 toolchain and the vendor libraries. That runs for several minutes at home, longer on school Wi-Fi. Later builds take seconds, because Gradle caches all of it in your home folder rather than in the project.
One thing goes wrong here, and it is the network. A build that stops on Could not resolve could not reach a library it needed. Reconnect first. Click the same WPILib icon you used to create the project, type build, and pick WPILib: Build Robot Code.
Check your work
Wait for the build to settle, then look at the file tree.
You should see
BUILD SUCCESSFULas the last line of the terminal.- A
Workshopfolder underDownloads, withgradlewat the top of it. CommandsV3.jsonand a Phoenix 6 file undervendordeps/, and noCommandsV2.json.- Your team number in
.wpilib/wpilib_preferences.json. - A
Robot.java, and anopmodefolder holdingMyTeleopandMyAuto.
Check yourself
Which Project Base does this course use?
A fresh OpMode Robot project ships Commands v2. Why swap it?
Why not put the project in a OneDrive folder?
What does Enable Desktop Support turn on?