There are some major changes in NWN:EE in comparison to the original NWN 1.69. This is a guide for modders primarily but should list all major client changes since of course how a module looks is very important too! They should link to guides or information elsewhere (if not that information should follow on - get on this wiki to add it!). If possible links to a build it first appeared in will be provided but if not check out the general patches page.
Available Clients
There are 6 official versions all containing the base Wailing Death campaign, Shadows over Undrentide and Hordes of the Underdark bundled together, some notes for each:
- PC - Available from Beamdog, GoG and Steam. This is the most updated version content and patch wise, and only one for development. Linux, MacOS and Windows are all supported (although only Windows has the Toolset supported, it can run reliably in Wine).
- Beamdog comes with it's own client, plus a steam key, so technically two copies
- GoG comes with 1.69 as well as EE, if you for some reason wanted 1.69 as well
- Steam comes with full Workshop support and achievements, and access to Preview and Beta builds
- Tablet / Phone editions - these contain some changes for their specific versions, especially around the default texture files the game uses, but otherwise should be able to load singleplayer custom content and persistent worlds (easiest using NWSync) since they match the network compatibility of the PC version. Note that the version will lag behind the PC version meaning some missing assets / fixes / new client functionality and some of the GUI files will be different so changes to them can cause issues.
- Android - available on the Play store
- iOS - available on the Apple store
- Console editions - ported by Skybound Games. These can only connect to 2 persistent worlds, Ravenloft and Arileth, and are stuck at an older version of the game, although for singleplayer content it's quite playable and does include newer lighting and some visual improvements and console-specific controls/UI. You won't ever be building a module for these versions since loading any singleplayer modules or other PW's is, alas, impossible. Don't buy just this version if you want to play NWN custom content!
- Switch
- Xbox One
- Playstation 4
DLC (Premium Modules) are available on most of these platforms, sometimes containing some patches compared to the original Premium Module releases.
Client Changes
You now have a proper \My Documents\Neverwinter Nights folder for all the custom content and settings files.
You can now have more than 64MB of texture memory. It is recommended to increase this (possibly up to the maximum of 2047) to improve performance. The game also runs in 64bit allowing more memory to be used by the game to load high quality assets.
UI Improvements and Upscaling
- Keyholing to see through tiles is included
- Improved UI for some parts of the GUI (such as debug, options menu)
- You can select a scaling multiplier for the games default UI. This is available in increments of 0.1. Useful for 2K and 4K monitors for sure.
Enhanced Visual Shaders/Settings
The options menu lists these enhanced visual shaders included for personal taste on most platforms;
- High Contrast
- Vibrance
- Depth of Field (disabled by default - but good for photos)
- SSAO - Screen Space Ambient Occlusion
Lighting and Water Improvements
There is now a new lighting engine and water shader; the comparison of the old and new lighting engine is available here, which can be toggled on/off and have various options set for performance reasons: https://nwn.beamdog.net/web/8193.14-comparison-shots/
Server Changes
Some changes more applicable to multiplayer:
- nwsync allows the client to retrieve the files needed to play on a server, and if altered only obtain the different files if some are updated, all without exiting the game.
- Ability to set/get limits to various bonuses the game usually hardcodes (eg; Get/SetAttackBonusLimit)
- Players can now enter DM mode dynamically - on persistent worlds also locked behind a password - and therefore shift temporarily into DM mode without reconnecting
- NWNX is being developed by the community to extend the server features which runs on Linux
- BootPC() allows an optional parameter for the reason you're booted (eg; BootPC(oPC, "Server reboot!"); ) which shows up in the client.
Gameplay Changes
There's a number of fixes to gameplay issues (this needs another page by itself), as well as optional changes:
- Sticky modes for combat abilities as an option
- Improvements to pathfinding which should make combat and moving around the game world easier
Script Changes
88 and growing new functions, which include major and minor improvements to NWN:EE including:
- Full fast sqlite database support built in (sqlquery type and lots of functions)
- Creation, copying and deletion of areas (CreateArea, CopyArea, DestroyArea) and setting area transitions (SetTransitionTarget)
- CopyObject works with additional objects (Placeables, waypoints, stores, doors, triggers) as does storing or retrieving them from the database
- Setting the tag of any object dynamically (SetTag)
- Setting the event of any object, or clearing it (Get/SetEventScript)
- UUID Support allowing for easy uniqueness compared to tags (GetObjectUUID)
- Dynamic object and VFX visual transforms (shrink/grow/rotate/translocate), including interpolation between states (Get/SetObjectVisualTransform new parameters for EffectVisualEffect/EffectBeam)
- Dynamic texture overrides for one or more players (SetTextureOverride)
- Material (texture property) control (Set//ResetMaterialXXX)
- Dynamic hilite (mouseover colour "aura") on any object (SetObjectHiliteColor)
- PostString support - output text to the debug console for a player or replace a font file to show images (PostString)
- Tagging item properties and effects you can later check (TagEffect, TagItemProperty)
- More information from item properties (Get/SetItemPropertyUsesPerDayRemaining)
- Ability to retrieve more information from effects and item properties (GetEffectCasterLevel, GetItemPropertyDurationRemaining etc.)
- Can hide equipment when equipped (Get/SetHiddenWhenEquipped) so for instance helmets don't have to replace the head model
- Map exploration control tile-by-tile and set if the minimap works at all (Get/SetTileExplored, Get/SetCreatureExploresMinimap)
- Information about tiles/locations (GetSurfaceMaterial/GetGroundHeight)
- More information from creatures (GetDomain, GetSpecialization)
- More actions to use items (ActionUseItemOnObject/AtLocation)
- More information from players, useful in multiplayer (GetPlayerBuildVersionMajor, GetPlayerBuildVersionMinor, GetIsPlayerConnectionRelayed)
- Wind control to go along with unhardcoded weather (SetAreaWind)
- Set an objects hitpoints without EffectHeal/EffectDamage (SetCurrentHitPoints)
New events:
- OnPlayerTarget event - can call to have a players mouse change icon and able to select something
Game functionality:
- A nwscript window in game to run code and specific scripts on any object in the game world (when in Debug Mode or as a DM)
- PostString allows much easier on-screen debugging
- You can set a TMI limit for those lengthier script runs in the game options
Toolset functionality:
- The toolset compiler has been improved, actually reporting all errors (such as too many include files) even if the error message isn't always clear (although using an external compiler is a good recommendation)
Toolset Changes
Some improvements to the toolset, beyond updating it to work reasonably well on Windows 10:
- You can open more than one area at a time in tabs, and even copy between them
- Script parameters built into conversations lowering the amount of scripts needed
- Visual transformations of object can be baked into placed objects in the game (and done dynamically with script commands as above)
- Support for ambient/battle music not having TLK entry references, can be now done with strings
- Additional Ossian Studios content from Darkness over Daggerford (models, creatures, etc) and new and revamped tilesets
- Hakpack files can now contain near unlimited items compared to ~16K in 1.69. Only one hakpack is needed.
Custom Content Changes
Improvements include:
- Unhardcoded various hardcoded set values the engine uses for hardcoded class and abilities; see new 2da ruleset.2da
- Unhardcoded spellcasting classes - new spellcasters can be added to the game (by mirroring what base spell casters can do); see classes.2da and Custom Spellbooks using classes.2da and spells.2da
- Unhardcoded stat gains that Red Dragon Disciple and Pale Master have, see classes.2da
- Unhardcoded weather - new weather can be added, see: Weather
- Unhardcoded "Programmed FX" - ie you can now add new beams and magic missiles and other things, see new 2da: progfx.2da
- Unhardcoded most of the racial type modifiers such as skill points multipliers, or bonus feats, see: racialtypes.2da
- Allowed the various default clothing available at character generation to be restricted to gender, alignments, races or classes.
- Improvements to available model bones/quality so higher quality animations/models can be done, see: Models
- Addtional Custom Animation slots 21 through 70 for a huge number of custom animations on custom models.
There is also a Console and Debug Panel for tuning custom content, and game models can be compiled in game more easily see Models.
Finally on Steam you can upload to the Workshop modules, hakpacks and custom content.