sdk
latest
false
- Overview
- Custom activities
- Migrating activities to .NET 6
- Release notes
- Building workflow analyzer rules
- Building activities project settings
- Creating custom wizards
- Prioritize activities by scope
- UiPath.Activities.Api.Base
- UiPath.Studio.Activities.Api
- UiPath.Studio.Activities.Api.Activities
- UiPath.Studio.Activities.Api.BusyService
- UiPath.Studio.Activities.Api.ExpressionEditor
- UiPath.Studio.Activities.Api.Expressions
- UiPath.Studio.Activities.Api.Licensing
- UiPath.Studio.Activities.Api.Mocking
- UiPath.Studio.Activities.Api.ObjectLibrary
- UiPath.Studio.Activities.Api.PackageBindings
- UiPath.Studio.Activities.Api.ProjectProperties
- UiPath.Studio.Activities.Api.ScopedActivities
- UiPath.Studio.Activities.Api.Settings
- UiPath.Studio.Activities.Api.Wizards
- UiPath.Studio.Activities.Api.Workflow
- UiPath.Studio.Api.Controls
- UiPath.Studio.Api.Telemetry
- UiPath.Studio.Api.Theme
- Robot JavaScript SDK
- Triggers SDK
- Agents SDKs

Developer guide
Last updated Mar 30, 2026
Category
Several standard categories are provided by default, but note that you can add your own custom categories as well.

Generated Code
The LocalizedCategory attribute on each of your properties contains a reference to the category you selected. The category name may be modified by going to Properties Resources.resx.
Notice that the first two properties are in the Input category while the third is in the Output category and reference Resources.Input_Category and Resources.Output_Category respectively.
...
#regio Properties
[LocalizedDisplayName(nameof(Resources.Addition_FirstNumber_DisplayName))]
[LocalizedDescription(nameof(Resources.Addition_FirstNumber_Description))]
[LocalizedCategory(nameof(Resources.Input_Category))]
public InArgument<int> FirstNumber { get; set; }
[LocalizedDisplayName(nameof(Resources.Addition_SecondNumber_DisplayName))]
[LocalizedDescription(nameof(Resources.Addition_SecondNumber_Description))]
[LocalizedCategory(nameof(Resources.Input_Category))]
public InArgument<int> SecondNumber { get; set; }
[LocalizedDisplayName(nameof(Resources.Addition_Sum_DisplayName))]
[LocalizedDescription(nameof(Resources.Addition_Sum_Description))]
[LocalizedCategory(nameof(Resources.Output_Category))]
public OutArgument<int> Sum { get; set; }
#endregio
...
...
#regio Properties
[LocalizedDisplayName(nameof(Resources.Addition_FirstNumber_DisplayName))]
[LocalizedDescription(nameof(Resources.Addition_FirstNumber_Description))]
[LocalizedCategory(nameof(Resources.Input_Category))]
public InArgument<int> FirstNumber { get; set; }
[LocalizedDisplayName(nameof(Resources.Addition_SecondNumber_DisplayName))]
[LocalizedDescription(nameof(Resources.Addition_SecondNumber_Description))]
[LocalizedCategory(nameof(Resources.Input_Category))]
public InArgument<int> SecondNumber { get; set; }
[LocalizedDisplayName(nameof(Resources.Addition_Sum_DisplayName))]
[LocalizedDescription(nameof(Resources.Addition_Sum_Description))]
[LocalizedCategory(nameof(Resources.Output_Category))]
public OutArgument<int> Sum { get; set; }
#endregio
...
Effect in UiPath Studio
