Jump to content

UnrealScript

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 213.22.225.7 (talk) at 01:15, 30 March 2013 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
UnrealScript
ParadigmObject-oriented, generic
DeveloperTim Sweeney
First appeared1998
Typing disciplineStatic, strong, safe
OSCross-platform (multi-platform)
Filename extensions.uc .uci .upkg
Websiteudn.epicgames.com
Influenced by
C++, Java

UnrealScript (often abbreviated to UScript) is the scripting language of the Unreal Engine and is used for authoring game code and gameplay events. The language was designed for simple, high-level game programming.[1] The UnrealScript interpreter was programmed by Tim Sweeney, who also created an earlier game scripting language, ZZT-oop.

Similar to Java, UnrealScript is object-oriented without multiple inheritance (classes all inherit from a common Object class), and classes are defined in individual files named for the class they define. Unlike Java, UnrealScript is case-insensitive, and does not have object wrappers for primitive types. Interfaces are only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supports operator overloading, but not method overloading, except for optional parameters.

By making the process of modifying the game easier, UnrealScript helped enable the growth of a large modding community around Unreal. This greatly added to the overall longevity of Unreal and provided an incentive for new development.

Syntax

Code comments

File:Unreal X-Editor v3.0.png
Unreal X-Editor showing syntax highlight using one of the in-built color scheme.

UnrealScript uses two commenting styles, a single-line comment (beginning with // until the end of the line) and a multi-line comment (delimited by /* and */).

// Single-line comment
class Foo extends Object;

/* Multi-line
   comment */
var Object Foo;

Functions

UnrealScript uses functions similar to C/C++. Functions are declared by the keyword: function, the return type: int, the name: example_function, and finally the function parameters enclosed in parenthesis: (int example_number).

The body is enclosed in brackets: { example_number = 5; }.

Before the final bracket, a return function can be called, returning the a value to the original caller.

function int example_function (int example_number)
{
   example_number = 5;
   return example_number;
}

This function takes the integer example_number, changes its value to 5, then returns its value to the caller.

"Hello, world" example

The following is a hello world example using the syntax of UnrealScript.[2]

class HelloWorld extends GameInfo;

event InitGame( string Options, out string Error )
{
    `log( "Hello, world!" );
}

The following text will be printed to the output console when HelloWorld is initializing:

Hello, world!

See also

Template:Multicol

IDEs

Template:Multicol-break

Utilities
  • UnCodeX - An application to browse source code of UnrealScript[6]
  • UTPT - An application to decompile, and export sounds, textures, and meshes from Unreal Engine 1, and 2's packages
  • UE Viewer - An application to export sounds, textures, and meshes from Unreal Engine 1, 2, and 3's packages
  • UE Explorer - An application to decompile UnrealScript from Unreal Engine 1, 2, and 3's packages

Template:Multicol-end Template:Multicol

Other

Template:Multicol-end

References