If you create things in Second Life and they use scripts, this change will affect you. The Le Tigre Release Candidate is currently running what one might call the Mono2 Bridge. The Lab currently has it labeled as Mono2-Aware. This is the part that integrates legacy scripting and the coming new Mono2 Scripting engine on the server side of things. So, how will this change affect script writers and script users?
Complex scripts that use various work-arounds may have problems. They could fail. Simple scripts that rely on depreciated functions/commands will likely have problems too. Linden Lab is doing all it can to avoid problems. But, it is impossible to anticipate and know everything that everyone has written into a scrip. So, problems are likely.
We desperately need better scripting in Second Life. The demand for better scripting will greatly increase as mesh comes to the main grid. The ability to use mesh with its custom tailored ability to apply texture will bring professional modelers into SL. Yes, we’ve had and have professionals here now. But, a modeler from WoW or EVE or Uru Live can feel very handicapped when trying to build for Second Life. Mesh is going to remove that handicap and make modeling for professionals and hobbyists using Blender/3DSMax/Maya much more enjoyable. Mesh will release a new level of creativity in Second Life. And with that wave of creativity will come a demand for better scripting.
Maestro Linden described Mono2-Aware at the February 17 Beta Server Office Hour Meeting. As maestro explains it we will not see any great performance improvements at this point. However, there is another branch of the Mono2 development that is about performance, Mono2-Performance is the Lab’s very witty label… 🙂 As one would expect, this branch has a load of performance enhancements.
The problem is Mono2-Performance will not run on older servers. A Mono2 compiled script fails, if rezzed in a region running on an old server. So the Mono2 Aware code will be tested then rolled to the main grid. One can suppose Mono2 Aware will catch a Mono2 compiled script and force a recompile to Mono. So, this awareness will allow Mono2 Performance to be rolled out on release channels and tested. The Mono2 Aware on other servers will catch problems when a Mono2 script wonders out on the main grid.
One of the nice things about the change to Mono2 is that current Mono scripts will not have to be recompiled. When a Mono script is rezzed in a Mono2 region, it will rez as a Mono2 script. So, there will be no additional check boxes to control how scripts compile. Save the script in an old region and it compiles as Mono. Save in a Mono2 area and it compiles as Mono2. Easy.
Additionally, if you have running scripts in a region, when the server a region runs on is upgraded the restart will convert the scripts to Mono2. So, once Mono2 Performance pushes across the grid we should just see performance improvements. There will be not need to re-rez all the scripts in a region to convert them. The conversion will be, hopefully, invisible. Things should just magically get better.
For most of us this upgrade will have little impact or require any effort. On the other hand, there are always surprises. Some scripts are likely to fail. It is impossible to know what strange things people have programmed into their scripts. Watch the Mono2 rollouts. When they reach the release channels take any scripts you are worried about to the release channel sand boxes and test them.