V7 Overview (BETA)

v7 beta documentation in progress. v7 beta documentation may be incomplete or inaccurate.
v7 functions and features may be significantly different from previous ACS versions.
These instructions are not valid for current v6+ ACS!

Also see: [v7 Main]

Overview for new users and users of earlier ACS versions

ACS v7 is based around a set of five main scripts (optionally four, if using Basic Sit) that are placed in your vehicle Root Prim.

You should first make sure your vehicle can drive around with these main scripts in place before worrying about adding on the optional systems of your choice.

There are a lot of options you can add to your vehicle by installing various optional systems. At first glance, this can appear confusing or complicated, but these additional add-on systems are not necessary for basic vehicle operation, and you only need to concern yourself with them when and if they are needed to add a function for a particular vehicle. Most users will only need to use a few of these systems, some are included for advanced builders or less-common circumstances.

Many vehicles for example have no need for custom graphics systems, and certainly not *all* of the possible ones you can install (though you can use them all if you wish). So don't be concerned about figuring out how those work unless you actually need to use them.

Additional systems such as one for lights require you to add another script to the root prim. For example with lights, that single script controls all prim light faces in the entire linkset, which could be assigned to headlights, turn indicators, brake lights etc. This kind of system eliminates the need to place individual scripts in each prim, and reduces the overall script load in a vehicle. You will find the same set up in place for various functions such as particles, doors, and the various graphics customization options.

Script Efficiency

Each ACS system communicates with and shares data with other ACS systems. This allows the scripts to be far more efficient on system resources than a collection of various un-related scripts.

For example, the door scripts respond to the lock and group access settings of the vehicle, as well as interacting with the light system for controlling interior lights in an automobile.

Linkset Coding System & Third Party add-on scripts

ACS v7 uses a proprietary coded method of data storage in prim descriptions. This makes it possible to change link numbers in the linkset without disrupting installed systems, as well as manage the assignment of multiple prim faces for different functions without the need for excess memory-storage scripts. This storage code is designed with future feature expansion in mind, so that vehicle prims used in v7 will retain compatibility with future upgrades.

If you do decide you need to use third party add-on scripts that also store data in a prim description, you can opt-out those specific prims from the built-in ACS system by adding the skip keyword to the specific prim name(s). However, doing so will prevent those specific skip prims from responding to some ACS systems, specifically ColorSystem, LightSystem, Fixtures, KCPaint, and PaintJob.

ACS Root Prim

ACS is designed around the concept of using an invisible, simple-prim-shape root prim for your vehicle.

Sometimes builders are tempted to "save" a link by using a visible component as a root prim, however these are some of the many reasons why ACS is best used with the suggested style of root prim:

  • In a mesh/high prim linkset, SL forces a root prim to always use the convex hull link shape. To greatly simplify the explanation, that means the less complex prim shape your root prim shape is, the less LI (Land Impact) score your vehicle uses.
  • Whatever avatar rezzes a root prim, is the name shown as the creator for the entire object. If you build your vehicle using prims created by other people, you will want to be the avatar that rezzes at least the root prim so your name will show as the object creator.
  • An invisible root prim can be re-sized and re-positioned inside a vehicle without disrupting the vehicle appearance. The size and position of your root prim have a great deal of influence on vehicle handling, so you do not want to be locked into the position of a visible root prim component in the object build. Part of tuning your vehicle performance will likely involve slight repositioning and possibly resizing of the root prim for best results. You can't do this if your root prim is for example, an engine component that cannot be moved out of position.
  • ACS systems use keywords in link names and stores data in link descriptions. The exception to this is the vehicle root prim, so that this "ugly" looking data is discretely hidden from view upon normal examination of the vehicle. This allows the builder to decide what appears in the object name and main object description. By keeping the root prim as a non-visible component, no visible parts are exempted from functionality that relies on prim description or prim name keywords.

Note to users of previous ACS versions

With every major update since v1.0, there have been some users that express preference for an older version. Newer versions do behave and respond differently, and it is understandable some people prefer their older version. In a specific vehicle, if you have finely tuned a version of ACS and tailored your build to near-perfect response, it may not make sense for you to update that particular vehicle to a newer ACS, as it may be difficult or impossible to tune it to the exact same response.

When the scripts change (for better or worse depending on your perspective), the same (or even default) settings that worked fine on a particular build previously will behave differently with new scripts. The same values entered in the Root Settings or changed through the Controls menu will have a different effect on one version to another. So, when first trying out a newer version, please keep in mind that some adjustments may be necessary.

Also worth noting is the advertised feature sets as sometimes change from version to version. I try greatly to carry over every feature set from previous script versions to appease as many users as possible, but on rare occasion something may get dropped from the feature line-up that leaves somebody disappointed. I try to be quick to respond to a loud chorus of disapproval from script owners with a patch that restores something, but there isn't always an easy fix.

The amount of scripts in a vehicle can have a great impact on vehicle performance, especially in a region with multiple vehicles in operation such as in a racing or biker region. This means there is a great deal of importance in minimizing the amount of scripts necessary for a vehicle, while at the same time adding or improving features and response.

It's fairly easy to continue packing on extra scripts for each desired function, which works technically but the result can be ultimately counter-productive, especially for script sensitive conditions such as region crossings. A great deal of script development time isn't simply stacking on unlimited new features, but arranging and improving existing ones and compacting the most essential combination of functions in as few scripts as possible.

Unfortunately that sometimes means I have make difficult judgement calls on letting something go. For users that purchased ACS because of a specific feature, be aware that you still have access to and can use the original version you purchased. The updates may be different and contain a different feature set, but script owners are not asked to pay for updates. The updates are optional, not required.

Specifically about ACSv7, you will likely see more scripts inside the root prim, but less scripts overall. v7 scripts are also memory capped, so in some cases, several v7 scripts may now end up with a lower script profile usage in your vehicle than a single older version ACS script.

Script count Examples comparing the same functionality between v6 & v7:
v6 vehicle: (5) root scripts, (2) brakelight, (2)indicators, (2)exhaust, (4) custom flight particles, (4) doors, (2) front wheel scripts 21 scripts total)
v7 vehicle: (8) root scripts (5 main root scripts + LightSystem, ParticleSystem, DoorSystem), (4) wheel scripts (12 scripts total)
result: v7 uses 9 less scripts than v6.
v6 vehicle: (5) root scripts, (2) custom burnout particles, (1) brake light script, (1) exhaust script (9 scripts total)
v7 vehicle: (7) root scripts (5 main root scripts + LightSystem, ParticleSystem.), (2) wheel scripts (9 scripts total)
result: v7 uses same amount of scripts as v6
v6 vehicle: (5) root scripts, (4) Prim Control scripts, (2) brake lights, (2) exhaust scripts, (4) custom burnout particles, (2) indicator lights, (4) flight particles, (4) wheel scripts, (2) door scripts (29 scripts total)
v7 vehicle: (9) root scripts (5 main root scripts + LightSystem, ParticleSystem, DoorSystem, TurnSystem) (9 scripts total)
result: v7 uses 20 less scripts than v6.

[v7 Main]