UnigineScript
UnigineScript is a programming language used in Unigine engine and introduced by UNIGINE Corp. for optimizing a project creation process. It is similar to C++ in syntax, but includes some additional features.
You can read more about syntactical differences between UnigineScript and C++.
The purpose of UnigineScript is to make coding easy-to-use even for junior programmers and at once provide the most optimal engine usage.
Why use UnigineScript?
- Close to zero compile time, therefore increased iteration speed
- Automatic memory manager with garbage collection
- Object-oriented programming
- Built-in fast 3D mathematics
- Easy interaction with C++ code
- Large built-in library (more than 5000 functions)
Which platforms have UnigineScript?
All the platforms supported by Unigine engine (Windows, Linux, Mac OS X), no recompilation is required.
What does an UnigineScript program creating process look like?
UnigineScript program can be written by using a plain text editor.
There are two ways of running UnigineScript programs:
- Via built-in UnigineScript run-time (by running an engine instance)
- Via any standalone CLI interpreter (usc) – the same way as .bat/.sh/.py scripts work
How do I get started with UnigineScript?
First you have to learn how to program in UnigineScript. Read The Language information and try tutorial. You probably will need an information about Core and Engine Libraries, High-Level Script and Script Debugging for extend UnigineScript features.
Learn about UnigineScript Programming Language, find out how to start writing programs in UnigineScript, work through the information and get from Novice to Expert.
Articles in This Section
- The Language
- Engine Library
- Variables
- Engine Functions
- engine Functions
- engine.app Functions
- engine.config Functions
- engine.console Functions
- engine.controls Functions
- engine.editor Functions
- engine.filesystem Functions
- engine.game Functions
- engine.gui Functions
- engine.materials Functions
- engine.memory Functions
- engine.physics Functions
- engine.profiler Functions
- engine.properties Functions
- engine.render Functions
- engine.sound Functions
- engine.splash Functions
- engine.system Functions
- engine.visualizer Functions
- engine.world Functions
- Node-Related Classes
- Node Class
- NodeDummy Class
- NodeExtern Class
- NodeExternBase Class
- NodeLayer Class
- NodePivot Class
- NodeReference Class
- NodeTrigger Class
- Bounds-Related Classes
- Objects-Related Classes
- Object Class
- ObjectBillboards Class
- ObjectDummy Class
- ObjectExtern Class
- ObjectExternBase Class
- ObjectGrass Class
- ObjectGui Class
- ObjectGuiMesh Class
- ObjectIntersection Class
- ObjectIntersectionNormal Class
- ObjectIntersectionTexCoord Class
- ObjectMeshStatic Class
- ObjectMeshCluster Class
- ObjectMeshClutter Class
- ObjectMeshDynamic Class
- ObjectMeshSkinned Class
- ObjectDynamic Class
- ObjectParticles Class
- ObjectSky Class
- ObjectTerrain Class
- ObjectVolumeBox Class
- ObjectVolumeOmni Class
- ObjectVolumeProj Class
- ObjectVolumeSphere Class
- ObjectWater Class
- ObjectWaterMesh Class
- Decals-Related Classes
- Field-Related Classes
- Lights-Related Classes
- Players-Related Classes
- Sound Nodes-Related Classes
- World Nodes-Related Classes
- WorldCluster Class
- WorldClutter Class
- WorldExpression Class
- WorldExternBase Class
- WorldExtern Class
- WorldIntersection Class
- WorldIntersectionNormal Class
- WorldIntersectionTexCoord Class
- WorldLayer Class
- WorldOccluder Class
- WorldOccluderMesh Class
- WorldOccluderTerrain Class
- WorldPortal Class
- WorldSector Class
- WorldSwitcher Class
- WorldTransformPath Class
- WorldTransformBone Class
- WorldTrigger Class
- GameIntersection Class
- Material Class
- Mesh Class
- Path Class
- Property Class
- Physics-Related Classes
- GUI-Related Classes
- Gui Class
- UserInterface Class
- Widget Class
- WidgetButton Class
- WidgetCanvas Class
- WidgetCheckBox Class
- WidgetComboBox Class
- WidgetDialog Class
- WidgetDialogColor Class
- WidgetDialogFile Class
- WidgetDialogImage Class
- WidgetDialogMessage Class
- WidgetEditLine Class
- WidgetEditText Class
- WidgetExternBase Class
- WidgetExtern Class
- WidgetGridBox Class
- WidgetGroupBox Class
- WidgetHBox Class
- WidgetHPaned Class
- WidgetIcon Class
- WidgetLabel Class
- WidgetListBox Class
- WidgetManipulator Class
- WidgetManipulatorRotator Class
- WidgetManipulatorScaler Class
- WidgetManipulatorTranslator Class
- WidgetMenuBar Class
- WidgetMenuBox Class
- WidgetScroll Class
- WidgetScrollBox Class
- WidgetSlider Class
- WidgetSpacer Class
- WidgetSpinBox Class
- WidgetSprite Class
- WidgetSpriteNode Class
- WidgetSpriteShader Class
- WidgetSpriteVideo Class
- WidgetSpriteViewport Class
- WidgetTabBox Class
- WidgetTreeBox Class
- WidgetVBox Class
- WidgetVPaned Class
- WidgetWindow Class
- Controls-Related Classes
- Pathfinding-Related Classes
- Plugins Library
- High-Level Systems
- Samples
- Objects
- billboards_00
- billboards_01
- billboards_02
- billboards_03
- cluster_00
- cluster_01
- dynamic_00
- dynamic_01
- dynamic_02
- dynamic_03
- dynamic_04
- dynamic_05
- gui_00
- gui_01
- gui_02
- gui_05
- gui_06
- gui_07
- clutter_00
- clutter_01
- clutter_02
- particles_00
- particles_01
- particles_02
- particles_03
- particles_04
- particles_05
- grass_00
- grass_01
- grass_02
- grass_03
- mesh_00
- mesh_01
- mesh_02
- Plugins
- Syncker
- Objects