Small Fish (and molusks)

Creatures that swim naturally in your water in Open Simulator.

Last updated May 2019
Shark, Stingray, Goldfish, Zebrafish, Clownfish, Guppy, School of Herring, Squid

Come see fish swimming in several of my regions in the Metaverse, where you will find many more autonomous critters that swim, fly or walk in interesting ways. Find links to my locations at


These fish (and molusks) will swim anywhere on your property that there is “Linden Water”. However, they will never repeat exactly the same path! A chaotic algorithm makes these fish behave in complex ways without being random. By default it will detect the edges of your parcel and stay inside them. It will not swim into the ground, out of the water or outside of the sim boundaries. You can also change the fish to one of 2 boundary modes: It will stay inside the parcel it is in or it will swim everywhere in the sim that it finds friendly permissions. The fish have four avatar modes, they will ignore, avoid, chase, or harrass them. (Harrass means to bump your avatar and push you arround). Sharks have an additional attack mode where they will bite, leaving blood in the water! The squid normally avoids avatars and swims away in a cloud of ink. These fish are normally a phantom object and swims through obstacles in its path. However, it has an “object avoid” mode where it attempts to detect objects in its path and turn away. When not avoiding an object or turning to stay in bounds, the fish will travel in a sinuous back-and-forth swimming path, but has an option for going in straight lines between boundaries. The combination of mesh, sculpts, flexies, beautiful photographic based texture maps and complex behavior makes these fish look incredibly realistic for only a few prims!

If rezzed above 100 meters, the fish will go into 'sky water' mode and swim up next to your skybox! In this mode it pretends that it is in a circular pond that is 10 meters in radius and 10 meters deep, centered around where it was rezzed. You can change these dimensions in the dialog. By default the fish assumes the prim it was rezzed on is the water level. You can set the water level precisely for your build with SkyWater from Ocean Engineering. This is a prim that broadcasts a water level used by boats, waves, surfboards and fish.

> I have several different fish species with different abilities. Sharks that bite, manta rays that flap, squid that zoom away in a cloud of ink and more species coming.

Controlling your fish:

Only the owner of the fish may control it, if other avatars touch it they will be ignored. Left-clicking on your fish brings up a dialog. The buttons in this dialog tell you the current mode of the fish, where it will swim, what it will do about nearby avatars and objects. Clicking on the buttons will cycle them to other modes, then the dialog will pop back up to show you the new mode. When you have all the modes the way you want, press the DONE button to make the dialog go away. The buttons in the dialog have the following meanings:
HELP This button sendd you to this document to remind you how to use your fish.
STOPED/SWIMMING While the fish is moving, the build dialog will not let you move it or rotate it. If you need to do this, click the SWIMMING button to switch to STOPPED. Then you can turn it to face another direction or move it to another pond. It is also more convenient to change other parameters while stopped.
AV IGNORE/AVOID/CHASE/ATTACK. One button cycles through 3 or 4 different avatar responses. Here is what each avatar mode means:
AV IGNORE: The fish will ignore avatars, perhaps swimming harmlessly through them.
AV AVOID: The fish will turn away from avatars. If you corner one it may swim harmlessly through you to get away.
AV CHASE: The fish will turn towards nearby avatars. It may pass harmlessly through an avatar. It will circle the avatar until you swim away or it is distracted by one of your buddies.
AV ATTACK: Only the shark has this mode. It is like CHASE mode, but when the shark passes close to you, blood will appear in the water!
OB IGNORE/OB AVOID. One button switches between two object modes. In IGNORE mode the fish ignores all objects in the water and swims through them. In AVOID mode, the fish *TRIES* to detect other fish and objects and avoid them. Due to the nature of objects in SL, this does not work perfectly and the fish will still pass through some objects.
CURVED ON/OFF The fish normally swims in a sinuous back-and-forth path, this is mode CURVED ON. Sometimes it is convenient to make the fish travel in straight lines and only turn at the boundaries. For example the Small Manta Ray looks more natural moving in straight lines, so this is the default mode for that fish. Mode CURVED OFF allows you to request the straitht-line behavior.
PARCEL/REGION One button switches between two different modes that determine where a fish is allowed to swim.
PARCEL In this mode the fish will stay inside the boundaries of the parcel that it is currently over. This is a convenient way to corral fish in a small area.
REGION In this mode the fish is free to try and swim everywhere in the current region. However, it can only cross onto other parcels if it has “Object Entry” and “Run Scripts” permissions when it crosses into a new parcel. Your fish can swim over other parcels if they have these perms set for all residents. Unfortunately, there is no way for the fish to tell if “Auto Return” is on in the new parcel and your fish may be in danger of being deleted.
The following 5 buttons only appear when the fish is rezzed in sky-water mode (above 100 meters).
RADIUS+/-1 Sets how far the fish will swim around the point it was rezzed. Each time you press one of these buttons, the radius is increased or decreased by one. Then the dialog pops back up to allow you to quickly step the radius up or down again. When you are done, press the DONE button.
DEPTH+/-1 Sets how deep the fish will swim below the water level. Each time you press one of these buttons, the depth is increased or decreased by one. Then the dialog pops back up to allow you to quickly step the depth up or down again. When you are done, press the DONE button.
CENTER When you rez a fish at SkyWater altitudes (100 meters or more above the ground) it remembers that starting location and swims around that spot(according to the RADIUS and DEPTH). If you want to change the center point, set the fish to STOPPED, drag it to the new center point with the build tools, click on CENTER in the dialog to set the new center point, then set the fish to SWIMMING again.

Getting started:

When you buy a fish it arrives in a folder in your inventory. The name of that folder depends on the species of fish you bought. “Goldfish”, “Zebrafish” “Clownfish”, etc. Inside that folder will be one fish object and a copy of this document for reference.

Before you release a fish you should be in or near the water on your property. The fish may work in water that is not your property if the land permissions are friendly. Drag a copy of the fish out of inventory into the water. It will immediately start to swim and will probably turn and try to swim towards you. Left-click on the fish at any time to bring up the dialog and change its behavior.

Lag Issues:

This Swimming fish is a non-physical object which is naturally low lag. Every effort has been taken to minimize other potential lag issues. It updates its direction only once a second. AVOID and CHASE modes are more laggy, so turn these off if you are concerned. The fish use mesh and sculpts to lower the prim count to an amazingly low number. This helps decrease lag on the sim, unless you abuse it by rezzing too many fish.