Skip to content
lsl.devlsl.devLSL Dev

Limits

The Second Life Viewer and simulators have a division of labor, keeping track of the data that makes Second Life run. The Viewer’s job is to:

  • Handle locations of objects.
  • Get velocities and other physics information, and does simple physics to keep track of what is moving where.

The simulator’s job is to:

  • Run the physics engine.
  • Detect collisions.
  • Keep track of where everything is
  • Send locations of content to the Viewer along with updates when certain changes occur.

Limits are necessary for all of these components to work together. The list below outlines many of the Second Life numerical limits that affect your inworld experience. Some of these will likely change over time, so if you spot something incorrect/outdated, please take a moment to update it.

LimitValueNotesMore coverage
Max. # of attachments38 combined HUD and body attachments.• They can be viewed by right-clicking your avatar and choosing Edit My Outfit.
• With the formal introduction of multiple attachments to a single point in Viewer 2.4, you can attach up to 38 total objects, and they can all be attached to a single point.
• With the introduction of the Bento armature, there are 47 attachment points available.
• With the introduction of Animesh, there is a limit of 1 Animesh attachment for Basic & Plus members, 2 for Premium members, and 3 for Premium Plus members.
llAttachToAvatar, Animesh
Max. attachment position3.5m in a sphere around <0, 0, 0>.
Max. # of clothing layers60 including alpha, tattoo, shoe base, physics, socks, gloves, undershirt, underpants, shirt, pants, jacket, skirt• On viewers before Second Life Release 3.7.29.301305, the potential total was still 60, but limited to 5 items of each type.
• In any case, only one each of shape, skin, eyes and hair base may be worn. These 4 basic body parts are in addition to the 60 clothing layers.
Max Clothing Texture1024x1024 px (except 128x128 px for eyes) - Server Side Appearance (and legacy baking on outside grids) will downsize larger textures*. (Support for 2K textures & Bakes on Mesh is in development but not yet supported)
Max. unassisted fly heightStable hover at current ground elevation plus 5020m.• You can easily acquire a flight attachment to fly high. Also see flight limit and the Navigation section below.
Common shoe sizesTraditionally, most women’s shoes were designed for a size 0 (zero) foot. Men’s generally scale up to 14. Newer items (mesh and some sculpted) replace the system feet or conform to the avatar’s shape, so adjustments may be necessary.• You can check this by going to Edit menu > Appearance and clicking on the Shape > Legs tab.
Max. length of avatar name31 for first name, 31 for last name, 63 in total (including the space).
Max. length of UsernameAll lower case and a maximum of 63 including the ’.’(eg; firstname.lastname)• Older account user names are a combination of the First and last name in lower case separated by a period(.)(eg; lilmix.pixelmaid)
• Modern user names are a single name(no period)(eg; john1234) - Max. length is 31 characters
• The Legacy Names for modern user names always shows Resident as the last name. So the Max is 40 characters in total for a new avatar’s legacy name(including the space and last name ‘Resident’)
llGetUsername
Min. length of Display NamesAt least one script characterllGetDisplayName
Max. length of Display Names31 characters• Display Names can include most Unicode script characters, spaces, and some punctuation.llGetDisplayName
Max. avatar speed250m/s (with only attachments to assist)
Max. teleport speed6 teleports per minute
Limit affectsLower limitUpper limitCommentMore coverage
Length of animationn/a60.0 secondsLimited by length or Size, whichever is reached firstn/a
Size of Animationn/a250,000 bytesLimited by length or Size, whichever is reached first. Size is after conversion to .anim. (See the tip for Blender users below this table.)Internal Animation Format
Distance an Animation Can Travel-5 meters (per axis)+5 meters (per axis)10 meters per axis cumulatively (travelling from -5 to +5).n/a
animation priority0.bvh: 4, .anim: 6.anim uses per-joint priorities, meaning it’s possible to have a mix of joint priorities in the same animation.Animation Priority
Number of unique joints per animationn/a216.anim, unlike .bvh, uses a flat structure, meaning that only the bones animated are stored, and bones which would otherwise be kept by .bvh (to keep hierarchy structure) are deleted.n/a
Number of simultaneous animations playingn/a30n/allGetAnimationList

The wiki links this heading to the Build Tools knowledge base article.

Limit affectsLower limitUpper limitCommentMore coverage
Prim dimensions<0.01, 0.01, 0.01><64.0, 64.0, 64.0>Used to be <10.0, 10.0, 10.0> prior to Second Life Server version 11.08.17.238770llSetScale, PRIM_SIZE and Megaprim
Number of prims in a linksetn/a256 primsUsed to be 255 prior to Second Life Server version 1.26llGetNumberOfPrims, Linksets
Linking distancen/a64 metersdistance has changed on 2023.06 update. The old max distance was 54 meters.llCreateLink
Local offset (avatars)n/a1000 meters per axisUnlike regular Linkability Rules for linksets, an avatar sitting on an object may be moved significantly further by scripts.llSetLinkPrimitiveParams with PRIM_POS_LOCAL
Physics cost for a physical objectn/a32.0Additional notes:
• If you try to link more, it’ll either say “Can’t enable physics for objects with more than 32 primitives” or “Object has too many primitives — its dynamics have been disabled.”.
• On server versions 1.38 and below, each sitting avatar counted as 1 prim. From 1.40.2 the limit is only on actual prims.
OBJECT_PHYSICS_COST
Build or rez heightn/a4096.0 meters768.0 meters for Viewers prior to version 1.20n/a
Prim name lengthn/a63 bytes UTF-8 stringsame limit for avatar names, although the character set for avatar names is significantly limited.llSetObjectName
Prim description lengthn/a127 bytes UTF-8 stringn/allSetObjectDesc
Temporary prims’ lifetimen/aup to around 60 secondsdepends upon when the next garbage collector cycle isPRIM_TEMP_ON_REZ
Number of temporary primsn/aRegionPrimLimit - NumberOfPrimsInRegion + Minimum(0.5*RegionPrimLimit, 1000)n/an/a
Length of hovertextn/a254 bytes UTF-8 stringn/allSetText and PRIM_TEXT

The wiki links this heading to the Lighting and shadows knowledge base article.

Limit affectsLower limitUpper limitCommentMore coverage
Number of active light sourcesn/ano limitAdvanced Lighting Model (ALM) was developed around 2011-2013 to remove the hard limit on light sources.PRIM_POINT_LIGHT
Number of projectors rendered at full detailn/a2Only the 2 projectors closest to an object will cause it to cast shadows. Additional projectors still affect color.Knowledge Base > Lighting > Projectors, PRIM_PROJECTOR
Number of lights rendered on Alpha Blended surfacesn/a88 including the Sun and Moon. The viewer will attempt to select the “most significant” lights to render, however these blended surfaces will look different as a result of these lighting limitations.Alpha Blending
Limit affectsLower limitUpper limitCommentMore coverage
Whisper distancen/a10 meters/whisper as the first few characters in a message can be used in viewer-2-code based viewers in local chat.llWhisper
Chat distancen/a20 meterstext spoken as a “chat” step within gestures cannot be shouted or whispered. /whisper and /shout can be used in the “Replace with” field.llSay
Shout distancen/a100 meters/shout as the first few characters in a message can be used in viewer-2-code based viewers in local chat.llShout
Length of a chat message and whether or not it is truncated1 byte or single-byte character1024 bytes or single-byte charactersLimit does not apply to instant messages via llInstantMessage and communication between IM and email, the limit there is 1023 bytes or single-byte characters.
The viewer-to-server communication on negative channels is truncated to 254 bytes, and on positive channels, to 1023 bytes. These limits do not affect communication between scripts.
llInstantMessage, llSay
Maximum eventsn/a64 eventsEvents are stored in a 64 bit bitmap. Events happening when the bitmap is full, will get discarded.n/a
Number of offline messagesn/aCapped at 30 messages for Basic members, 40 for Plus members, 120 for Premium members, and 240 for Premium Plus members.Number of offline messages (involving IMs, inventory offers, group notices, group invitations) received before messages get capped. Note: If autoAcceptNewInventory (debug setting) is set to TRUE (the default is FALSE), then all inventory offers, even above the cap allowed by membership, go directly to inventory and do not count against the cap on offline messages.IM - Blog Post
Length of a properly delivered email reply to an IMn/a1023 bytes or single-byte charactersn/an/a
Time after which a reply to an IM can be sent via email.when receiving the IM via email.5 days after receiving the offline IM via email.n/aSecond Life Blogs
Time period for which IMs are stored within Second Life.n/a31 days after receiving the IMTorley Linden confirmed this with Kelly Lindenn/a
Number of IMs sent by an object within an hourn/a5000 per hourn/allInstantMessage
Limit affectsLower limitUpper limitCommentMore coverage
Shortcut key mappingsn/a33 unique combinations, since F2–F12 can be used with the Ctrl or Shift modifiers.n/aAll_keyboard_shortcut_keys and the knowledge base
Chat step lengthn/a127 bytes or single-byte charactersn/an/a
Wait timen/a3600 seconds (which is one hour)n/an/a
Maximum steps datan/a1000 bytes of packed data; saving with more data returns the message “Gesture save failed. This gesture has too many steps. Try removing some steps, then save again.” Shorter text, for example, will allow more steps.n/an/a
Length of included assetsn/asee sections for animation, soundn/an/a
LimitValueNotesMore coverage
Maximum number of groups you can belong to50 for Basic members, 55 for Plus members, 80 for Premium members, 150 for Premium Plus members.• After downgrading from a higher limit membership to a lower one, you may not join any new groups until you are a member of fewer than your current subscription’s group limit. For example, if you downgrade from Premium (80 groups allowed) to Basic (50 groups allowed), you can’t join any new groups until you’re a member of fewer than 50 groups.
• Roles within groups are sort of like sub-groups. In many cases, you can use them instead of creating new groups.
Minimum number of members in a group2• A group with only 1 person for 48 hours will be disbanded (cancelled), unless the group owns land.
Maximum number of roles allowed in a group10 (including “Owners” and “Everyone”, which cannot be deleted)
Maximum Group Name35 single-byte characters.
Maximum Group Description Length511 single-byte characters.
Maximum Group Title20 single-byte characters.
Maximum Length of a Group Notice512 single-byte characters.
Maximum Age of a Group Notice14 days.
LimitValueNotesMore coverage
Maximum number of inventory items that can be sent in a folder42• Folders count as items too. This has more to do with packet size limits than cheeky Douglas Adams references.llGiveInventoryList
Maximum number of accounts that an inventory item can be shared with at onceThe limit is unknown, but tests show that it is more than 35. No documentation has been found. One third-party viewer developer says that the code doesn’t seem to look for a limit. It just builds the list and sends it to each avatar individually.
Maximum number of inventory items that can be contained in a prim10,000llGetInventoryNumber, Inventory
Maximum characters in an inventory item name (including folder names)63llGetInventoryName
Maximum notecard lineNone, but scripts can only read the first 1024 bytes (was 255 bytes before server version 2021-10-25.565008).llGetNotecardLine, llGetNotecardLineSync
Maximum notecard size65,536 bytes
Maximum uncompiled script size262,144 bytes
Number of items in the Library3,500 as of 2019-08-10• Verified by hiding the Library and counting the difference.
Maximum number of inventory items displayed in a single inventory folderSeveral thousand.• This was discussed during Simulator User Group transcript, 2011.03.08 “the folder will load up to the limit number of items, and remaining ones won’t show up in the viewer. you still own them, they aren’t lost, but they will be hidden until the folder size is reduced.”
• There is no specified limit for total avatar inventory, very large folders can be split.
• There was discussion in the Third Party Developers’ UG (4/10/2015) meeting about new inventory and login problems from having large numbers of items in a single folder. AISv3 removed server-side limits on the number of items in a folder. Flat inventories are bad. No one is certain at what number of items in a folder cause a login problem. The fix is to clear the inventory cache (not the viewer cache) and log into a deserted, empty region then move inventory items into folders and sub-folders. - The problem appears at different a number of items depending on your computer and connection speed. Hopefully being on an empty region will give one enough edge to get logged in and do some corrective work before being dropped. If not, you will need to contact support for help. They will divide large folders into smaller groups so you can log in.
LimitValueNotesMore coverage
Maximum parcel size65,536 meters²• Covering a whole region, or square on the World Map.
Minimum parcel size16 meters²
Maximum parcel name length63 single-byte charactersllGetParcelDetails with PARCEL_DETAILS_NAME
Maximum parcel description length255 charactersllGetParcelDetails with PARCEL_DETAILS_DESC
Region name lengthLinden Concierge policy states a minimum of 3 characters, and a maximum of 25 characters (including spaces). See Guidelines for Private Region Naming. However, the technical maximum limit is 35 characters, and exceptions to the concierge policy do exist (e.g Sandbox - Weapons testing (no damag and X)llGetRegionName
Ban line height for “no entry” or “pay to access”(in other words, “allow public access” is turned off, or “allow group access” is turned on, in the parcel options) is the parcel’s ground elevation plus 50 meters (except, if the region has been set to “Block Parcel Fly Over” in which case the access controls extend to at least 4096 meters). If a user is explicitly banned by name, the height is the parcel’s ground elevation plus 5000 meters. On current viewers this is visible to the full extent.llAddToLandBanList
Maximum prims in a region• “Mainland / Full Region” and “Linden Homes / Full Region”: 22,500
• Full Regions in private estates: 20,000 with an option for 30,000
• Homestead: 5,000
• Openspace : 1,000
To check a region’s capacity, use llGetEnv("region_max_prims").
(Region types are as found in the General tab of World > About Land, or returned by llGetEnv("region_product_name"))
llGetEnv
Maximum auto return valueBesides 0 (which means never), 999,999 minutes is the highest auto return value.
Terraforming limits• Most mainland can be raised/lowered by 4 meters (+/-).
• Some mainland regions cannot be terraformed, including: Bay City regions, Boardman, Brown, De Haro, Horizons, Kama City regions, Nautilus City regions, Nova Albion regions, and Shermerville regions.
• Linden Homes do not allow terraforming.
• A few, very old mainland Regions like Da Boom have a terraform range of 40 meters (+/-).
• Estate (private island) terraformability is settable to a maximum of 100 meters (+/-) by the estate owner or managers.
Maximum water height100 meters using inworld controls, 255 meters by using a *.raw file upload.• Region water height is usually 20 meters, and adjacent regions should have the same water height, or else they will look discontinuous.
Maximum terrain height255 meters using inworld controls (Region/Estate setting & Edit Terrain tool), 510 meters by using a *.raw file upload.
Miscellaneous estate limitsYou can have a maximum of 20 estate managers, 500 allowed Residents, 63 allowed groups, and 750 banned Residents.• See World menu > Region/Estate > Estate tab.
Maximum number of agents• Event Regions: 175 agents
• Full region: 100 basic account users plus 10 additional available to premium accounts. (Typically set to 40 on mainland, 55 on Linden Homes regions, but this does vary. Some meeting areas have this set to 60 and higher.)
  ◦ Recent server performance improvements make regions with 60 agents in them perform quite well.
• Homestead: 20 (plus 5 additional available to premium accounts)
• Openspace: 10 (plus 2 additional available to premium accounts)
llGetRegionAgentCount
Freeze TimeLand owners can freeze other Residents for up to 30 seconds. Members of land-owning groups can also be granted this ability.
Minimum parcel that can be listed in Places or All search144 meters²
Minimum parcel that can be listed in Events512 meters²
Maximum altitude for event listings768 meters (WEB-814)
Maximum heights that objects can be seen on the World Map400.005m
Maximum height that avatars will be hidden if ‘Avatars on other parcels can see and chat with avatars on this parcel’ is checked50m above the ground (see ‘Ban line height’ above)
Limit affectsLower limitUpper limitCommentMore coverage
Number of verticesn/a65536 vertices per LODper mesh - See discussion pagen/a
COLLADA file sizen/a8 MBMaximum mesh asset size after compression, roughly equivalent to a 256 MB Raw COLLADA file.n/a
Bone influence weights per vertexn/a4n/an/a
Bone influence weights per meshn/a110some folk have reported needing to go as low as about 99 in rare casesn/a
Number of materials per meshn/a8n/an/a
Number of materials per facen/a1n/an/a
Physics weight for a vehiclen/a32.0n/an/a
Maximum number of triangles for Animeshn/a100,000Server uses estimated triangles (streaming cost calculated), not visual triangles.Animesh_User_Guide, Animesh

Because of an apparent bug in the importer stay within these limits.

  • 174,752 triangles, beyond which additional triangles will appear as holes.
  • The 64k vertices per material is pre-empted by a limit of 21,844 triangles per material, which is presently reported as BUG-1001. (4/2014 - See discussion page)

The import process will continue making new materials beyond 8 x 21,844 (=174,752) triangles, but the extra triangles then get dropped by the limitation to 8 materials, causing holes in the resulting object. Over the 21,844-triangle limit, the vertex count will start to climb steeply, even with smooth shading, because the materials get highly interspersed. So the same vertices have to appear in multiple material lists. So, the moral of the story is to stay below 21,844 triangles per material, for now, if you want to avoid some unexpected effects.

Since viewer release 3.8.4, processing of meshes in the Collada file that have faces assigned to more than 8 materials has changed. Instead of simply dropping the extra material faces, the uploader now creates a new object to accommodate them. The result is that the single mesh is divided into multiple objects (prims) in a linkset. Thus, the limitation to 8 materials is removed as far as input is concerned, but still applies to each of the resulting linked objects actually uploaded. As a consequence, it is now possible to upload a mesh with more than 174,752 triangles, although it will be divided into multiple objects.

LimitValueNotesMore coverage
Billing and Trading LimitsIncludes LindeX currency exchange limits.Money
LimitValueNotesMore coverage
Absolute height limit2147483647 = 231 − 1 meters, which causes the altitude counter to roll over. Altitudes well below this cause graphics errors probably due to limited floating point number precision.The wiki shows a screenshot here: “Height counter error above 2147483647 meters”.
Highest z-value of an SLurl, that will still teleport you to a positive altitude4096• This used to be much higher, but is clamped in late model viewers.llMapDestination

Each 7-bit ASCII character is encoded in one byte. International characters might need more bytes. When pasting text instead of typing, you can get in one byte more into each of the below.

LimitValue
2nd Life tab’s About field65,000 bytes
Picks tab20 picks with 254 bytes title and 1023 bytes text each
1st Life tab’s Info field65,000 bytes
Classified tab100 listings with 30 bytes each
My Notes65,530 bytes
Feed post1024 bytes
Feed comment512 bytes
LimitValue
Healthy Viewer FPSGenerally, FPS equal to or above 24 is good. The higher it gets, the smoother*****. You can check via Advanced menu > Performance Tools > Lag Meter, or for more advanced usage, see Advanced > Performance Tools > Statistics Bar.
Avatar Rendering Cost scoresLearn all about it!

* Only until your framerate reaches your monitor’s refresh rate, after this point there will be very little benefit.

LimitValueNotesMore coverage
Height at which scripts reactivate on a no-script parcel50 m above terrain mesh. Scripted objects that take controls will keep running when you fly down or enter a no-script parcel. (If scripts are disabled in the region debug panel, they will not run at any height.)
Maximum height where scripts can runnone, as long as the object remains rezzed or attached.
Maximum script source code size65536 single byte characters (that’s a viewer limit and can be changed in the config file ‘panel_script_ed.xml’).
Maximum script memory size (LSO)16384 bytes.llGetFreeMemory
Maximum script memory size (Mono)65536 bytes (the maximum memory available to Mono scripts can be constrained via llSetMemoryLimit).llGetMemoryLimit, llSetMemoryLimit, llGetUsedMemory
Maximum memory for Linkset data key/value pairs128 KiBData Storage, llLinksetDataAvailable
Maximum memory for Experience key/value pairs128 MiBExperience
Maximum active listeners per script65.• Usable channel for each listener - min. -2147483648, max. 2147483647, including the following special channels: PUBLIC_CHANNEL and DEBUG_CHANNEL.llListen
Maximum number of scripts that can be rezzed at once1,000. (Refer to Building Tips, by Jeremy Linden.)

For specific scripting limits, look up calls in the LSL Portal.

Limit affectsLower limitUpper limitCommentMore coverage
Sound lengthn/aless than 30 seconds or precisely 1,323,000 samplesThe advice is typically to upload sounds less than 30.0 and that 29.99 seconds is fine. However if you do wish to be able upload sounds that are 30 seconds precisely then the .WAV file must have exactly 1,323,000 samples (44,100Hz * 30 seconds). Specifically anything above 1,323,000 samples fails to upload.Uploading Assets, Sound
Bit depthn/a16 bitn/an/a
Sample raten/a44.100 kHzn/an/a
Audio channelsn/a1 channel (mono)Channels will be merged at upload time for dual-channel (stereo) audio.n/a

Aspect ratios of profile, place, etc. pictures — all of these were measured at UI size (Edit menu > Preferences > General tab > UI Size) = 1.000:

Second Life Viewer 3.6

PictureAspect ratio
Search > Classifieds thumbnail~3:2 (101 × 69 pixels)
Search > Classifieds expanded~4:3 (159 × 120 pixels)
Search > Classifieds expanded > More Infonative aspect ratio
Search > Destination Guide thumbnail~3:2 (101 × 69 pixels)
Search > Destination Guide expanded~4:3 (159 × 120 pixels)
Search > People1:1 (100 × 100 pixels)
Search > Places expanded~4:3 (159 × 120 pixels)
Place Profile~3:2 (290 × 197 pixels)
About Land > Options tab~4:3 (195 × 150 pixels)
Profile > Picturenative aspect ratio; thumbnail cropped to 72 × 72 pixels; zoomed uncropped up to 300 × 300 pixels
Profile > Real world picturenative aspect ratio; thumbnail cropped to 45 × 45 pixels; zoomed uncropped up to 300 × 300 pixels
Profile > Picks thumbnail16:9 (516×~270 pixels as measured on screen; the ratio seems closer to 16:8.5)
Profile > Pick expandedUnknown as of 2022-11-13 (viewer 6.6.7.576223); the Pick image does not expand.

1.x Series Viewers

(official Viewer up to 1.23.5, still used by some Third Party Viewers)

PictureAspect ratio
Search > All for “Classifieds”, “People”, and “Places”4:3 (256 × 192 pixels)1
Search > Places and Classified tabs~7:5 (398 × 282 pixels)
Search > Land tab~7:5 (358 × 252 pixels)
Profile > 2nd Life tab~4:3 (178 × 133 pixels)
Profile > Picks tab16:9 (288 × 162 pixels)
Profile > 1st Life tab1:1 (133 × 133 pixels)
Profile > Classifieds tab~3:2 (206 × 137 pixels)
Profile > Web tab1:1 (400 × 400 pixels)
• A scrollbar uses 15 pixels on the right-hand side.
About Land > Options tab~3:2 (178 × 117 pixels)
Group Information > General tab’s “Group Insignia”1:1 (126 × 126 pixels)
LimitValueNotes
Maximum texture size2048 × 2048 pixels• All Second Life textures are constrained to powers of 2 (e.g., 128, 256, 512).
• We strongly recommend you use as small textures as possible because larger ones consume more memory and take substantially longer to load.
• Where large textures are being forced by import to only 512×512, lower your …> Preferences >…> UI Size under 1.0, to increase import size to the max 2048×2048.
Minimum texture size4 × 4 pixels• This means that there are ten possible image dimensions: 4, 8, 16, 32, 64, 128, 256, 512, 1024 & 2048 pixels, either horizontal or vertical.
Texture resizing• Uploaded textures will be resized to the dimensions above.
• Each dimension is resized independently (for instance, a 1024 x 999 image will be resized to 1024 x 1024).
• A dimension that is already a power of two will not be resized.
• The uploader “prefers” to round down rather than up. The threshold for rounding down/up is .75 of the distance between powers of two.
  ◦ For example, given a dimension of x, if x / 512 is larger than 1.75, x will be resized to 1024, else 512.
  ◦ Another example: If x / 256 is larger than 1.75, x will be resized to 512.

In general, 1 byte is enough to contain one character.2

Text using Unicode characters (including, but not limited to, emojis), where supported, will require 1–4 bytes (depending on the encoding).

Figures and caveats are as written on the wiki. Where one of our pages covers a limit, it is linked under More coverage; other links go to the live wiki.

Adapted from the Second Life Wiki page Limits (revision 1218965, 2026-07-26); history, by Second Life Wiki contributors, under CC BY-SA 3.0. Last wiki edit: .

  1. As of Mon, 26 Feb 2024 18:00:00 +0000, this seems to be one of the very few sizes supported by the Picture Service. ↩

  2. Except in .NET-based applications, and those related to .NET development — which is the case of the SL viewer — which essentially use UTF-16 everywhere, i.e., every character is encoded in two bytes, not just one. ↩