Advanced Building and Environment¶
This page focuses on tool-level building workflows and environment payload control.
High-value prim tools¶
PrimCreatePrimSetPositionPrimSetScalePrimSetRotationPrimSetTexturePrimSetFaceParamsPrimNudgeFaceUvPrimApplyUvPresetPrimTileUvPrimTileUvNonUniformPrimLinkPrimUnlinkPrimClonePrimInspectPrimFetchPropertiesPrimSetBuildParamsPrimSetFlexiblePrimSetLightPrimSetSculptPrimInspectLinksetPrimSetLinksetRootPrimReorderLinksetPrimBulkAdjustLinksPrimSetNextOwnerPermissionsPrimSetSaleInfoPrimSetGroupOwnershipPrimQueryObjectsPrimRequestPayPricePrimBuyWalletGetBalancePayPrimFindByNamePrimListNearby
Prompt examples for precise builds¶
Create a 1x1x1 cube named Marker-A at 130,130,25.
Clone Marker-A three times, place each clone 2 meters apart on X.
Apply a texture from https://example.com/panel.png and tile it 4x4 on face 0.
Rotate Marker-A by 90 degrees around Z and set scale to 1,2,0.5.
Fetch fresh properties for prim localId 1234, wait 5 seconds, and report permissions, sale info, sit data, and full path/profile shape parameters.
Set prim 1234 path cut to 0.1..0.9, hollow to 0.2, taper X to -0.3, taper Y to 0.1, and profile hole to Circle.
Enable light on prim 1234 with RGB 1,0.95,0.8 intensity 0.7 radius 12 cutoff 60 falloff 0.8.
Enable flexible on prim 1234 with softness 2, tension 5, drag 2, gravity -1, wind 3.
Enable sculpt on prim 1234 as Mesh with texture UUID <uuid>, mirror false, invert false.
Inspect the full linkset tree for localId 1234 and show root, parent IDs, and per-link order.
Set linkset root to localId 5678 for the object that contains localId 1234.
Reorder linkset members to 1234,5678,9012 with root 9012.
Bulk-adjust links 5678,9012 by delta position 0,0,0.2 and yaw +10 degrees using child-only edits.
Set next-owner permissions on 1234,5678 to copy=true modify=false transfer=true.
Set object 1234 for sale as Copy at price 50.
Clear for-sale state on object 1234.
Assign 1234,5678 to group <group-uuid>, share with group, and deed to group.
Query objects in parcel local ID 123 where scriptedOnly=true and physicalOnly=false.
Query objects owned by <owner-uuid> with physicalOnly=true across the current simulator cache.
Request pay prices for object localId 1234 and show default/button values.
Buy object localId 1234 with sale type Copy at price 0.
Refresh and report my wallet balance.
Pay avatar <avatar-uuid> amount 1 with memo "tip".
Freshness-aware prim inspection¶
PrimInspectreads from current simulator cache only.PrimFetchPropertiesexplicitly requests family + full object properties, waits up towaitTimeoutSeconds, and includes freshness metadata in the response.- Rich inspect output now includes:
- detailed path/profile values (cut, taper, twist, shear, skew, hollow, revolutions)
- permissions masks and sale info
- sit/touch labels and sittable hint
- flexible/light/sculpt details (including mesh detection)
Shape/edit parameter notes¶
PrimSetBuildParamsclamps values to safe protocol ranges used by shape packing.- Use
PrimFetchPropertiesafterPrimSetBuildParamswhen you need fresh verification values. - Use
PrimSetLight,PrimSetFlexible, andPrimSetSculptwithenabled=falseto disable those extra params.
Linkset-level workflows¶
PrimInspectLinksetreturns the full root+children tree from any member local ID.PrimSetLinksetRootandPrimReorderLinksetuse relink behavior (root prim is linked last).PrimBulkAdjustLinksis the fastest way to apply coordinated offset/rotation/scale changes to selected child links.
Permissions and ownership notes¶
PrimSetNextOwnerPermissionsupdates copy/modify/transfer flags for next owner only.PrimSetSaleInfosupports explicit for-sale setup and clearing for-sale state.PrimSetGroupOwnershipsets object group, applies/clears group-share permissions, and can request deed to group.- Group deed requests depend on region rights and object/share constraints; use
PrimFetchPropertiesafter updates to verify results.
Parcel object discovery¶
PrimQueryObjectsfilters objects by parcel local ID, owner UUID, scripted status, and physical status.- When filtering by parcel, use
forceRefreshParcelMap=trueif parcel boundaries may have changed recently. - Returned payload includes each matched object's local/parent IDs, owner ID, scripted/physical flags, and position.
Commerce tools (minimal pass)¶
PrimRequestPayPricequeries the simulator pay dialog pricing payload for an object UUID/local ID.PrimBuysends an object purchase request and supports explicit 0-price (L$0) purchases.WalletGetBalancecan return cached balance or force a refresh request before returning.Paysubmits a money transfer request to avatar/object/group targets.
UV and texturing tips¶
- Use
PrimApplyUvPresetfor fast outcomes (fit,reset,tile2x2,rotate90, and more). - Use
PrimTileUvNonUniformwhen texture stretch differs by axis.
Environment control tools¶
EnvGetRegionEnvGetParcelEnvSetRegionRawEnvSetParcelRawEnvResetRegionEnvResetParcelEnvGetLegacyEnvSetLegacyRawEnvResetLegacy
Environment payload workflow¶
- Pull baseline payload.
- Edit only required values.
- Apply raw JSON payload.
Prompt example:
Get region environment, reduce cloud shadow, then apply updated region environment.
Minimal payload shape example:
{
"day_length": 14400,
"day_offset": 57600,
"flags": 0,
"day_cycle": {
"type": "daycycle",
"tracks": []
}
}
Use baseline-first edits
Start from EnvGetRegion output instead of crafting large payloads from scratch.