UnrealScript
Paradigm | Object-oriented, generic |
---|---|
Developer | Tim Sweeney |
First appeared | 1998 |
Typing discipline | Static, strong, safe |
OS | Cross-platform (multi-platform) |
Filename extensions | .uc .uci .upkg |
Website | udn.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
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
- IDEs
- WOTgreal - Integrated development environment for UnrealScript
- nFringe - A Microsoft Visual Studio plug-in for UnrealScript[3]
- Unreal Writer - A basic UnrealScript editor for Mac OS X[4]
- Unreal Script IDE A UnrealScript IDE using Microsoft Visual Studio shell
- Unreal X-Editor - A Free UnrealScript Editor[5]
- Unreal Script Wizard - A Free Unreal Script Wizard
- UnrealScript IDE for Sublime Text 2 - A Plugin for Sublime Text 2
- Unreal Sed - Free IDE for Unreal, Unreal 2, UT, UT2003, UT2004, UT3 and UDK.
- 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
- Unreal Developer Network - The official wiki
- UnrealWiki - The unofficial wiki
References
- ^ "UDN - Three - UnrealScriptReference". Udn.epicgames.com. Retrieved 2013-06-26.
- ^ "UDN - Three - MakingACommandlet". Udn.epicgames.com. Retrieved 2013-06-26.
- ^ "Tools:nFringe - Pixel Mine Games Wiki". Wiki.pixelminegames.com. 2009-04-05. Retrieved 2013-06-26.
- ^ "Downloads". Apple. Retrieved 2013-06-26.
- ^ "Unreal X-Editor | Free Script Editor for Unreal Development Kit (UDK)". Unrealxeditor.wordpress.com. 2013-04-29. Retrieved 2013-06-26.
- ^ "UDN - Three - UnCodeX". Udn.epicgames.com. Retrieved 2013-06-26.