Available in: Feature Studio
A Feature Studio is an Onshape tab for working with FeatureScript, a programming language for defining custom features.
FeatureScript is designed by Onshape for creating features and working with 3D parametric models. The language is built into Onshape and provides the foundation of Part Studio modeling, including defining standard Onshape features (like Extrude, Fillet, and Shell).
This page focuses on working with the Feature Studio user interface.
- For information on writing FeatureScript to create custom features, see the FeatureScript Docs.
- For instructions on adding those custom features to a Part Studio, see Custom Features.
The Feature Studio toolbar includes the following:
- Undo (
; ctrl/cmd+z ) - Undo the most recent change. - Redo (
; ctrl+y/shift+cmd+z ) - Repeat or redo the most recent change. - New feature (
) - Insert the basic framework for a new feature, which consists of a function declaration with the precondition and body within it. See the FeatureScript Docs for more information. - Parameters and functions lists - Insert the basic framework for parameters, queries, evaluations, math functions, sketch functions, and operations. On some screens, this option is collapsed into one list (as shown above); on other screens, each list is individual:
- Insert feature parameters
- Insert query functions
- Insert evaluation functions
- Insert math functions
- Insert sketch functions
- Insert operation functions
- Import (
) - Import a file, Part Studio, other Feature Studio, or Variable Studio from the current or another document. See Imports.- You can also create a version (
) and view the version graph (
) from this dialog. See Versions and History.
- You can also create a version (
- Format Studio (
) - Automatically format the current FeatureScript code. If this option is not visible on the toolbar, click the Import dropdown and select it from the menu. - Commit - Commit the current code changes. See Committing FeatureScript changes on this page.
- Search tools ( alt/option+c ) - Search for any of the parameters and functions available in the Parameters and functions lists, including their descriptions. To close the search box, click Close search, press the escape key, or click outside the box.
- Co-complete (
) - Use AI to help write FeatureScript code. See FeatureScript Co-Complete. - Monitor Part Studio (
) - Monitor a Part Studio's execution. See Debugging in Feature Studios.- Click the dropdown and select Profile Part Studio (
) to profile a Part Studio's execution. See Debugging in Feature Studios.
- Click the dropdown and select Profile Part Studio (
- Module outline (
) - Navigate through your FeatureScript code. See Navigating the outline on this page. - Back reference (
; ctrl/cmd+[ ) - Return your cursor to its previous position in your navigation history. - Forward reference (
; ctrl/cmd+] ) - Return your cursor to the next position in your navigation history. - Line - The line number of the current cursor location.
- Column - The column number of the current cursor location.
As with all tabs in Onshape, your FeatureScript changes are saved automatically as you type. To commit the changes and apply the new FeatureScript code throughout the document, click the Commit button.
-
To commit the changes in the current Feature Studio only, click the Commit button.
-
You can also click the dropdown and select Commit from the menu.
-
You can also press cmd/ctrl + s
-
-
To commit all changes in all Feature Studios in the document, click the Commit button dropdown and select Commit all.
-
The number of Feature Studios with uncommitted changes is shown in parentheses in the dropdown menu
-
You can also press cmd/ctrl + shift + s
-
-
Click the Search Feature Studios button (
) on the menu bar to open the Text Search pane, shown above.-
You can also open the Text Search pane with ctrl/cmd + shift + f.
-
You can open the Symbol Search pane by right-clicking a symbol and choosing Find usages in workspace or Rename in workspace from the context menu.

-
-
Click the Search mode dropdown to switch between text, symbol, and standard library import search.

-
(Text search only) Enter your search text into the Find text field. Specify optional search parameters:
-
Match case - Select checkbox for a case-sensitive search.
-
Regex - Select checkbox for a regular expression search.
-
Feature Studio name filter - Filter search results to tabs that match the entered text.
-
-
(Standard library import search only) Enter the search options to find the matching standard library import:
-
Include and Exclude: - Enter versions and version ranges as comma-separated lists. Imports appear in the search results only if their versions is returned in the Include list and not the Exclude list.
-
Include a minor version (e.g., 3081.2) to return only that exact version (3081.2). Exclude the minor version (e.g., 3081) to return all minor versions within the major version (3081.0, 3081.1, 3081.2, 3081.3).
-
Version ranges (e.g., 3081.0-3081.2) are inclusive.
-
Use a dash to match all versions before and including (e.g., -3081.2) or after and including (e.g., 3081.2- a version).
-
Comma-separated searches return the union of matches (e.g., 3079 - 3080, 3081.2 returns all minor versions in 3079, all minor versions in 3080, and 3081.2).
-
Leave Include empty to match everything. Leave Exclude empty to exclude nothing.
-
-
Feature Studio name filter - Filter search results to tabs that match the entered text.

-
-
Click Find.
- Search results are highlighted in the FeatureScript code.
-
Use the expand (
) and collapse (
) buttons to view results by Feature Studio tab. -
Use the Expand search results (
) and Collapse search results (
) buttons to expand or collapse all results. -
Click a search result to jump to its location in the Feature Studio.
-
(Optional) To replace the search text, rename a symbol, or update the standard library import version:
-
Click the Toggle Replace arrow (
) to the left of the Search mode button. -
Type your replacement text in the Replace with field (text or symbol search), or type the desired version number in the Set version to field (standard library search). You can also select a supported version from the Set version to dropdown list.
-
Click Replace all (text or standard library search) or Rename. (symbol search).
-
Click the Module outline arrow on the Feature Studio toolbar to view the outline. You can also:
-
Click a search result to navigate to that part of the FeatureScript code.
-
Enter search text in the Search symbols field to refine the results.
For an additional Learning center resource, follow the instructor-led training course here: FeatureScript Fundamentals (Onshape account required).