I decided to build the 2025 playtest Psion in the homebrew tools, to encourage players in my one-shots to try it out.
This guide will walk you through creating the subclass "Wizard to Psion conversion", which implements all features of the playtest Psion (including the ability to select between all four Psion subclasses and have their features automatically appear at the right levels).
The DNDBeyond homebrew tools are only meant for subclasses, not classes, so this required some creative work-arounds. But the end result is a fully-functional Psion – you just have to ignore a few unwanted extra Wizard things on your character sheet.
This post focuses on implementing the Psion, but in the process it teaches several things that will also be useful if you want to implement your own fully-homebrew class.
Note: These posts sometimes refer to "your players" on the assumption that the reader is a DM. I do not mean to imply that players cannot use the homebrew tools themselves - if you're a player well-versed in the homebrew tools, your DM is lucky to have you!!
IMPORTANT TIPS for the subclass homebrew tool:
Here are two very important things to know about the subclass homebrew tool:
When you are testing your new subclass, you will need to reload the character builder page, select a different subclass, and then change back to your homebrew subclass before any changes you make appear.
It can take a few minutes for changes you made to your homebrew subclass to sync and start showing in the character builder. While you are troubleshooting and making changes, editing the name of features (eg. renaming "Psion skills" to "Psion skills (alternate dropbox)") will let you see when a change you made has synced.
There are many tasks in this guide where you end up several pages deep in the subclass homebrew interface (eg. setting up a modifier that's attached to an option that's under a class feature), and that you can't use the back button or navigation breadcrumbs to go back up one level. The secret is to save what you've created and then use the "Cancel" button, which takes you back/up one level.
Overview of the subclass homebrew tool
When you are creating a subclass, the subclass homebrew tool has two main sections. "Basic information" is mostly a description of the subclass, and a few basic properties related to spellcasting. The second section, "Class Features", does not appear until you have filled out the basic information and saved the subclass for the first time.
A "feature" (created in the Class Features section) is the basic unit of adding things to your subclass. Each feature has a name (like "Psion Skills" or "Psion Subclasses"). Once a feature is created, you can put all sorts of things under it - spells, actions, modifiers, etc. - that the feature will add to the class.
When you create a feature, there are two ways to add things to the class via that feature:
Directly, by using one of the buttons under the feature like "Add a Spell" or "Add an Action". This is great for basic features that always grant the same thing, but not great for multiple choice. You *can* create a drop-box letting a player select from multiple spells by clicking "Add a Spell" once and entering all the spell names in the same box on the "Add a Spell" page. The problem is that if you want to let your player select two spells, you will have to create two drop-boxes, manually entering all the spells twice since there's no way to duplicate or copy-paste your list.
By setting up your feature to have options, which you create using the "Add an Option" button. An option can grant almost anything (a spell, an action, a modifier, etc.) that a feature would, but it only does so if the player selects it. Once you create a feature with a list of options, it can let players select from the same list multiple times, eg. "Choose three Battle Master maneuvers at level 3, then choose two more at level 7, level 10, etc."
Choosing your base class
We will be implementing the Psion class as a homebrew subclass called "Wizard to Psion conversion". When choosing the base class to use for your class-within-a-subclass, the main considerations are:
Uses the same hit die we want for our new class
Doesn’t have any weapon proficiencies we don’t want the new class to have (those can’t be removed, and will cause problems by automatically adding bonuses on the character sheet)
Won’t make the players sort through a ton of spells the new class shouldn’t have access to
In this case, we are in luck – like the Psion, the Wizard is an INT-based caster with a d6 hit die, and is only proficient with simple weapons. It even has the correct saving throw proficiencies (INT and WIS). It is also the most convenient of the caster classes to use as a base class because your player can put the Psion spells in the Wizard’s spellbook and then never have to look at the rest of the Wizard spells again.
The Psion we build in this tutorial won't grant class features at the right level to be publishable as a subclass of Wizard, but that doesn't matter, it's already not publishable because the playtest materials are copyrighted.
After this post, I’ll write a follow-up with some work-arounds for when you don’t have such a convenient match for a base class.
Creating the subclass and the new Unearthed Arcana spells
Start by going to the homebrew tool and creating a new subclass. Create it as a subclass of the 2024 Wizard, and choose to start from scratch rather than basing it on an existing Wizard subclass. I have named my subclass “Wizard to Psion conversion”.
The next thing to do is create the new Psion spells from the Unearthed Arcana. I won’t go into detail on that because the tool for making homebrew spells is pretty straight-forward, but I will offer two tips:
For the spell “Summon Astral Entity” you will probably want to create it based on an existing summoning spell with a statblock in it instead of creating the spell from scratch. That way you have a nice, already-formatted statblock in the spell description that you can edit.
When you create a spell, under the bottom right corner of the box where you type the spell description, there is a section that says “available for class(es)”. Set the new spells as available only to your new subclass, so they don’t start showing up as available spells for your players playing regular wizards or playing another class.
Spellcasting setup for the subclass
Now that the Unearthed Arcana spells are created, we’re ready to do the spellcasting setup for the subclass (in the “Basic information” section of the subclass homebrew tool). Under the box related to subclass description, you will see several boxes where you can select options related to spellcasting. The wizard is already a spellcaster, so you can leave all of the small casting-related boxes blank (as far as I can tell, those boxes have no effect when the base class is already a caster). In the big box labeled “Additional Specific Spells”, you can either enter all of the Psion’s spells, or just Psion spells the Wizard class doesn’t already have.
The Psion is easy to do here because we’re using Wizard as our base class – the Wizard is already a caster, and the Wizard’s spellbook lets players keep Psion spells separate from the rest of the Wizard spell list. For setting up spellcasting in other scenarios where the base class is a caster without a spellbook or a non-caster, see the follow-up post below.
Creating class features
The screenshot below shows the class features section after creating the Psion. To the left of each feature are two numbers – one for the character level where that feature will first appear/be available, and one for what order features will show up in in the character builder.
The screenshot below shows the options that appear under the feature description box when you create a class feature:
“Required class level” is the level at which the option shows as available in the character builder, and “Display order” controls where an option appears relative to other same-level options in the character builder. I’ll explain “Has options” and “Class levels where options known” later in the section on Psionic Disciplines.
“Display required level” just adds the level to the feature name in the character builder. “Hide in builder” hides the feature in the character builder, and “Hide in sheet” hides the feature on the character sheet.
Finally, for “Feature type”, every feature we will create has type “Granted”, which means it just automatically appears in the character builder for characters of the correct level. The option “Additional” would mean you have to enable it under “Optional class features” in the class section of the character builder before the option is available, and the option “Replacement” would mean it’s an optional replacement for another feature of your homebrew subclass (unfortunately this option cannot be used to replace anything from the base class).
After you name, describe, and save your feature, several more options will appear below for things like “Add a modifier” and “Add a spell”. These are where you can set up the things your class feature will do. They will only appear after the class feature has been saved for the first time. (If the buttons haven’t appeared, then your class feature probably failed to save because a required box like name or description was left blank).
Psionic Power
We’ll start with the psion class feature “Psionic Power”. Create the class feature, name it, and add a description. You will also need to enter a shorter description in the box that says “Snippet”. What you put in the “Description” box will only appear in the character builder, the text in the “Snippet” box is what will appear on the character sheet and under the “Features and Traits” tab on the character’s page.
Once the class feature is created and saved, go to the blue buttons that have appeared below the “Save Changes” button and click “Add Action”.
To create “Telekinetic Propel”, use the following settings:
Action type: General (it’s not an attack or a spell)
Ability Score Type: INT (uses the Psion’s spell save DC, which is INT-based)
Level: 1 (this action is available from level 1 onward)
Is proficient: Check the box (the spell save DC is 10 + INT + proficiency)
Save type: STR (the type of save the target has to make)
Activation type: Bonus Action
Then enter a description in the description box. You also put something in the “snippet” box here, so Telekinetic Propel will have a description under the “Actions” tab on the character page.
Repeat this process to create “Telepathic Connection” as a Bonus Action too (no need to set proficiency/ability/etc. on that one since there’s no saving throw involved).
Finally, create a third action called “Psionic Energy Dice”, so we can make check-boxes to track usage of a limited resource. Set the action type to “General”, activation type to “Special” and reset type to “Long Rest”. After you save this action, two new blue buttons will appear, click the one that says “Add Limited Use Data”. Set number of uses to “4” and level to “1”, then save. Then click “Add Limited Use Data” again. Set number of uses to “6” and level to “5”, then save. Repeat for all other levels where the Psion gains energy dice.
The energy dice check-boxes will correctly reset on a long rest, but they won’t automatically add back one die on a short rest, players will need to do that by hand.
Psion skill proficiencies
Next we’ll add the option to select two Psion skill proficiencies. Create a subclass feature called “Psion skills”. In the settings boxes below the description, check the box “Has options”, then enter “1,1” in the box “Class levels where options known” to indicate that players get to choose two skill proficiency options at level 1. Also check the box for “Hide in sheet” so creating this as a subclass feature doesn’t add clutter to the character sheet.
Once you’ve saved your new feature and the blue buttons appear, click “Add an option”. Name your option “Arcana”, enter “Arcana” in the description box, leave all other settings blank, then click “Create Option”.
After you click “Create Option”, blue buttons will appear below. Click the one that says “Add a modifier”. For your modifier, set modifier type “Proficiency” and modifier subtype “Arcana”, leave everything else blank, and save it.
Repeat the process above to create options (each with an included modifier for the relevant skill) for the other six Psion skill proficiencies.
Caution: The character builder is still going to show a “Core Wizard Traits” section where your players can choose Wizard proficiencies too. Tell your players to leave that section blank and select proficiencies in the “Psion skills” section instead.
Subtle Telekinesis
Create a subclass feature with the relevant name and description, then after saving it click the blue “Add a spell” button. In the top left corner of the next page, choose “Mage Hand” in the box that says “Spell”. That page has many, many other settings, but since Mage Hand is a cantrip you can ignore all of them and just click “Save”.
Psionic Disciplines
These are easy, just time-consuming. You’ll set these up as options (see the “Psion skills” section). Create your subclass feature, check the “Has options” box, and enter “1,1,10,10,17,17” in the “Class levels where options known” box. Then create an option for each psionic discipline.
Be sure to put a description of each psionic discipline in the option’s “snippet” box as well as its “description” box, so descriptions for the player’s selected disciplines will appear on the character sheet and under the “Features & Traits” tab on the character page.
Psionic Modes
Create the feature, description, and snippet. Then under the feature, add an action called “Psionic Modes” with activation type “Bonus Action” and reset type “Long Rest”. Save it, then add limited use data to set up the usage checkboxes (see the setup for psionic energy dice in the “Psionic Power” section).
The rest of the features (besides Psion Subclass)
From level 4 onward, the rest of class features are easy. You don’t need to do anything for class features the Wizard already gets (Ability Score Improvement, Epic Boon). For the rest (Psionic Restoration, Psionic Surge, Enkindled Lifeforce) you’ll just create features with text descriptions and snippets.
Psion Subclass
This was the tricky part to figure out. To implement subclasses, we’ll actually need to create two features, one called “Psion Subclass” where the player selects the subclass and sees the details in the character builder, and a second separate one called “Psion Subclass Features” to actually make all the subclass stuff happen and show up properly on the character sheet.
Start by creating the “Psion Subclass” feature. Set “Required class level” to 3, check the “Has options” box, set “Class level where options known” to 3, and check the box “Hide in sheet” (we only want this part to show in the builder and not on the character sheet). After saving, use the blue “Add an option” button to add options for each of the four subclasses.
In the Description box for each option, add all information the player needs to know about the subclass when choosing it – the subclass spells, descriptions for the different abilities the subclass gets at different levels, etc. We will also add the subclass spells here – since “Psion Subclass” is hidden from the character sheet, this prevents the spells from cluttering up the “Features and Traits” section.
Here's an example with some of the spells I attached to the option for the Psi Warper subclass:
Once you save the option for a psion subclass, click the blue “Add a spell” button on the option’s page. On the top left corner of the “Add a Spell” page, enter the spell you are adding. Then scroll down to the bottom, and set “Consumes Spell Slot” to yes, and “Available at Character Level” to the level where the subclass grants that spell. DO NOT set “Always Prepared” to yes. The spell will already be always prepared without this option, setting it to yes will just make the spell appear in duplicate or triplicate on the character sheet.
Repeat this until you have set up options for all four subclasses with their descriptions and their spells. You will need to add each spell as a separate entry – if you select multiple spells in the spell box on “Add a Spell” page, it makes a drop-down box where the player has to select one of the spells instead of automatically granting all of the specified spells.
Psion Subclass Features
Next, create a separate feature called “Psion Subclass Features”. Check the box “Hide in Builder” (there’s not going to be anything here to show or interact with in the builder, it would just be a blank section), and do not check the box “has options” or enter anything in “class level where options known”.
The general way that this is going to work is that we are going to create all options for all four subclasses under “Psion Subclass Features”, and then list them as being automatically granted at the relevant levels based on the prerequisite of having selected their subclass under “Psion Subclass”. (This is why this has to be separate from “Psion Subclass” – options under the same feature cannot list each-other as prerequisite.)
Here is an example from when I had the options for two of the four psion subclasses added:
Most of the features from the psion subclasses are just text descriptions that don’t require any additional setup. So you’ll create each one as option, being sure to include a description of the feature in the “snippet” box so it will show up on the character sheet. Then at the bottom of the page for the option, check the box “Is granted” to make it automatically granted based on prerequisites, set “Required class level” to the class level the option is granted at, and set “Psion Subclass – [subclass name]” as the prerequisite for granting the option.
A few things do require special setup to add the relevant Action, Bonus Action, or Reaction. For these, after you create and save the option, click “Add an Action” and create the relevant action. You will need to add text to the Snippet, and set the correct Activation Type (Action, Bonus Action, Reaction, or Special) so it shows up in the right section of the character sheet.
The only Psion subclass feature that requires doing something not already covered in this tutorial is the Metamorph’s Organic Weapons, which require setting up a rollable attack. To that, you’ll choose “Add an Action” under the option you created for Organic Weapons, and set the action type to “Weapon” instead of “General”, doing this once for each of the Organic Weapons.
Final notes
Mega-thanks to IamSposta and Stormknight for their incredibly helpful getting started guides for the homebrew tools.
Screenshots of the finished "Wizard to Psion conversion" subclass
This post has screenshots of the "Wizard to Psion conversion" subclass from character builder and character sheet page, eg. the parts your players will see.
Some text in the screenshots has been covered with grey rectangles to show my healthy respect and/or fear of WoTC's copyright lawyers. These screenshots are intended to show you what the player-facing interface looks like when this class is implemented using the homebrew tools, if you want the full text of what the class does please see the official playtest materials.
Character builder for a Level 3 Wizard beforeselecting the "Wizard to Psion conversion" subclass
Character builder for a Level 3 Wizard after selecting the "Wizard to Psion conversion" subclass
You can't get rid of the unwanted Wizard things like "Core Wizard Traits" and "Scholar", but you can just refrain from selection options for them.
User-selectable options added by the "Wizard to Psion conversion" subclass
Character builder at higher levels
Not much changes in the character builder after level 3 - the general Psion class features like "Psionic Restoration" and "Psionic Surge" will appear at appropriate levels, but the features from your chosen Psion subclass will not show in the Builder (sorry, I tried...). The best I could do was to make them appear on the character sheet, and to include all subclass details in the description text that appears when you select a Psion subclass at level 3.
One change that was worth screen-shotting is the ability to select two more Psionic Disciplines at level 10. This option appears automatically at that level, in the same box where you selected two disciplines at level 3:
Character sheet page: Actions section
The Psion in this screenshot has the "Metamorph" subclass.
Character sheet page: Features & Traits
The Features & Traits page will show your Psion options (including user-selected options like Psionic Disciplines), but will also show some unwanted Wizard things like "Arcane Recovery". This screenshot also shows the check-boxes for the Psionic Energy Dice.
The screenshot above shows part of the Features & Traits page for a Level 6 Psion with the "Psi Warper" subclass. Things granted by your chosen Psion subclass will appear here (as well as in other relevant sections like Actions and Spells) when your character reaches the relevant level. They will also appear on the printable PDF character sheet.
The Wizard and the Psion had enough things in common that it was easy to make a “Wizard to Psion conversion” subclass. But if you want to implement your own fully-homebrew class using the subclass tool, you may encounter situations where no base class is a close match and you need to handle some discrepancies
Using your new class before level 3
Since your homebrew class is implemented with the subclass homebrew tool, you can only use it once the base class allows subclass selection. If you are using 2024 base classes, this means your new class won’t be usable for characters before level 3. Some of the 2014 classes can choose a subclass earlier (Cleric, Sorcerer, and Warlock can choose at level 1, Druid and Wizard can choose at Level 2).
Hit points
I could not find a way to change the base class’ hit die. It will show incorrectly on the character sheet and from the “Take a short rest” button no matter what you do.
However, you can override hit point calculation, and you can provide your players with a replacement way to roll hit dice on a short rest.
The easiest way to override hit point calculation is to have your players set “Hit point type” to “Manual” on the first page of the character builder, and then manually enter the correct hit points. If you want to allow your new class to use hit point type “Fixed” and produce the correct numbers, you can do this by creating a class feature called “Adjust Hit Points”. Under this feature, you will need to add two modifiers to correct hit point calculation:
First, create a modifier with type “Bonus” and subtype “Hit Points per Level”. Then in the “Fixed Value” box, enter the difference between the “average” values for your new class’s hit die and the base class’s hit die. For example, to change a base class with a d12 (average 7) to a new class with a d8 (average 5), enter -2 in the “Fixed value” box.
Next, to allow for the fact that characters get the full value of their hit die at level 1 (not half) create a modifier with type “Bonus” and subtype “Hit Points” (not per level). In the “Fixed value” box, enter the same number you entered for the previous modifier.
The easiest way to explain this hit point calculation is to demonstrate. The “average” used for fixed HP calculation is half the hit die max plus 1. A level 3 character with a d12 hit die should have 12 + 7 + 7 = 26 hit points (before adding CON). A level 3 character with a d8 hit die should have 8 + 5 + 5 = 16 hit points. To convert from the d12 to the d8, you would do (12 - 2 - 2) + (7 - 2) + (7 - 2).
Hit dice for a short rest
Because you cannot change the base class’ hit die, rolling hit dice from the “Take a Short Rest” button will produce incorrect results if your new class needs a different hit die. However, you can create a class feature called “Rollable hit dice” to add the ability to track and roll the correct size hit dice from the “Actions” section of the character sheet.
When creating the “Rollable hit dice” feature, it would be a good idea to check the “Hide in Builder” option for the feature, since there’s no reasons players need to see this in the character builder. Then under this feature, create an action called “Roll a hit die” with the following settings:
Action type: General Dice count: 1 Die type: Your new class’ hit die Display as an attack: Yes Activation type: Special (required for it to appear and be rollable on the Actions tab) Reset type: Long rest (you must set a reset type to be able to add limited use check-boxes)
After your action is created and saved below, an option will appear below the save button that says “Add Limited Use Data”. This is where you can set up how many check-boxes for hit dice the player has at each level. Unfortunately limited uses will only auto-scale according to proficiency or a skill modifier, not by level, so you will have to set separate limited use data for each level.
After you’ve set this up, here’s what it will look like at the bottom of the “Actions” tab on the character sheet page:
Weapon proficiencies
As far as I can tell, there is no good way to remove unwanted weapon proficiencies from the base class. You can easily *add* weapon proficiencies (as a Modifier under a Feature), but you cannot remove them. I couldn’t even find a way to cancel them out like I did for hit points.
Unwanted weapon proficiencies particularly problematic discrepancy to have, because they will affect automatically-calculated bonuses for rolls made from the website or the app. Your best bet is to avoid selecting a base class that has weapon proficiencies you don’t want your new class to have.
Saving throw proficiencies
You can add saving throw proficiencies for your class by creating a feature that gives a modifier of type “Proficiency” and subtype “Constitution Saving Throws” (or whatever proficiency you want to add).
You cannot remove the base class’s saving throw proficiencies from your homebrew subclass, but they can be removed from the character sheet page.
Here is a screenshot showing the saving throw box on the character page when the base class is “Cleric” (WIS and CHA) and the new class has added DEX and CON. To remove WIS and CHA, start by clicking the words “Saving throws” with the gear icon next to them at the bottom of the box:
This will bring up a side panel on the right side of the screen, like the one shown below. Click the name of the skill you want to change (eg. WIS):
When the side panel changes to show the skill you clicked, expand the “Customize” section and set “Saving Throw Proficiency Level” to “Not Proficient”:
For a level where you don’t want your new class to offer a feature, you can fulfill the requirement to offer by creating a feature that does nothing and checking “Hide in Builder” and “Hide in Sheet”.
Unfortunately, this restriction also will not allow you to publish subclasses that offer a feature at a level where subclasses of the base class are not supposed to offer a feature. For example, Bard subclasses are supposed to have features at Levels 3, 6, and 14, so if you use Bard as your base class and offer a feature at Level 5, your new class will not be publishable (even if you meet the 3,6,14 requirement).
If you want to publish your homebrew class-within-a-subclass, you can either:
Pick a base class that gets subclass features at many levels (like Fighter or Druid)
Set up your class so that features exist only at the allowed levels, but they don’t actually grant things until other levels. For example, I could create a Level 3 feature that grants a spell, but set the spell so that it isn’t granted until level 5.
Set up your class so that features exist only at the allowed levels. The features contain options, which use level restrictions and option type “Granted” (based on fulfilling an earlier prerequisite) to make sure things are granted at the level you actually want them granted at. There is an example of how to do this in my guide above, where I implement the four Psion subclasses using options and prerequisites.
None of these options are great, and it’s likely to make publishing homebrew class-within-a-subclass creations much more difficult. However, you do NOT have to comply with the feature/level requirements to share homebrew with players in your own campaigns, only to publish your homebrew.
Adding spellcasting to a martial class
Adding spellcasting to a martial class has two steps: setting up spellcasting properties, and creating a feature called “Spellcasting” (which tells D&D Beyond to enable the relevant sections of the character builder and character sheet).
The spellcasting properties are at the bottom of the “Basic information” section for your subclass. In the screenshot below I am creating a subclass that uses STR as its spellcasting ability, is a half-caster, uses a spellbook like a wizard, and has a class spell list consisting of the entire wizard spell list plus Cure Wounds and Healing Word:
Before my bizarre new subclass can actually prepare or cast spells, I also need to add a feature with the name “Spellcasting”. The feature doesn’t need to do anything, and you can check the boxes for “Hide in Builder” and “Hide in Sheet” so it doesn’t bug your players. It just needs to exist so D&D Beyond will enable parts of the interface related to preparing/casting spells for characters with this subclass.
Changing spellcasting properties of a base class that already casts spells
If the base class is already a caster, most of the spellcasting properties shown in the preceding section will not work to let your subclass override properties of the base class.
You CAN override the base class’s spellcasting ability, and you can add new spells.
You cannot change whether it’s a full caster or a half caster, or whether it uses a spellbook like a wizard or has knowledge of its whole spell list like other classes. You also cannot remove spellcasting by setting “Can cast spells” to “No”, and you cannot remove things from the base class’s spell list.
When your base class has an unwanted spell list
If your base class is Wizard, your players can hide unwanted spells from the wizard spell list by putting all of the spells the new class is allowed to cast into the Wizard’s spellbook and then never looking at the rest of the Wizard spells outside of the spellbook again.
If your base class is any other caster besides Wizard, you cannot hide or remove the unwanted spells from the base class’s spell list. In this case, your best bet is to have players ignore the default interfaces for selecting/preparing spells, and build them a replacement that they access via the character builder.
There are two ways to do this: A quick-and-dirty way suitable for DMs who are just sharing with their players (and who trust their players not to prepare more spells than allowed), and a more painful and time-consuming that’s a lot cleaner and nicer-looking for people who want to publish their homebrew.
Setting up the quick-and-dirty alternate method of spell selection
To create the feature “Messy spell preparation”, add a feature by that name, set “Has options” to “Yes” and set “Class levels where options are known” to ”1,1,3,5,7,9,11,13,15”
Create an option called “Choose Cantrips”. Set the option to be available at level 1. Under that option, click “Add a spell”. Enter all desired cantrips, set “Consumes a spell slot” to “No” (because they’re cantrips), and check the box for “Is infinite” so players can select more than one cantrip from this list.
Create an option called “Choose Level 1 Spells”. Set the option to be available at level 1. Under that option, click “Add a spell”. Enter all desired level 1 spells, set “Consumes a spell slot” to “Yes”, and check the box for “Is infinite” so players can select multiple level 1 spells from this list.
Create an option called “Choose Level 2 Spells”. Set the option to be available at class level 3…
Repeat until you have covered all of the different levels of spells.
Example of setting up the level 3 spells:
What your option list for “Messy spell selection” will look like:
What it looks like in the Character Builder before spells are selected:
What it looks like in the Character Builder after the player selects some spells:
It’s ugly, but it will get the job done, and it’s really fast to set up in the homebrew tool.
Setting up the clean and polished alternate method of spell selection
First, create a feature called “Cantrip Selection”. Check the box for “Has Options”, and for “Class levels where options are known” enter the levels where you want the players to be able to select cantrips (for example, “1,1,1,5,9” means “choose three cantrips at level 1, add one at level 5, add one at level 9”. Now for each cantrip you want players to be able to choose from, create an option with the name of the cantrip, put the spell description in the description for the option, and use “Add a Spell” under the option to make the option grant the spell in question.
It's time-consuming, but it looks nice and polished in the Character Builder, and it makes sure players get the correct number of cantrips at the correct character level:
Next, create a feature called “Spell selection”. Check the box for “Has options”, and for “Class levels where options are known” enter levels where the number of spells a player can prepare increases. For example, “1,1,1,1,2,3,4,5,6,7” would mean “You can prepare 4 spells at character level 1, then you add one prepared spell per level until you reach level 7”. Create the spells as options (like you did with the Cantrips), but this time for the options set the “Required class level” value for each option so level 2 spells aren’t available until character level 3, level 3 spells aren’t available until character level 5, etc. Be sure to set the level restriction on the page for the option, NOT on the “Add a Spell” page.
Here’s an example of some options set up for selecting leveled spells:
And here’s what that looks like in the character builder:
Note that while the drop-down boxes for selecting a spell refer to the character level where they were first granted (eg. “Choose a Level 1 Option”), every box will correctly show spells of all levels that are currently available to the character, eg. a level 5 character can use any of the boxes to select a level 1, 2, or 3 spell. This correctly emulates normal spell selection behavior.
I decided to build the 2025 playtest Psion in the homebrew tools, to encourage players in my one-shots to try it out.
This guide will walk you through creating the subclass "Wizard to Psion conversion", which implements all features of the playtest Psion (including the ability to select between all four Psion subclasses and have their features automatically appear at the right levels).
The DNDBeyond homebrew tools are only meant for subclasses, not classes, so this required some creative work-arounds. But the end result is a fully-functional Psion – you just have to ignore a few unwanted extra Wizard things on your character sheet.
This post focuses on implementing the Psion, but in the process it teaches several things that will also be useful if you want to implement your own fully-homebrew class.
After this post I have added some screenshots of the finished "Wizard to Psion conversion" subclass as viewed from the player-facing parts of the interface, and another a reply with some additional information you don't need for the Psion but that you might need when homebrewing another class.
Note: These posts sometimes refer to "your players" on the assumption that the reader is a DM. I do not mean to imply that players cannot use the homebrew tools themselves - if you're a player well-versed in the homebrew tools, your DM is lucky to have you!!
IMPORTANT TIPS for the subclass homebrew tool:
Here are two very important things to know about the subclass homebrew tool:
Overview of the subclass homebrew tool
When you are creating a subclass, the subclass homebrew tool has two main sections. "Basic information" is mostly a description of the subclass, and a few basic properties related to spellcasting. The second section, "Class Features", does not appear until you have filled out the basic information and saved the subclass for the first time.
A "feature" (created in the Class Features section) is the basic unit of adding things to your subclass. Each feature has a name (like "Psion Skills" or "Psion Subclasses"). Once a feature is created, you can put all sorts of things under it - spells, actions, modifiers, etc. - that the feature will add to the class.
When you create a feature, there are two ways to add things to the class via that feature:
Choosing your base class
We will be implementing the Psion class as a homebrew subclass called "Wizard to Psion conversion". When choosing the base class to use for your class-within-a-subclass, the main considerations are:
In this case, we are in luck – like the Psion, the Wizard is an INT-based caster with a d6 hit die, and is only proficient with simple weapons. It even has the correct saving throw proficiencies (INT and WIS). It is also the most convenient of the caster classes to use as a base class because your player can put the Psion spells in the Wizard’s spellbook and then never have to look at the rest of the Wizard spells again.
The Psion we build in this tutorial won't grant class features at the right level to be publishable as a subclass of Wizard, but that doesn't matter, it's already not publishable because the playtest materials are copyrighted.
After this post, I’ll write a follow-up with some work-arounds for when you don’t have such a convenient match for a base class.
Creating the subclass and the new Unearthed Arcana spells
Start by going to the homebrew tool and creating a new subclass. Create it as a subclass of the 2024 Wizard, and choose to start from scratch rather than basing it on an existing Wizard subclass. I have named my subclass “Wizard to Psion conversion”.
The next thing to do is create the new Psion spells from the Unearthed Arcana. I won’t go into detail on that because the tool for making homebrew spells is pretty straight-forward, but I will offer two tips:
Spellcasting setup for the subclass
Now that the Unearthed Arcana spells are created, we’re ready to do the spellcasting setup for the subclass (in the “Basic information” section of the subclass homebrew tool). Under the box related to subclass description, you will see several boxes where you can select options related to spellcasting. The wizard is already a spellcaster, so you can leave all of the small casting-related boxes blank (as far as I can tell, those boxes have no effect when the base class is already a caster). In the big box labeled “Additional Specific Spells”, you can either enter all of the Psion’s spells, or just Psion spells the Wizard class doesn’t already have.
The Psion is easy to do here because we’re using Wizard as our base class – the Wizard is already a caster, and the Wizard’s spellbook lets players keep Psion spells separate from the rest of the Wizard spell list. For setting up spellcasting in other scenarios where the base class is a caster without a spellbook or a non-caster, see the follow-up post below.
Creating class features
The screenshot below shows the class features section after creating the Psion. To the left of each feature are two numbers – one for the character level where that feature will first appear/be available, and one for what order features will show up in in the character builder.
The screenshot below shows the options that appear under the feature description box when you create a class feature:
“Required class level” is the level at which the option shows as available in the character builder, and “Display order” controls where an option appears relative to other same-level options in the character builder. I’ll explain “Has options” and “Class levels where options known” later in the section on Psionic Disciplines.
“Display required level” just adds the level to the feature name in the character builder. “Hide in builder” hides the feature in the character builder, and “Hide in sheet” hides the feature on the character sheet.
Finally, for “Feature type”, every feature we will create has type “Granted”, which means it just automatically appears in the character builder for characters of the correct level. The option “Additional” would mean you have to enable it under “Optional class features” in the class section of the character builder before the option is available, and the option “Replacement” would mean it’s an optional replacement for another feature of your homebrew subclass (unfortunately this option cannot be used to replace anything from the base class).
After you name, describe, and save your feature, several more options will appear below for things like “Add a modifier” and “Add a spell”. These are where you can set up the things your class feature will do. They will only appear after the class feature has been saved for the first time. (If the buttons haven’t appeared, then your class feature probably failed to save because a required box like name or description was left blank).
Psionic Power
We’ll start with the psion class feature “Psionic Power”. Create the class feature, name it, and add a description. You will also need to enter a shorter description in the box that says “Snippet”. What you put in the “Description” box will only appear in the character builder, the text in the “Snippet” box is what will appear on the character sheet and under the “Features and Traits” tab on the character’s page.
Once the class feature is created and saved, go to the blue buttons that have appeared below the “Save Changes” button and click “Add Action”.
To create “Telekinetic Propel”, use the following settings:
Then enter a description in the description box. You also put something in the “snippet” box here, so Telekinetic Propel will have a description under the “Actions” tab on the character page.
Repeat this process to create “Telepathic Connection” as a Bonus Action too (no need to set proficiency/ability/etc. on that one since there’s no saving throw involved).
Finally, create a third action called “Psionic Energy Dice”, so we can make check-boxes to track usage of a limited resource. Set the action type to “General”, activation type to “Special” and reset type to “Long Rest”. After you save this action, two new blue buttons will appear, click the one that says “Add Limited Use Data”. Set number of uses to “4” and level to “1”, then save. Then click “Add Limited Use Data” again. Set number of uses to “6” and level to “5”, then save. Repeat for all other levels where the Psion gains energy dice.
The energy dice check-boxes will correctly reset on a long rest, but they won’t automatically add back one die on a short rest, players will need to do that by hand.
Psion skill proficiencies
Next we’ll add the option to select two Psion skill proficiencies. Create a subclass feature called “Psion skills”. In the settings boxes below the description, check the box “Has options”, then enter “1,1” in the box “Class levels where options known” to indicate that players get to choose two skill proficiency options at level 1. Also check the box for “Hide in sheet” so creating this as a subclass feature doesn’t add clutter to the character sheet.
Once you’ve saved your new feature and the blue buttons appear, click “Add an option”. Name your option “Arcana”, enter “Arcana” in the description box, leave all other settings blank, then click “Create Option”.
After you click “Create Option”, blue buttons will appear below. Click the one that says “Add a modifier”. For your modifier, set modifier type “Proficiency” and modifier subtype “Arcana”, leave everything else blank, and save it.
Repeat the process above to create options (each with an included modifier for the relevant skill) for the other six Psion skill proficiencies.
Caution: The character builder is still going to show a “Core Wizard Traits” section where your players can choose Wizard proficiencies too. Tell your players to leave that section blank and select proficiencies in the “Psion skills” section instead.
Subtle Telekinesis
Create a subclass feature with the relevant name and description, then after saving it click the blue “Add a spell” button. In the top left corner of the next page, choose “Mage Hand” in the box that says “Spell”. That page has many, many other settings, but since Mage Hand is a cantrip you can ignore all of them and just click “Save”.
Psionic Disciplines
These are easy, just time-consuming. You’ll set these up as options (see the “Psion skills” section). Create your subclass feature, check the “Has options” box, and enter “1,1,10,10,17,17” in the “Class levels where options known” box. Then create an option for each psionic discipline.
Be sure to put a description of each psionic discipline in the option’s “snippet” box as well as its “description” box, so descriptions for the player’s selected disciplines will appear on the character sheet and under the “Features & Traits” tab on the character page.
Psionic Modes
Create the feature, description, and snippet. Then under the feature, add an action called “Psionic Modes” with activation type “Bonus Action” and reset type “Long Rest”. Save it, then add limited use data to set up the usage checkboxes (see the setup for psionic energy dice in the “Psionic Power” section).
The rest of the features (besides Psion Subclass)
From level 4 onward, the rest of class features are easy. You don’t need to do anything for class features the Wizard already gets (Ability Score Improvement, Epic Boon). For the rest (Psionic Restoration, Psionic Surge, Enkindled Lifeforce) you’ll just create features with text descriptions and snippets.
Psion Subclass
This was the tricky part to figure out. To implement subclasses, we’ll actually need to create two features, one called “Psion Subclass” where the player selects the subclass and sees the details in the character builder, and a second separate one called “Psion Subclass Features” to actually make all the subclass stuff happen and show up properly on the character sheet.
Start by creating the “Psion Subclass” feature. Set “Required class level” to 3, check the “Has options” box, set “Class level where options known” to 3, and check the box “Hide in sheet” (we only want this part to show in the builder and not on the character sheet). After saving, use the blue “Add an option” button to add options for each of the four subclasses.
In the Description box for each option, add all information the player needs to know about the subclass when choosing it – the subclass spells, descriptions for the different abilities the subclass gets at different levels, etc. We will also add the subclass spells here – since “Psion Subclass” is hidden from the character sheet, this prevents the spells from cluttering up the “Features and Traits” section.
Here's an example with some of the spells I attached to the option for the Psi Warper subclass:
Once you save the option for a psion subclass, click the blue “Add a spell” button on the option’s page. On the top left corner of the “Add a Spell” page, enter the spell you are adding. Then scroll down to the bottom, and set “Consumes Spell Slot” to yes, and “Available at Character Level” to the level where the subclass grants that spell. DO NOT set “Always Prepared” to yes. The spell will already be always prepared without this option, setting it to yes will just make the spell appear in duplicate or triplicate on the character sheet.
Repeat this until you have set up options for all four subclasses with their descriptions and their spells. You will need to add each spell as a separate entry – if you select multiple spells in the spell box on “Add a Spell” page, it makes a drop-down box where the player has to select one of the spells instead of automatically granting all of the specified spells.
Psion Subclass Features
Next, create a separate feature called “Psion Subclass Features”. Check the box “Hide in Builder” (there’s not going to be anything here to show or interact with in the builder, it would just be a blank section), and do not check the box “has options” or enter anything in “class level where options known”.
The general way that this is going to work is that we are going to create all options for all four subclasses under “Psion Subclass Features”, and then list them as being automatically granted at the relevant levels based on the prerequisite of having selected their subclass under “Psion Subclass”. (This is why this has to be separate from “Psion Subclass” – options under the same feature cannot list each-other as prerequisite.)
Here is an example from when I had the options for two of the four psion subclasses added:
Most of the features from the psion subclasses are just text descriptions that don’t require any additional setup. So you’ll create each one as option, being sure to include a description of the feature in the “snippet” box so it will show up on the character sheet. Then at the bottom of the page for the option, check the box “Is granted” to make it automatically granted based on prerequisites, set “Required class level” to the class level the option is granted at, and set “Psion Subclass – [subclass name]” as the prerequisite for granting the option.
A few things do require special setup to add the relevant Action, Bonus Action, or Reaction. For these, after you create and save the option, click “Add an Action” and create the relevant action. You will need to add text to the Snippet, and set the correct Activation Type (Action, Bonus Action, Reaction, or Special) so it shows up in the right section of the character sheet.
The only Psion subclass feature that requires doing something not already covered in this tutorial is the Metamorph’s Organic Weapons, which require setting up a rollable attack. To that, you’ll choose “Add an Action” under the option you created for Organic Weapons, and set the action type to “Weapon” instead of “General”, doing this once for each of the Organic Weapons.
Final notes
Mega-thanks to IamSposta and Stormknight for their incredibly helpful getting started guides for the homebrew tools.
I have added two replies to this post, one with screenshots of the finished "Wizard to Psion conversion" subclass from the character builder and character page, and one with tips for how to use a subclass for building a class when the base class isn't as good of match as Wizard->Psion was.
Screenshots of the finished "Wizard to Psion conversion" subclass
This post has screenshots of the "Wizard to Psion conversion" subclass from character builder and character sheet page, eg. the parts your players will see.
Some text in the screenshots has been covered with grey rectangles to show my healthy respect and/or fear of WoTC's copyright lawyers. These screenshots are intended to show you what the player-facing interface looks like when this class is implemented using the homebrew tools, if you want the full text of what the class does please see the official playtest materials.
Character builder for a Level 3 Wizard before selecting the "Wizard to Psion conversion" subclass
Character builder for a Level 3 Wizard after selecting the "Wizard to Psion conversion" subclass
You can't get rid of the unwanted Wizard things like "Core Wizard Traits" and "Scholar", but you can just refrain from selection options for them.
User-selectable options added by the "Wizard to Psion conversion" subclass
Character builder at higher levels
Not much changes in the character builder after level 3 - the general Psion class features like "Psionic Restoration" and "Psionic Surge" will appear at appropriate levels, but the features from your chosen Psion subclass will not show in the Builder (sorry, I tried...). The best I could do was to make them appear on the character sheet, and to include all subclass details in the description text that appears when you select a Psion subclass at level 3.
One change that was worth screen-shotting is the ability to select two more Psionic Disciplines at level 10. This option appears automatically at that level, in the same box where you selected two disciplines at level 3:
Character sheet page: Actions section
The Psion in this screenshot has the "Metamorph" subclass.
Character sheet page: Features & Traits
The Features & Traits page will show your Psion options (including user-selected options like Psionic Disciplines), but will also show some unwanted Wizard things like "Arcane Recovery". This screenshot also shows the check-boxes for the Psionic Energy Dice.
The screenshot above shows part of the Features & Traits page for a Level 6 Psion with the "Psi Warper" subclass. Things granted by your chosen Psion subclass will appear here (as well as in other relevant sections like Actions and Spells) when your character reaches the relevant level. They will also appear on the printable PDF character sheet.
When none of the base classes are a close match
The Wizard and the Psion had enough things in common that it was easy to make a “Wizard to Psion conversion” subclass. But if you want to implement your own fully-homebrew class using the subclass tool, you may encounter situations where no base class is a close match and you need to handle some discrepancies
Using your new class before level 3
Since your homebrew class is implemented with the subclass homebrew tool, you can only use it once the base class allows subclass selection. If you are using 2024 base classes, this means your new class won’t be usable for characters before level 3. Some of the 2014 classes can choose a subclass earlier (Cleric, Sorcerer, and Warlock can choose at level 1, Druid and Wizard can choose at Level 2).
Hit points
I could not find a way to change the base class’ hit die. It will show incorrectly on the character sheet and from the “Take a short rest” button no matter what you do.
However, you can override hit point calculation, and you can provide your players with a replacement way to roll hit dice on a short rest.
The easiest way to override hit point calculation is to have your players set “Hit point type” to “Manual” on the first page of the character builder, and then manually enter the correct hit points. If you want to allow your new class to use hit point type “Fixed” and produce the correct numbers, you can do this by creating a class feature called “Adjust Hit Points”. Under this feature, you will need to add two modifiers to correct hit point calculation:
The easiest way to explain this hit point calculation is to demonstrate. The “average” used for fixed HP calculation is half the hit die max plus 1. A level 3 character with a d12 hit die should have 12 + 7 + 7 = 26 hit points (before adding CON). A level 3 character with a d8 hit die should have 8 + 5 + 5 = 16 hit points. To convert from the d12 to the d8, you would do (12 - 2 - 2) + (7 - 2) + (7 - 2).
Hit dice for a short rest
Because you cannot change the base class’ hit die, rolling hit dice from the “Take a Short Rest” button will produce incorrect results if your new class needs a different hit die. However, you can create a class feature called “Rollable hit dice” to add the ability to track and roll the correct size hit dice from the “Actions” section of the character sheet.
When creating the “Rollable hit dice” feature, it would be a good idea to check the “Hide in Builder” option for the feature, since there’s no reasons players need to see this in the character builder. Then under this feature, create an action called “Roll a hit die” with the following settings:
Action type: General
Dice count: 1
Die type: Your new class’ hit die
Display as an attack: Yes
Activation type: Special (required for it to appear and be rollable on the Actions tab)
Reset type: Long rest (you must set a reset type to be able to add limited use check-boxes)
After your action is created and saved below, an option will appear below the save button that says “Add Limited Use Data”. This is where you can set up how many check-boxes for hit dice the player has at each level. Unfortunately limited uses will only auto-scale according to proficiency or a skill modifier, not by level, so you will have to set separate limited use data for each level.
After you’ve set this up, here’s what it will look like at the bottom of the “Actions” tab on the character sheet page:
Weapon proficiencies
As far as I can tell, there is no good way to remove unwanted weapon proficiencies from the base class. You can easily *add* weapon proficiencies (as a Modifier under a Feature), but you cannot remove them. I couldn’t even find a way to cancel them out like I did for hit points.
Unwanted weapon proficiencies particularly problematic discrepancy to have, because they will affect automatically-calculated bonuses for rolls made from the website or the app. Your best bet is to avoid selecting a base class that has weapon proficiencies you don’t want your new class to have.
Saving throw proficiencies
You can add saving throw proficiencies for your class by creating a feature that gives a modifier of type “Proficiency” and subtype “Constitution Saving Throws” (or whatever proficiency you want to add).
You cannot remove the base class’s saving throw proficiencies from your homebrew subclass, but they can be removed from the character sheet page.
Here is a screenshot showing the saving throw box on the character page when the base class is “Cleric” (WIS and CHA) and the new class has added DEX and CON. To remove WIS and CHA, start by clicking the words “Saving throws” with the gear icon next to them at the bottom of the box:
This will bring up a side panel on the right side of the screen, like the one shown below. Click the name of the skill you want to change (eg. WIS):
When the side panel changes to show the skill you clicked, expand the “Customize” section and set “Saving Throw Proficiency Level” to “Not Proficient”:
Levels where characters gain subclass features
If you want to publish your homebrew class, it must provide features at the levels where subclasses of the base class are supposed to provide features.
For a level where you don’t want your new class to offer a feature, you can fulfill the requirement to offer by creating a feature that does nothing and checking “Hide in Builder” and “Hide in Sheet”.
Unfortunately, this restriction also will not allow you to publish subclasses that offer a feature at a level where subclasses of the base class are not supposed to offer a feature. For example, Bard subclasses are supposed to have features at Levels 3, 6, and 14, so if you use Bard as your base class and offer a feature at Level 5, your new class will not be publishable (even if you meet the 3,6,14 requirement).
If you want to publish your homebrew class-within-a-subclass, you can either:
None of these options are great, and it’s likely to make publishing homebrew class-within-a-subclass creations much more difficult. However, you do NOT have to comply with the feature/level requirements to share homebrew with players in your own campaigns, only to publish your homebrew.
Adding spellcasting to a martial class
Adding spellcasting to a martial class has two steps: setting up spellcasting properties, and creating a feature called “Spellcasting” (which tells D&D Beyond to enable the relevant sections of the character builder and character sheet).
The spellcasting properties are at the bottom of the “Basic information” section for your subclass. In the screenshot below I am creating a subclass that uses STR as its spellcasting ability, is a half-caster, uses a spellbook like a wizard, and has a class spell list consisting of the entire wizard spell list plus Cure Wounds and Healing Word:
Before my bizarre new subclass can actually prepare or cast spells, I also need to add a feature with the name “Spellcasting”. The feature doesn’t need to do anything, and you can check the boxes for “Hide in Builder” and “Hide in Sheet” so it doesn’t bug your players. It just needs to exist so D&D Beyond will enable parts of the interface related to preparing/casting spells for characters with this subclass.
Changing spellcasting properties of a base class that already casts spells
If the base class is already a caster, most of the spellcasting properties shown in the preceding section will not work to let your subclass override properties of the base class.
You CAN override the base class’s spellcasting ability, and you can add new spells.
You cannot change whether it’s a full caster or a half caster, or whether it uses a spellbook like a wizard or has knowledge of its whole spell list like other classes. You also cannot remove spellcasting by setting “Can cast spells” to “No”, and you cannot remove things from the base class’s spell list.
When your base class has an unwanted spell list
If your base class is Wizard, your players can hide unwanted spells from the wizard spell list by putting all of the spells the new class is allowed to cast into the Wizard’s spellbook and then never looking at the rest of the Wizard spells outside of the spellbook again.
If your base class is any other caster besides Wizard, you cannot hide or remove the unwanted spells from the base class’s spell list. In this case, your best bet is to have players ignore the default interfaces for selecting/preparing spells, and build them a replacement that they access via the character builder.
There are two ways to do this: A quick-and-dirty way suitable for DMs who are just sharing with their players (and who trust their players not to prepare more spells than allowed), and a more painful and time-consuming that’s a lot cleaner and nicer-looking for people who want to publish their homebrew.
Setting up the quick-and-dirty alternate method of spell selection
To create the feature “Messy spell preparation”, add a feature by that name, set “Has options” to “Yes” and set “Class levels where options are known” to ”1,1,3,5,7,9,11,13,15”
Example of setting up the level 3 spells:
What your option list for “Messy spell selection” will look like:
What it looks like in the Character Builder before spells are selected:
What it looks like in the Character Builder after the player selects some spells:
It’s ugly, but it will get the job done, and it’s really fast to set up in the homebrew tool.
Setting up the clean and polished alternate method of spell selection
First, create a feature called “Cantrip Selection”. Check the box for “Has Options”, and for “Class levels where options are known” enter the levels where you want the players to be able to select cantrips (for example, “1,1,1,5,9” means “choose three cantrips at level 1, add one at level 5, add one at level 9”. Now for each cantrip you want players to be able to choose from, create an option with the name of the cantrip, put the spell description in the description for the option, and use “Add a Spell” under the option to make the option grant the spell in question.
It's time-consuming, but it looks nice and polished in the Character Builder, and it makes sure players get the correct number of cantrips at the correct character level:
Next, create a feature called “Spell selection”. Check the box for “Has options”, and for “Class levels where options are known” enter levels where the number of spells a player can prepare increases. For example, “1,1,1,1,2,3,4,5,6,7” would mean “You can prepare 4 spells at character level 1, then you add one prepared spell per level until you reach level 7”. Create the spells as options (like you did with the Cantrips), but this time for the options set the “Required class level” value for each option so level 2 spells aren’t available until character level 3, level 3 spells aren’t available until character level 5, etc. Be sure to set the level restriction on the page for the option, NOT on the “Add a Spell” page.
Here’s an example of some options set up for selecting leveled spells:
And here’s what that looks like in the character builder:
Note that while the drop-down boxes for selecting a spell refer to the character level where they were first granted (eg. “Choose a Level 1 Option”), every box will correctly show spells of all levels that are currently available to the character, eg. a level 5 character can use any of the boxes to select a level 1, 2, or 3 spell. This correctly emulates normal spell selection behavior.