Limits

Summary

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:

The simulator's job is to:

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.

Important: The scope of this page is focused on Linden Lab's official Viewers, keeping in mind 3rd-party viewers may differ. Cite sources and provide substantiation for limits that aren't provided by Linden Lab. Also, unconfirmed speculation goes on this discussion page. Don't add data without a hard limit, and don't add obscure trivia that doesn't practically affect the general inworld experience.

Avatar

Animation

Limit affects Lower limit Upper limit Comment More coverage
Length of animation n/a 60.0 seconds Limited by length or Size, whichever is reached first n/a
Size of Animation n/a 250,000 bytes Limited by length or Size, whichever is reached first. Size is after conversion to .anim.
Tip for Blender users: You can use a built-in function called "Decimate" to simplify your animation. See this tutorial
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 priority 0 .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 animation n/a 216 .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 playing n/a 30 n/a n/a

Building

Limit affects Lower limit Upper limit Comment More 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.238770 llSetScale, PRIM_SIZE and Megaprim
Number of prims in a linkset n/a 256 prims Used to be 255 prior to Second Life Server version 1.26 n/a
Linking distance n/a 64 meters distance has changed on 2023.06 update. The old max distance was 54 meters. n/a
Local offset (avatars) n/a 1000 meters per axis Unlike 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 object n/a 32.0 Additional 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 height n/a 4096.0 meters 768.0 meters for Viewers prior to version 1.20 n/a
Prim name length n/a 63 bytes UTF-8 string same limit for avatar names, although the character set for avatar names is significantly limited. n/a
Prim description length n/a 127 bytes UTF-8 string n/a n/a
Temporary prims' lifetime n/a up to around 60 seconds depends upon when the next garbage collector cycle is n/a
Number of temporary prims n/a RegionPrimLimit - NumberOfPrimsInRegion + Minimum(0.5*RegionPrimLimit, 1000) n/a n/a
Length of hovertext n/a 254 bytes UTF-8 string n/a llSetText and PRIM_TEXT

Lighting

Limit affects Lower limit Upper limit Comment More coverage
Number of active light sources n/a no limit Advanced Lighting Model (ALM) was developed around 2011-2013 to remove the hard limit on light sources.
Number of projectors rendered at full detail n/a 2 Only the 2 projectors closest to an object will cause it to cast shadows. Additional projectors still affect color. Knowledge Base > Lighting > Projectors
Number of lights rendered on Alpha Blended surfaces n/a 8 8 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

Communication

Limit affects Lower limit Upper limit Comment More coverage
Whisper distance n/a 10 meters /whisper as the first few characters in a message can be used in viewer-2-code based viewers in local chat. n/a
Chat distance n/a 20 meters text spoken as a "chat" step within gestures cannot be shouted or whispered. /whisper and /shout can be used in the "Replace with" field. n/a
Shout distance n/a 100 meters /shout as the first few characters in a message can be used in viewer-2-code based viewers in local chat. n/a
Length of a chat message and whether or not it is truncated 1 byte or single-byte character 1024 bytes or single-byte characters Limit 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
Maximum events n/a 64 events Events are stored in a 64 bit bitmap. Events happening when the bitmap is full, will get discarded. n/a
Number of offline messages n/a Capped 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 IM n/a 1023 bytes or single-byte characters n/a n/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/a Second Life Blogs
Time period for which IMs are stored within Second Life. n/a 31 days after receiving the IM Torley Linden confirmed this with Kelly Linden n/a
Number of IMs sent by an object within an hour n/a 5000 per hour n/a n/a

Gestures

Limit affects Lower limit Upper limit Comment More coverage
Shortcut key mappings n/a 33 unique combinations, since F2F12 can be used with the Ctrl or Shift ⇧ modifiers. n/a All_keyboard_shortcut_keys and the knowledge base
Chat step length n/a 127 bytes or single-byte characters n/a n/a
Wait time n/a 3600 seconds (which is one hour) n/a n/a
Maximum steps data n/a 1000 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/a n/a
Length of included assets n/a see sections for animation, sound n/a n/a

Groups

Inventory

Land

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"))

Mesh

Limit affects Lower limit Upper limit Comment More coverage
Number of vertices n/a 65536 vertices per LOD per mesh - See discussion page n/a
COLLADA file size n/a 8 MB Maximum mesh asset size after compression, roughly equivalent to a 256 MB Raw COLLADA file. n/a
Bone influence weights per vertex n/a 4 n/a n/a
Bone influence weights per mesh n/a 110 some folk have reported needing to go as low as about 99 in rare cases n/a
Number of materials per mesh n/a 8 n/a n/a
Number of materials per face n/a 1 n/a n/a
Physics weight for a vehicle n/a 32.0 n/a n/a
Maximum number of triangles for Animesh n/a 100,000 Server uses estimated triangles (streaming cost calculated), not visual triangles. Animesh_User_Guide

User Found Temporary Mesh Limits:

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


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.

Misc.

Navigation

Height counter error above 2147483647 meters

Profile

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.

Performance

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

Scripting

Sound

Tip: Second Life will accept sounds that are encoded following "CD Quality" encoding presets present in many DAWs.
Limit affects Lower limit Upper limit Comment More coverage
Sound length n/a less than 30 seconds or precisely 1,323,000 samples The 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
Bit depth n/a 16 bit n/a n/a
Sample rate n/a 44.100 kHz n/a n/a
Audio channels n/a 1 channel (mono) Channels will be merged at upload time for dual-channel (stereo) audio. n/a

Textures

Second Life Viewer 3.6

1.x Series Viewers

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

All Viewers

Notes

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).


  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.