UnrealScript

From Wikipedia, the free encyclopedia
UnrealScript
Paradigm(s) Object-oriented, generic
Appeared in 1998
Developer Tim Sweeney
Typing discipline Static, strong, safe
Influenced by C++, Java
OS Cross-platform (multi-platform)
Usual filename extensions .uc .uci .upkg
Website udn.epicgames.com

    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

    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;
    

    Data types

    Primitive types

    • Bool - A boolean that allows the values true, and false, which is the same as 1, and 0
    • Byte - A 8Bit Unsigned integer value that may range from 0 to 255
    • Enum
    • Float
    • Int - A 32Bit integer value that may range from -2147483648 to 2147483647
    • Name - A more restricted version of String, only allowing the following characters ([a-zA-Z0-9_\- ]*) as expressed in regex. e.g. 'name_example'
    • String - A series of Unicode characters such as "A B C"

    Reference types

    • Class
    • Delegate
    • Interface
    • Object
    • Pointer

    Composite types

    • Array
    • Struct

    Functions

    UnrealScript uses functions similar to C/C++/Java. Functions are declared by the keyword: function, followed by an optional return type, its required name, and finally its function parameters.

    The declaration of a function can look like this:

    [modifiers] function [[modifiers] datatype] name( [parameters] ) [const]; the semicolon is only necessary if the function has no body.

    An example of a very simple additive function in UnrealScript:

    function int Add( int a, int b )
    {
        return a + b;
    }
    

    "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
    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
    Other

    References

    1. "UDN - Three - UnrealScriptReference". Udn.epicgames.com. Retrieved 2013-06-26. 
    2. "UDN - Three - MakingACommandlet". Udn.epicgames.com. Retrieved 2013-06-26. 
    3. "Tools:nFringe - Pixel Mine Games Wiki". Wiki.pixelminegames.com. 2009-04-05. Retrieved 2013-06-26. 
    4. "Downloads". Apple. Retrieved 2013-06-26. 
    5. "Unreal X-Editor | Free Script Editor for Unreal Development Kit (UDK)". Unrealxeditor.wordpress.com. 2013-04-29. Retrieved 2013-06-26. 
    6. "UDN - Three - UnCodeX". Udn.epicgames.com. Retrieved 2013-06-26. 

    External links

    This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.