C++ Classes not showing up in content browser

Hello all,

I’m admittedly quite a newbie when it comes to dabbling in C++ and hence, am attempting to remedy this.

On my journey to learn about using C++ classes and scripts in UE4, I decided to start with this tutorial:

https://docs.unrealengine.com/latest/INT/Programming/QuickStart/4/index.html

I, to the best of my knowledge, have followed it exactly. I’m getting stuck however, on the step where it shows the content browser. Theirs looks like this:


Mine, however, looks like this:
Image2.PNG
I did a lot of google searching on the issue and found numerous older topics nearly identical to mine, but no resolution that seems to work. I simply cannot seem to get my C++ FloatingActor class to show up in the content browser, nor can I go backwards any further in the hierarchy than the Content folder by pressing the left arrow.

My code looks identical to that of the tutorial:



// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "GameFramework/Actor.h"
#include "FloatingActor.generated.h"

UCLASS()
class QUICKSTART2_API AFloatingActor : public AActor
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	AFloatingActor();

	// Called when the game starts or when spawned
	virtual void BeginPlay() override;
	
	// Called every frame
	virtual void Tick( float DeltaSeconds ) override;

	float RunningTime;
	
};


// Fill out your copyright notice in the Description page of Project Settings.

#include "QuickStart2.h"
#include "FloatingActor.h"


// Sets default values
AFloatingActor::AFloatingActor()
{
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = true;

}

// Called when the game starts or when spawned
void AFloatingActor::BeginPlay()
{
	Super::BeginPlay();
	
}

// Called every frame
void AFloatingActor::Tick( float DeltaTime )
{ 
	Super::Tick( DeltaTime );
	FVector NewLocation = GetActorLocation();
	float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));
	NewLocation.Z += DeltaHeight * 20.0f; //Scale our height by a factor of 20
	RunningTime += DeltaTime;
	SetActorLocation(NewLocation);
}

It’s the same place as theirs in the Solution Explorer in Microsoft Visual Studio:

It compiles without issue. I’ve compiled it both in Visual Studio as well as Unreal. I’ve restarted the UE4 engine as well. I’ve looked at other forum threads, but nothing they’ve described seems to yield a solution that allows me to see my C++ classes in the content browser.

Does anyone see something I’m missing, or know how to remedy this?

1 Like

Try putting the files you’ve written in a folder inside QuickStart2, for example:

Source/QuickStart2/SpecialFolder/FloatingActor.cpp etc

You can’t see QuickStart2.Target.cs in the editor, so I assume it ignores anything in that directory, and only shows things in subdirectories.

Hmmm, that would make sense. I just tried it, however, and I’m still getting the same issue.

In View Options (eye icon) make sure you displaying C++ classes. You can find your class in Create New panel if you search by name as well… cheers.

2 Likes

You need to click icon with 3 stripes and cursor above them to expand side panel as well :wink: It is to the left of “Filters” in this picture.

The first time for me was the same. But the first time I also got an error that I needed to install Windows SDK 8.1. Done that, but this problem showed up later.

So… I just created a brand new project and redid all the (3?) steps and voila, it’s there. It should be visible just after you’ve added the C++ class.

C++ classes can appear in the content browser, but are not considered “content”. Yes, a very confusing usage of terminology by the Editor.

In the content browser, you should see the word “Content” in bold with a folder icon to the left and a triangle to the right. Click the folder icon and select “C++ classes”, then click the name of your project. You should then be able to drag the class into the level (if it inherits from Actor).

It’s unfortunate that C++ classes do not show up in the default view.

4 Likes

Click on the folder icon in the top of content browser… it will open a new window… check for c++ class folder in … touche!!!

I found the solution. @ 4.18, there’s view option on the content browser and tick the box of “show c++ classes”.

1 Like

I have the same problem in 4.22.3 and i have c++ classes visible by default.
I created a new 4.22.3 Project (non C++) and added my Sourcecode to it which is working in 4.21 and compiles in 4.22.3 successfully.
However, my classes are not exposed to the Editor and Content Browser.

I have this problem - for the life of me I cannot figure out how to get C++ classes to show! Have rebuilt everything in VS many times.

For those arriving here –

I don’t have the defacto solution, but if you have a C++ class (or several) not showing up, make sure that the relevant .h files are in the /Public folder. If you don’t have one or know where that goes, create a public C++ class and navigate to that.

1 Like

What works for me when I create a non C++ project is:

  1. Close Unreal Engine
  2. Open C++ project
  3. Run the project through the IDE

Using VS Code as an example

  1. Debug Panel > Generate Project Files
  2. Uncheck Beakpoints > C++: on throw
  3. Debug Panel > <ProjectName>Editor(Development) (<ProjectName>)
  4. After the Unreal is loaded you can stop it and open the project using Unreal normally
3 Likes

I have the same problem. Nothing is working. In VS, I don’t have those options under Debug. Also, where is Uncheck Breakpoints > C++: on throw?

[USER=“871151”]Nerdballer Games[/USER] in my case I’m using Visual Studio Code:

In Visual Studio:

( * image from Stack Overflow question )

With UE 4.25.1 on Windows with MSVC 2019 Pro, none of these solutions will make C++ Classes available in the editor. This is the case whether I run the editor from the launcher or from Visual Studio.

I have C++ classes that are compiled in, but no editor support.

I have the same issue with UE 4.25.3 when add c++ class to bp project. I have this error in log:

[SPOILER]LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: FModuleManager::Get().QueryModule(ModuleFName, ModuleStatus) [File:D:/Build/++UE4+Licensee/Sync/Engine/Source/Editor/GameProjectGeneration/Private/GameProjectUtils.cpp] [Line: 4047]
LogOutputDevice: Error: Stack:
LogOutputDevice: Error: [Callstack] 0x00007ffaa4041719 UE4Editor-GameProjectGeneration.dll!<lambda_6132b019453403013bb878465d17e750>::operator()() [D:\Build++UE4+Licensee\Sync\Engine\Source\Editor\GameProjectGeneration\Private\GameProjectUtils.cpp:4047]
LogOutputDevice: Error: [Callstack] 0x00007ffaa3f27cc5 UE4Editor-GameProjectGeneration.dll!GameProjectUtils::AddCodeToProject_Internal() [D:\Build++UE4+Licensee\Sync\Engine\Source\Editor\GameProjectGeneration\Private\GameProjectUtils.cpp:4047]
LogOutputDevice: Error: [Callstack] 0x00007ffaa3f26173 UE4Editor-GameProjectGeneration.dll!GameProjectUtils::AddCodeToProject() [D:\Build++UE4+Licensee\Sync\Engine\Source\Editor\GameProjectGeneration\Private\GameProjectUtils.cpp:1306]
LogOutputDevice: Error: [Callstack] 0x00007ffaa3f7c861 UE4Editor-GameProjectGeneration.dll!SNewClassDialog::FinishClicked() [D:\Build++UE4+Licensee\Sync\Engine\Source\Editor\GameProjectGeneration\Private\SNewClassDialog.cpp:1249]
LogOutputDevice: Error: [Callstack] 0x00007ffaa3f759be UE4Editor-GameProjectGeneration.dll!TBaseSPMethodDelegateInstance<0,SNewClassDialog,0,void __cdecl(void)>::ExecuteIfSafe() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:374]
LogOutputDevice: Error: [Callstack] 0x00007ffab7b19249 UE4Editor-AppFramework.dll!SWizard::HandleFinishButtonClicked() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\AppFramework\Private\Widgets\Workflow\SWizard.cpp:305]
LogOutputDevice: Error: [Callstack] 0x00007ffab7adee57 UE4Editor-AppFramework.dll!TBaseSPMethodDelegateInstance<0,SWizard,0,FReply __cdecl(void)>::Execute() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:298]
LogOutputDevice: Error: [Callstack] 0x00007ffab99c207e UE4Editor-Slate.dll!SButton::ExecuteOnClick() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:385]
LogOutputDevice: Error: [Callstack] 0x00007ffab99db27e UE4Editor-Slate.dll!SButton::OnMouseButtonUp() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:304]
LogOutputDevice: Error: [Callstack] 0x00007ffab9822dc8 UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_cc5aea9e7377b04ce85c30c65ec3889b> >() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:372]
LogOutputDevice: Error: [Callstack] 0x00007ffab98a69cf UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4675]
LogOutputDevice: Error: [Callstack] 0x00007ffab988f4b2 UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5198]
LogOutputDevice: Error: [Callstack] 0x00007ffab9882392 UE4Editor-Slate.dll!FSlateApplication::OnMouseUp() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5166]
LogOutputDevice: Error: [Callstack] 0x00007ffad6267f88 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2133]
LogOutputDevice: Error: [Callstack] 0x00007ffad6255c87 UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2585]
LogOutputDevice: Error: [Callstack] 0x00007ffad626a609 UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1809]
LogOutputDevice: Error: [Callstack] 0x00007ffad62517d0 UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:852]
LogOutputDevice: Error: [Callstack] 0x00007ffb11465c1d USER32.dll!UnknownFunction ]
LogOutputDevice: Error: [Callstack] 0x00007ffb11465612 USER32.dll!UnknownFunction ]
LogOutputDevice: Error: [Callstack] 0x00007ffad626bb24 UE4Editor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:130]
LogOutputDevice: Error: [Callstack] 0x00007ff6ce0668c4 UE4Editor.exe!FEngineLoop::Tick() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4762]
LogOutputDevice: Error: [Callstack] 0x00007ff6ce07ba7c UE4Editor.exe!GuardedMain() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
LogOutputDevice: Error: [Callstack] 0x00007ff6ce07bb5a UE4Editor.exe!GuardedMainWrapper() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
LogOutputDevice: Error: [Callstack] 0x00007ff6ce08e31d UE4Editor.exe!WinMain() [D:\Build++UE4+Licensee\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
LogOutputDevice: Error: [Callstack] 0x00007ff6ce09145a UE4Editor.exe!__scrt_common_main_seh() [d:\agent_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
LogOutputDevice: Error: [Callstack] 0x00007ffb113a7c24 KERNEL32.DLL!UnknownFunction ]
LogOutputDevice: Error: [Callstack] 0x00007ffb1334cea1 ntdll.dll!UnknownFunction ]
LogStats: SubmitErrorReport - 0.000 s
LogStats: SendNewReport - 3.059 s
LogStats: FDebug::EnsureFailed - 13.112 s
LogSlate: Window ‘Add C++ Class’ being destroyed[/SPOILER]

whats happening

Severity Code Description Project File Line Suppression State
Error C1083 Cannot open include file: ‘Character/VECBaseCharacter.h’: No such file or directory VEC E:\Projects\VEC\Source\VEC\Character\VECBaseCharacter.cpp 4

But I have this file. I try all things

Did you ever figure this out? I am running into the same issue on 4.26

Yes. I add project name in path ‘VEC/Character/VECBaseCharacter.h’. I don’t understand why UE don’t add it automaticaly. Now I always add it by myself when make new class.