Skip to content

SkyrimScripting/SKSE_Template_MultipleSourceAndHeaderFiles

Repository files navigation

📜 other templates available at https://github.com/SkyrimScripting/SKSE_Templates

SKSE plugin using .cpp and .h files

Very simple C++ SKSE plugin for Skyrim!


What does it do?

After running Skyrim, once at the Main Menu, press the ~ key to open the game console.

You will see that we printed "Akatosh!" to the console at the Main Menu 🐉

This comes from the Dragon class's PrintName() function which is declared in Dragon.h but defined in Dragon.cpp.

CommonLibSSE NG

Because this uses CommonLibSSE NG, it supports Skyrim SE, AE, GOG, and VR.

CommonLibSSE NG is a fork of the popular powerof3 fork of the original CommonLibSSE library created by Ryan McKenzie in 2018.

Requirements

  • Visual Studio 2022 (the free Community edition)
  • vcpkg
      1. Clone the repository using git OR download it as a .zip
      1. Go into the vcpkg folder and double-click on bootstrap-vcpkg.bat
      1. Edit your system or user Environment Variables and add a new one:
      • Name: VCPKG_ROOT
        Value: C:\path\to\wherever\your\vcpkg\folder\is

Opening the project

Once you have Visual Studio 2022 installed, you can open this folder in basically any C++ editor, e.g. VS Code or CLion or Visual Studio

  • for VS Code, if you are not automatically prompted to install the C++ and CMake Tools extensions, please install those and then close VS Code and then open this project as a folder in VS Code

You may need to click OK on a few windows, but the project should automatically run CMake!

It will automatically download CommonLibSSE NG and everything you need to get started making your new plugin!

Project setup

By default, when this project compiles it will output a .dll for your SKSE plugin into the build/ folder.

If you want to configure this project to output your plugin files into your Skyrim Special Edition's "Data" folder:

  • Set the SKYRIM_FOLDER environment variable to the path of your Skyrim installation
    e.g. C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition

If you want to configure this project to output your plugin files into your "mods" folder:
(for Mod Organizer 2 or Vortex)

  • Set the SKYRIM_MODS_FOLDER environment variable to the path of your mods folder:
    e.g. C:\Users\<user>\AppData\Local\ModOrganizer\Skyrim Special Edition\mods
    e.g. C:\Users\<user>\AppData\Roaming\Vortex\skyrimse\mods

Finding Your "mods" Folder

In Mod Organizer 2:

Click the ... next to "Mods" to get the full folder path

In Vortex:

Setup your own repository

If you clone this template on GitHub, please:

  • Go into LICENSE and change the year and change <YOUR NAME HERE> to your name.
  • Go into CODE_OF_CONDUCT.md and change <YOUR CONTACT INFO HERE> to your contact information.

The LICENSE defaults to using the MIT License, a permissive license which is used by many popular Skyrim mods (including CommonLibSSE).

The CODE_OF_CONDUCT.md defaults to using the Contributor Covenant, the most popular code of conduct for open source communities.

If you'd like to know more about open source licenses, see:

Sharing is Caring

If you use this template, PLEASE release your project as a public open source project. 💖

Please do not release your SKSE plugin on Nexus/etc without making the source code available *

* You do you. But please help our community by sharing your source <3

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published