Space Engineers – How to Setup Pilot Assistant System

Space Engineers – How to Setup Pilot Assistant System 1 -
Space Engineers – How to Setup Pilot Assistant System 1 -

Welcome to this post In this guide, we will tell you everything about Space Engineers – How to Setup Pilot Assistant System Follow this guide step by step.

This is a comprehensive tutorial on configuring and using HELLBENT’s Pilot Assistant System – PAS.

General Setup


Pilot Assistant System β€” Script Setup Guide



Used Terms

* β€” This setting can be changed in the Custom Data of the program block.

General Setup

To begin with, when you start the script, it will tell you what you need to do. All you have to do is to follow the instructions on the screen. Here is a detailed interpretation of the instructions:

Two blocks are sufficient to set up the PAS: the Programming Block and the Ship Control Block (remote control or pilot seat). These blocks must be placed on the main grid. Secondly, the Ship Control Block must be appropriately oriented, i.e. the forward and upward directions of the block and the ship must match. Also, this block must have a tag in its name: default Autopilot*

Next, you need to calibrate the sea level altitude: You can take any size you want, but it is recommended to take the average or lowest height of the terrain on the planet. You won’t have to choose if Water Mod – [] is installed on the server. Position the airplane at the selected sea level and execute the CALIBRATE argument (case is unimportant). In this way the altitude will be written, which will later be considered zero.

The script does not require all other blocks to exist, but you would benefit from having at least one gyroscope and, if possible, a thruster on board. PAS also detects blocks on subgrids connected by a rotor or hinge, but not a connector. All gyroscopes will be used by default, and to specify which thruster on a subgrid can be used, mark the appropriate block with an “Include” tag. Every 10 seconds PAS will automatically check for new blocks or changes to existing partnerships.

Script Settings

In the Custom Data of the program block you will find intuitive variables available to change, such as: script mode, tag names for blocks, call signs and radio channels, speeds, altitudes, angles, use of additional functions.

You should probably know some aviation terms to understand things properly. Everything is in public access, explore πŸ™‚

It is not recommended to touch the Storage tab unless you know what you are doing.

Available arguments

Available arguments

Here is a list of arguments with a brief description. See below for a full description. The views are not case-sensitive.

Remember that all arguments can be executed via a timer, making it much easier to automate your planes fully.

One-word arguments:

  • n – an integer [0, ∞]. Specifies the current point number in the route being used.
  • NEXT – moves the current route point number forward by 1.
  • PREV – moves the current waypoint number backward by 1.
  • STOP – stops active tasks, (this function can also be called by pressing SPACE 3 times, if you are sitting in any of the seats that can control the airplane).
  • TOGGLE – stops/enables the script entirely.
  • RECOMPILE – restarts the script without having to click Recompile in the interface.
  • CALIBRATE – calibrates sea level. The current altitude becomes zero.
  • RECORD_POINT – writes current location, altitude, and speed in waypoint format to a block tagged Waypoints*
  • REPEAT, REPEAT_ON, REPEAT_OFF – toggles, switches on/off the route repeat when the last waypoint is reached. The route will start from waypoint 0.
  • AUTOPILOT, AP_ON, AP_OFF – toggles, switches autopilot on/off.
  • CRUISE, CRUISE_ON, CRUISE_OFF – toggles, switches cruise control on/off.
  • BRAKES – Toggles the brake on the subgrade wheels.
  • TAKEOFF – automatic takeoff by ILS (if available), or just forward launch.
  • LAND – automatic landing by ILS.

Two-word arguments (separator – SPACE):

  • LAND ils-callsign – automatic landing on selected ILS signal.
  • TAKEOFF ils-callsign – automatic takeoff from selected ILS signal.
  • IMPORT block-name – imports a route from Custom Data of a block with selected name.
  • EXPORT block-name – exports a way to Custom Data of a block with a selected name.
  • BUILD point-name – builds a route from the current location to the selected point (the name of the point is searched in Custom Data of the Waypoints* block)
  • BUILD_CIRCLE point-name – builds a route that completely circles the planet away from the current location to the selected point (point name is searched in the Custom Data of the Waypoints* block).

Three-word arguments (separator – SPACE):

  • LAND point-name point-name – automatic landing on a runway defined by two points on a start-to-end basis, (the name of the points is searched in the Custom Data of the Waypoints* block).
  • TAKEOFF point-name point-name – automatic takeoff from a runway defined by two points on the “start to end” principle, (the name of the points is searched in the Custom Data of the Waypoints* block).
  • BUILD point-name point-name – builds a route from point to point based on the “start to end” principle, (the name of the points is searched in the Custom Data of the Waypoints* block)
  • BUILD_CIRCLE point-name point-name – builds a route that completely circles the planet in the point-to-point direction, (the name of the points is found in the Custom Data of the Waypoints* block)





Text panels and LCD:

The following data displays are available: Navigation, Avionics, TCAS, and Status.

The first three are specified by tags to be entered into the Custom Data of the display or block that contains the collections (e.g. pilot seat or cockpit). The fourth display is the program block display, it shows hints, errors, and basic information; this display cannot be reprogrammed.

To select the desired display, you must write the following in Custom Data: PAS_ tag and a display tag such as Nav_ (case sensitive, underscores are required).

So if you selected a single display, for example, the command in it would look like this:



If you want to add information to a cockpit with multiple displays, you write the same thing, but add the display number at the end (the count starts at zero).


Thus avionics will be shown on the second display, navigation on the first and TCAS on the third.

Working with routes


To store waypoints, the script allocates a block with the Waypoints* tag – it can be any terminal block (i.e. it has a Custom Data field).

You can store GPS tags in this block as they are copied in the game. Make the name of the GPSs in one piece, without spaces. The script will look for this name when selecting a point.

Also, the route point will be written to this block when executed with the RECORD_POINT argument (it will be written in route point format).

Working with routes: Point Syntax

All route points are written in this format: Operation type ; data for the operation.

Let’s look at all 4 types of operations for route points and how they can be written. Punctuation marks are important and must be strictly in the right order. If the timer name is set to default, the timer will not be searched. If the ILS name is set to default, the airplane will select the closest ILS (based on distance to the start of the runway). If any values are set to zero, the autopilot will set the base* values of these variables when operating in real-time:

GoToPoint – Follow to point. Records the type of operation, coordinates, altitude in meters, speed in m/s, and a timer that will be triggered when the point is reached.

GoToPoint;X,Y,Z;Altitude;Velocity;Timer Name

Takeoff – Takeoff. Records the type of operation, ILS callsign, timer name, or coordinates and timer name. Can be recorded in four variations:

Takeoff;ILS callsign
Takeoff;ILS callsign;Timer name.
Takeoff;X, Y, Z;X, Y, Z;Timer name.

Landing – Landing. Records type of operation, descent gradient (angle in degrees between runway plane and glide path), ILS callsign, timer name or coordinates, angle, timer name.

Four variations:

Landing;Angle;ILS callsign
Landing;Angle;ILS callsign;Timer Name
Landing;X, Y, Z;X, Y, Z;Angle;Timer Name

Wait – Waiting. Records the type of operation, wait time in seconds, and timer name.

Three variations:

Wait;Time;Timer name


Working with routes: Editing a route

The route must be written in Custom Data of the block from which you are going to export it (Import to PAS).

To build a route, just specify its name in the first line of the text box, and then add one operation to each new line. Example:

My Route
GoToPoint;123, 456, 789;1200;100;MyTimer
Landing;234, 345, 456;567, 678, 789;3

The route will be executed in order from zero to the last point. If route repeat* is enabled, the route will start from the zero point when the last point is reached. If repeat* is disabled, the autopilot will finish.

Zero point is a point located on the second line of the text field with the route, (the first line contains the route name, it is not considered as a point).

Working with routes: Route management

A script may store one route in its program block’s Storage text field for later retrieval by itself; players cannot access this field. Utilizing its Custom Data functions, one may import or export their route. IMPORT and EXPORT arguments allow this option.

When the autopilot is disengaged, the Nav display displays the current route’s name and its waypoint number.

When the autopilot is active, information such as route name, point number, total distance traveled/remaining distance and current point is displayed, along with the type of operation being conducted and any relevant details – for instance, if the landing is underway, its altitude will be shown (and possibly callsign if applicable).

Working with routes: Route Generator

Once a BUILD argument is executed, the generator will create a route between selected points.

This includes climbing and descending (with rates depending on maximum pitch angle* and velocity V2) as well as echelon flight where base speed and altitude settings can be altered during flight (though rebuilding afterward would be recommended to accommodate any new climb/descent settings), landing at its endpoint as well as taking off at its beginning (if an aircraft was on the ground when generated).

BUILD_CIRCLE is a lightweight version of the generator; it creates a circular route around Earth with similar settings and features, except without climb and descent, takeoff/landing, or take-off. Cruise control users may also utilize this function, however, this route won’t be recorded in Storage.

  • Note – that any route can always be exported, revised, and imported back. When autopilot is activated, its script begins running with the loaded course; and will resume when the world restarts.

Cruise control

Cruise control

A simple function provides course, altitude, and speed hold.

In cruise control, player control is available: You can increase or decrease speed by pressing W/S; Increase or decrease altitude by raising or lowering the nose; Change course by turning the airplane left or right.

Overwriting this data works independently for each of the three types of changes so that adjustments are as user-friendly as possible.

In the “Storage” tab in the Custom Data program block, you can manually set the desired speed* and altitude* of flight.

The cruise control route is not stored in memory. However, the cruise control will continue to operate when the world is restarted.

Takeoff, Landing, Go Around, etc.


The autopilot can use takeoff when reaching the appropriate point or by the player at any time. The difference is that when the world is restarted, takeoff will continue if the autopilot was enabled, BUT, will be disabled if it was active as an auto-takeoff at the player’s command.

Takeoff Rules:


If no ILS signal is found, the takeoff will continue in the forward direction. If the runway direction at the ILS signal differs from the airplane’s direction by more than 90 degrees, the runway will be ignored and takeoff will continue in the forward direction. Also, the runway will be ignored if the ship control block is further than 50 meters from the runway vector.

If the runway matches, the script stores its coordinates in temporary memory until it completes the task or is stopped.

During takeoff:.

Takeoff will occur after the VRotate* speed has been passed.

The landing gear will be retracted (if the Landing Gear service is enabled) after reaching 25 meters above the runway.

After liftoff, the takeoff will take place at a speed of V2*

The takeoff will be completed at 100 meters above the runway.

GPWS operation is available during takeoff but only after liftoff.


The autopilot can use landing when reaching the appropriate point or by the player at any time. The difference is that when the world restarts, the landing will continue if the autopilot was enabled, BUT, will be disabled if it was active as an auto-landing at the player’s command.

Landing Rules:


The runway will be ignored (in the case of ILS) if its end is further away than the specified limit*

If the runway matches, the script saves its coordinates to temporary memory until it completes the task or is stopped.

During landing:.

The airplane will enter the glide slope with an angle* set by you and will descend at speeds from minimum*, at medium*, and to maximum*. If the airplane misses the glideslope, a Go Around will be initiated (see paragraph GoAround).

The landing gear will be released if the Landing Gear service is enabled.

If the airplane successfully reaches the runway, it will increase pitch to positive and smoothly touch the ground.

Next, braking will begin. Reverse thrust if available, air brake if available, and the ship control block wheel brake on the main grid will be engaged. If the Landing Gear service is enabled, the landing gear will also be involved for braking.

The landing will be completed when the relative runway speed is less than 10 m/s.

TCAS (for approach prioritization only) and GPWS services are available during landing.


They executed when a runway approach is unsuccessful or if there is another aircraft with a higher priority. The airplane turns around to the opposite side of the runway and will maintain last speed and altitude. If the approach is unsuccessful, the aircraft will turn to the runway at the beginning of the glide path, but no further than 7.5 kilometers from the runway. If there is a higher priority aircraft, the current aircraft will fly within 2 to 4.5 kilometers of the runway until the first aircraft lands/disappears.


.This function is called if a runway was not found during an ILS landing. The airplane will fly between the last two points, maintaining the last altitude and speed, until the runway appears or until it runs out of fuel.

Speed control, angles, rate of turn

The script controls the airplane’s speed by controlling the engines and air brakes.

The script controls maximum roll* and pitch* and prevents more than 5 degrees deviation.

The script controls the maximum rate of roll*, pitch* and yaw*.

Changing the modifier* of the rate of change of angles is possible, but the final speed will not be higher than the maximum limited speed.




Landing Gear:

This service allows the script to control the release/retraction of the landing gear and the wheel brake.

You must build the landing gear, as it is part of your airplane.

The script looks for a timer with the tag Landing Gear* and any function block (ability to turn on/off) with the tag LG_Indicator*. The script needs the indicator block to understand the current state of the landing gear. The indicator block is NOT controlled by the script, but by a timer with the above name. It is necessary to add the indicator to the timer with “On/Off” action.

If the landing gear is released, the indicator should be on; if retracted, it should be off.

Remote Controls with the Landing Gear* tag must be installed on their grids to use the brake on subgrid landing gear. The script will engage and disengage their handbrake. This can also be controlled with the BRAKES argument.

“Warning System”

It consists of two types of blocks: sound blocks and lights. (You can use one or all of them at once, the number of blocks is unlimited).

The PAS* tag detects the blocks

The system plays different sounds and changes the color of the lights depending on the action.

Signal Type Sound Color Number of plays
Gear: retract Alert1, Alert2 Yellow, Blue 1, 1
Gear: release Alert1, Alert2 Yellow, Green 1, 1
Brake: On Alert2, Alert1 Bright Yellow, Orange 1, 1
Brake: off Alert1, Alert2 Bright Yellow, Dark Green 1, 1
Stop (Via SPACE) MusFun Gold 3
Automation: stop Alert1 Red 4
Automation: start Alert2 Bright Green 2
Objective Complete ObjectiveComplete Lime 1
“Good” Alert Alert2 Yellow-Green 10
“Bad” Alert Alert1 Orange-Red 10
GPWS Alert MusComp_08 Red 8



Traffic alert & Collision Avoidance System – operates in two modes* (information is transmitted via antenna blocks):

In flight – scans TCAS signals from other PAS-controlled aircraft within a 5-kilometer radius. Decides whether to separate aircraft to different echelons if their altitude difference is less than 200 meters. The decision is made regarding aircraft priority, speed, and direction. Several airplanes can be involved in the conflict, the effect of altitude correction is cumulative.

On landing – scans TCAS signals from other PAS-controlled aircraft about to land on the same runway as the current aircraft. Decides to prioritize the approach relative to the priority of the aircraft and their distance from the runway. Multiple aircraft may be involved in a conflict, and the effect of the queue is cumulative.


.Ground Proximity Warning System – can operate in two modes*: flight and landing. They are no different, but are separated to allow you to disable one of them if you don’t need it.

GPWS decides whether the aircraft needs to gain altitude based on the following factors: Surface Approach Velocity, Vertical Velocity, Altitude Above Ground and Sea Level, and Time to Potential Impact.

If the decision is favorable, the airplane nose up to the maximum pitch angle* until it passes the conflict altitude limit (the limit and other values change dynamically).



  • PAS Instrument Landing System operates via antenna blocks and has two modes. Receiving–when conditions permit, aircraft will seek a signal for this system from a block on the runway that transmits callsign* of the runway and two start/endpoints.
  • Sending – each program block on a runway broadcasts their callsign* and start-to-stop coordinates, while to set up an ILS transmitter you must:
  • Launch PAS into ILS mode* by setting its Custom Data => workmode (Plane or ILS)=ILS and configuring any two terminal blocks which will transmit coordinates. Within their Custom Data fields, add tags RW_Start*
  • and RW_Stop* accordingly.Set two callsigns* for the same runway, each distinguished by 180-degrees directional difference.
  • In this mode, you can also add a text panel using the Flights_ tag in Custom Data that displays all flights that are visible to the program block; visibility depends on whether antennae on airplanes are turned on and whether TCAS is activated on them.
  • Your aircraft carrier or any other mobile base can easily accommodate ILS installation.



The transponder is not a function, but combines the operation of all communication systems such as TCAS or ILS.

The transponder has several settings:

  • Callsign* – the name of the aircraft or ILS transmitter on the network.
  • Channel* – the channel on which TCAS data is transmitted.
  • ILS Channel* – the channel on which ILS data is transmitted.
  • Priority* – the priority of the aircraft on the network (the lower, the better).


If you want to support me with coin, here’s a link to Ko-fi: – []

And my YouTube channel – []

I’m glad you found the Space Engineers – How to Setup Pilot Assistant System article interesting. Leave a comment below pointing out any errors you found or making any suggestions for how we can make the post better, and we’ll do our best to get to them as soon as we can. Enjoy the rest of your wonderful day! I feel it’s important to give credit where credit is due, so I’d like to point out that this tutorial was inspired by a post that [HELLBENT] published. Also, if you like the post, don’t forget to add this website to your bookmarks; we publish new posts every day with additional material, so be sure to check back with this website on a regular basis for more posts.

Be the first to comment

Leave a Reply

Your email address will not be published.