TABLE OF CONTENTS
Asset Sharing Across Projects
Overview
This guide outlines the steps required to share assets (e.g., User Migrations) from one project to another in ManagementStudio. The same principles apply to other asset types, such as Applications or Devices.
Note: For additional guidance on multi-project best practices, refer to the Multi-Project: Best Practice article.
How Asset Sharing Works
ManagementStudio enables asset sharing between projects, allowing multiple projects to access common or distinct sets of assets (such as User Migrations). For instance, if Project 1 contains 5,000 User Migrations, some or all of these assets can be shared with other projects.

When an asset is shared from Project 1 to Project 2, the asset is visible in both projects. "Common fields" (e.g., domain, username) will display the same values across all projects; changes to these fields in one project are reflected in all projects where the asset is shared.
"Per project" fields, however, can differ between projects. For example:
- The asset can be at different workflow process steps in each project.
- Priority, migration dates, and statuses can differ by project.
- See the Field Reference section for a full list of per-project fields.

In Administration → [Module] → Details Config, common fields are indicated by a tick in the MP (Multi-Project) column.

Dropdown Lists
- Built-in and custom dropdown lists across all modules are only editable in the initial project.
- In child projects, these fields are read-only.

Built-in dropdown lists for Applications

Custom dropdown lists for Applications
Package Type dropdown in initial project.

Package Type dropdown in child project. Note the dropdown is not available.
Custom Fields

Custom Fields are common across Projects (i.e. they are Multi-Project)
- Custom Fields (
CustomFlagX,CustomPropertyX,CustomListX, etc.) are common across shared assets and should not be visible in child projects. - If you require custom fields in a multi-project setup, use Project Fields instead.
Project Fields

Project Fields exist per Project (i.e. they are not Multi-Project)
- Project Fields (
ProjectFlagX,ProjectPropertyX,ProjectListX, etc.) exist independently in each project, allowing for project-specific data.
Custom Tabs
- Custom tabs are stored separately in each project.
Licensing
- Only one licence ticket is required per asset, regardless of how many projects it is shared to.
- The maximum number of allowed projects is defined by your licence. Contact your representative to add more projects to your licence if needed.
Setup Steps
1. Set Up a Role Group
Ensure at least two projects are set up. For project creation steps, see the Create a new project article.
- Open the first project.
- Navigate to
Administration → Role Groups → Click here to add new item. - Name the group (e.g.,
Asset Sharing Admin). - Click
Edit Rules. - At the bottom of the permissions list, enable the following options:

Cross Project PermissionsConfigurationShare AssetRemove Asset
- Click
Finished → Save Changes → Save.
Note: Multiple role groups with custom cross-project permissions can be created as needed.
2. Add User Accounts to the Role Group
- Go to
Administration → User Accounts. - Select the user(s), right-click, and choose
Add Roles → [New Role] → Add Roles. - Include the API Connectors account in the new role group.

- Restart the ManagementStudio client.
- Go to
Administrationand confirm that theCross Project Settingsbutton is visible.

3. Configure Permissions on the Target Project
- Repeat steps 1 and 2 for each project that will participate in asset sharing.
4. Set Up Asset Sharing
- Navigate to
Administration → Cross Project Settings. - Configure the following options:
| Setting | Description |
|---|---|
Share From | Source project. |
Share To | Target project. |
Module to Share | Select the asset type to share. |
How to Share | Sharing method.All To: Share all assets from source to target.All to & Back: Share all assets both ways.Specific To: Share selected assets from source to target.Specific To & Back: Share selected assets both ways.Ignore: Disable this rule. |
Cascade Archive | Archiving the asset in the parent project also archives it in the child. Note: Only archiving from the parent triggers cascading. Contacts are excluded. |
Cascade Delete | Deleting the asset in the parent project also deletes it in the child. Note: Only deleting from the parent triggers cascading. Contacts are excluded and deleted permanently across all projects. |
Remove | Removes the cross-project sharing rule. |

- Click
Save Changes. - Click
Sync Assets Now.
5. Share Assets
Specific Assets
If How to Share is set to Specific To or Specific To & Back, only selected assets will be shared.
Steps:
- Navigate to the relevant module (e.g.,
User Migrations → All User Migrations). - Select the assets to share.
- Right-click and select
Cross Project Sharing → Share to Project → [Target Project].

- Click
Share.

All Assets
If How to Share is set to All To or All To & Back, all assets in the specified module are shared automatically—no further action is required.
Field Reference
The following table outlines which fields are common across projects (values always the same) and which are per project (values can differ).
Common Fields
| User Migrations | Applications | Devices | Mailboxes | Bespoke |
|---|---|---|---|---|
| AdSid | AceCategory | AdSid | AdSid | AdSid |
| All Custom Fields | All Custom Fields | All Custom Fields | All Custom Fields | All Custom Fields |
| AzObjectId | AlsoKnownAs | AssetTag | CreatedById | BespokeId |
| CreatedById | AppEdition | AzDeviceId | CreatedOn | BespokeName1 |
| CreatedOn | AppId | AzObjectId | Description | BespokeName2 |
| Description | AppName | BuildVersion | BespokeName3 | |
| Domain | AppStatusId | CreatedById | Email2 | CreatedById |
| AppVendor | CreatedOn | FontIcon | CreatedOn | |
| Email2 | AppVersion | Description | LegacyId | Description |
| EmployeeId | ArchitectureId | DeskNumber | LocationId | |
| FirstName | ComplexityId | DeviceArchitecture | MailId | Email2 |
| FontIcon | CreatedById | DeviceId | MailName1 | FontIcon |
| LastName | CreatedOn | DeviceTypeId | MailName2 | LegacyId |
| LegacyId | CustomerId | Domain | MailName3 | LocationId |
| LocationId | Description | MigrationDate1 | MigrationDate1 | |
| MigrationDate1 | Email2 | MigrationDate2 | MigrationDate2 | |
| MigrationDate2 | Email2 | FloorNumber | MigrationTypeId | MigrationTypeId |
| MigrationId | EndOfLifeDate | FontIcon | PriorityId | PriorityId |
| MigrationTypeId | FontIcon | HostName | RandomKey | RandomKey |
| PhoneNo | InTuneId | InTuneId | StatusId | StatusId |
| PriorityId | IsCoreApp | IpAddress | ||
| RandomKey | IsStoreApp | LegacyId | ||
| SamAccount | LanguageId | LocationId | ||
| StatusId | LegacyId | MacAddress | ||
| UserPrincipalName | LocalisationId | Make | ||
| OwnedById | Memory | |||
| PackagedById | MigrationDate1 | |||
| PackageTypeId | MigrationDate2 | |||
| PackagingSiteId | MigrationTypeId | |||
| PkgVerMajor | Model | |||
| PkgVerMinor | OperatingSystem | |||
| PkgVerPatch | OsAceLabel | |||
| PriorityId | OsEoLActiveSupportDate | |||
| RandomKey | OsEoLSecuritySupportDate | |||
| RequiredDate | OsIsPastEoL | |||
| SupersededBy | PriorityId | |||
| VersionBuild | Processor | |||
| VersionMajor | RandomKey | |||
| VersionMinor | SerialNumber | |||
| VersionRevision | ServicePack | |||
| WarrantyDate | SmBiosGuid | |||
| StatusId |
Per Project Fields (apply to all modules):
- All Project Fields
- Process
- Subprocess
- ProcessStatus
- EnteredProcessOn
- DeployUnit
- DeployUnitSlotStart
- SelfScheduleLocked
- AssignedToId
- DelegateTo1Id
- DelegateTo2Id
- PreventNewLinks
- IsArchived
- IsDeleted
- IsLocked
Further Support
For additional support, visit the ManagementStudio Service Desk to search the knowledge base or raise a support ticket.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article