# AngelScript

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/AngelScript
> Markdown URL: https://mediated.wiki/source/AngelScript.md
> Source: https://en.wikipedia.org/wiki/AngelScript
> Source revision: 1345150012
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Game oriented compiled scripting language

AngelScript Paradigm Multi-paradigm: scripting, imperative (procedural, object-oriented) Developer Andreas Jönsson First appeared 2003 Stable release 2.38.0 / August 8, 2025; 10 months ago (2025-08-08) Typing discipline static, strong OS Cross-platform License zlib License Website angelcode.com/angelscript/ Influenced by C++

**AngelScript** is an [open-source](/source/Open-source_software) game-oriented [compiled](/source/Compiler) [scripting language](/source/Scripting_language) developed by Andreas Jönsson at AngelCode.

AngelScript features static [typing](/source/Type_system), [object handles](/source/Handle_(computing)) (similar to [C++](/source/C%2B%2B) pointers but garbage collected via [reference counting](/source/Reference_counting)), [object-orientation](/source/Object-oriented_programming), single [inheritance](/source/Inheritance_(object-oriented_programming)), [multiple inheritance](/source/Multiple_inheritance) with [interfaces](/source/Interface_(object-oriented_programming)). It allows operators to be registered and [overloaded](/source/Operator_overloading). AngelScript can be used with any C++ IDE, such as [NetBeans](/source/NetBeans), [Geany](/source/Geany), and [Eclipse](/source/Eclipse_(software)).

C and C++ functions can be called within an AngelScript environment.[1][2] AngelScript's [class](/source/Class_(computer_programming)) syntax closely follows [C++ classes](/source/C%2B%2B_classes) by design: no proxy functions are required to embed AngelScript in C++ applications, easing the two languages' integration.[3] There are several differences of AngelScript and C++:

- AngelScript does not support [multiple inheritance](/source/Multiple_inheritance). Multiple-inheritance functionality may be achieved with Interfaces.

- It is impossible to declare [methods](/source/Method_(computer_programming)) or [properties](/source/Property_(programming)) outside of the class body.

- All methods (including [constructors](/source/Constructor_(object-oriented_programming)) and [destructors](/source/Destructor_(computer_programming))) are [virtual](/source/Virtual_function).

AngelScript is used in [video game development](/source/Video_game_development),[4] including

- *[Amnesia: The Dark Descent](/source/Amnesia%3A_The_Dark_Descent)*,[5]

- *[Amy](/source/Amy_(video_game))*,[5]

- *[Dustforce](/source/Dustforce)*,[5]

- *[Gekkeiju Online](/source/Gekkeiju_Online)*,[5]

- *[Jazz Jackrabbit 2 Plus](/source/Jazz_Jackrabbit_2#Support)*,[5]

- *[King Arthur's Gold](/source/King_Arthur's_Gold)*,[5]

- *[Legend of the Guardians: The Owls of Ga'Hoole](/source/Legend_of_the_Guardians%3A_The_Owls_of_Ga'Hoole_(video_game))*,[5]

- *[Overgrowth](/source/Overgrowth_(video_game))*,[6]

- *[Penumbra: Overture](/source/Penumbra%3A_Overture)*,[5]

- *[Penumbra: Requiem](/source/Penumbra%3A_Requiem)*,[5]

- *[Puddle](/source/Puddle_(video_game))*,[5]

- *[Rigs of Rods](/source/Rigs_of_Rods)*,[5]

- *[Running with Rifles](/source/Running_with_Rifles)*,

- *[Sine Mora](/source/Sine_Mora)*,[5]

- *[Star Ruler](/source/Star_Ruler)*,[5]

- *[SuperTuxKart](/source/SuperTuxKart)*,[5]

- *[Sven Co-op](/source/Sven_Co-op)*,[5]

- *[Warhammer: Mark of Chaos](/source/Warhammer%3A_Mark_of_Chaos)*,[5]

- and *[Warsow](/source/Warsow_(video_game))*.[5]

In addition, it is also supported as a scripting language in *Urho3D*. [Hazelight Studios](/source/Hazelight_Studios) maintains a plugin that integrates AngelScript into the [Unreal Engine](/source/Unreal_Engine); this plugin was used to write their game, *[It Takes Two](/source/It_Takes_Two_(video_game))*, in AngelScript,[7] the plugin is also used by Embark Studios in *[The Finals](/source/The_Finals)* and *[ARC Raiders](/source/ARC_Raiders)*.[8] It is also used at the [University of Ulm](/source/University_of_Ulm) in its interactive 3D-Animation program,[9][*[failed verification](https://en.wikipedia.org/wiki/Wikipedia:Verifiability)*] as well as in [robotics](/source/Robotics); for example, to program behavioral rules of robotic agents.[10]

## References

1. **[^](#cite_ref-1)** Weinbub, Josef; Rupp, Karl; Selberherr, Siegfried (2010). ["ViennaIPD - An Input Control Language for Scientific Computing"](http://www.iue.tuwien.ac.at/pdf/ib_2010/CP2010_Weinbub_1.pdf) (PDF). Retrieved April 27, 2019.

1. **[^](#cite_ref-2)** Golodetz, Stuart (February 2010). ["Simplifying the C++/Angelscript Binding Process"](http://accu.org/index.php/journals/1608). *ACCU*. Retrieved April 27, 2019.

1. **[^](#cite_ref-3)** Dickheiser, Michael (2006). *Game Programming Gems 6*. [Charles River Media](https://en.wikipedia.org/w/index.php?title=Don_Schechter&action=edit&redlink=1). [ISBN](/source/ISBN_(identifier)) [1584504501](https://en.wikipedia.org/wiki/Special:BookSources/1584504501).

1. **[^](#cite_ref-4)** Nishimori, Taketoshi; Kuno, Yasushi (May 2012). ["Join token: A language mechanism for programming interactive games"](https://tsukuba.repo.nii.ac.jp/?action=repository_action_common_download&item_id=33964&item_no=1&attribute_id=17&file_no=1). *Entertainment Computing*. **3** (2): 19–25. [doi](/source/Doi_(identifier)):[10.1016/j.entcom.2011.09.001](https://doi.org/10.1016%2Fj.entcom.2011.09.001). [hdl](/source/Hdl_(identifier)):[2241/00124828](https://hdl.handle.net/2241%2F00124828).

1. ^ [***a***](#cite_ref-official-list_5-0) [***b***](#cite_ref-official-list_5-1) [***c***](#cite_ref-official-list_5-2) [***d***](#cite_ref-official-list_5-3) [***e***](#cite_ref-official-list_5-4) [***f***](#cite_ref-official-list_5-5) [***g***](#cite_ref-official-list_5-6) [***h***](#cite_ref-official-list_5-7) [***i***](#cite_ref-official-list_5-8) [***j***](#cite_ref-official-list_5-9) [***k***](#cite_ref-official-list_5-10) [***l***](#cite_ref-official-list_5-11) [***m***](#cite_ref-official-list_5-12) [***n***](#cite_ref-official-list_5-13) [***o***](#cite_ref-official-list_5-14) [***p***](#cite_ref-official-list_5-15) [***q***](#cite_ref-official-list_5-16) ["Applications using AngelScript"](http://angelcode.com/angelscript/users.html). *AngelCode*. Retrieved April 27, 2019.

1. **[^](#cite_ref-6)** Orsvärn, Lukas; Riehl, Anton; Rosen, David (November 30, 2014). [*A good episode*](https://www.youtube.com/watch?v=99T-7NeEH8s&t=17m40s). *[YouTube](/source/YouTube)*. Overgrowth Weekly. Vol. 86. at 17m 40s. Retrieved April 27, 2019.

1. **[^](#cite_ref-7)** ["Unreal Engine Angelscript"](https://angelscript.hazelight.se/project/resources/). Retrieved 2025-12-18.

1. **[^](#cite_ref-8)** ["ARC Raiders Blueprint"](https://skycoach.gg/blog/arc-raiders/articles/blueprint-farming-guide). Retrieved 2025-06-08.

1. **[^](#cite_ref-9)** ["Animal Race"](https://web.archive.org/web/20140525232744/http://graphics.uni-ulm.de/lehre/showcases/animation/0405/index.php). *[University of Ulm](/source/University_of_Ulm)* (in German). 2005. Archived from [the original](http://graphics.uni-ulm.de/lehre/showcases/animation/0405/index.php) on 2014-05-25. Retrieved 2013-05-31.

1. **[^](#cite_ref-BrandoffSayama2009_10-0)** Brandoff, Josh; Sayama, Hiroki (2009). "Cultural transmission in robotic swarms through RFID cards". *2009 IEEE Symposium on Artificial Life*. ALife'09. [IEEE](/source/IEEE). pp. 171–178. [doi](/source/Doi_(identifier)):[10.1109/ALIFE.2009.4937709](https://doi.org/10.1109%2FALIFE.2009.4937709). [ISBN](/source/ISBN_(identifier)) [978-1-4244-2763-5](https://en.wikipedia.org/wiki/Special:BookSources/978-1-4244-2763-5).

## External links

- [Official website](https://angelcode.com/angelscript/)

- [AngelScript-JIT-Compiler](https://github.com/BlindMindStudios/AngelScript-JIT-Compiler) on [GitHub](/source/GitHub)

---
Adapted from the Wikipedia article [AngelScript](https://en.wikipedia.org/wiki/AngelScript) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/AngelScript?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
