Announcement

Collapse
No announcement yet.

CreateDefaultSubobject Causing Fatal Exception, Need Help as a Newbie.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    CreateDefaultSubobject Causing Fatal Exception, Need Help as a Newbie.

    Hi, I am a newbie here and just started to use Unreal Engine for game developing for days ago. I also do know about the basics of C++ and have very little info about the methods, structure of the library of the UE4.

    MY PURPOSE is simply to create a third person template via C++ in which you can perform basic things like camera movement, camera collision, making the player character disappear when the camera gets too close to the character.

    MY PROBLEM is with the CreateDefaultSubObject. Every time I try to debug my project, the exceptions "pausing" the editor keep evolving around this "method" or "function" (I don't even know what this really is, lol).

    So, here are my simple lines of codes and screenshots of the exceptions.CAN YOU HELP ME FINDING THE SOLUTION? I will be much appreciated.

    Code:
    //***C_CPPTemplate.h***
    
    // Fill out your copyright notice in the Description page of Project Settings.
    
    #pragma once
    
    #include "CoreMinimal.h"
    #include "GameFramework/Character.h"
    #include "Camera/CameraComponent.h"
    #include "C_TPPTemplate.generated.h"
    
    class UCameraComponent;
    
    UCLASS()
    class C_FIRSTTPSTEMPCPP_API AC_TPPTemplate : public ACharacter
    {
        GENERATED_BODY()
    
    public:
        // Sets default values for this character's properties
        AC_TPPTemplate();
    
    protected:
        // Called when the game starts or when spawned
        virtual void BeginPlay() override;
    
    public:    
        // Called every frame
        virtual void Tick(float DeltaTime) override;
        UCameraComponent* CameraComponent;
    
        // Called to bind functionality to input
        virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
    
    
    
    
    
    
    };
    Code:
    //***C_CPPTemplate.cpp***
    
    // Fill out your copyright notice in the Description page of Project Settings.
    
    #include "C_TPPTemplate.h"
    
    
    
    // Sets default values
    AC_TPPTemplate::AC_TPPTemplate()
    {
         // Set this character 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 AC_TPPTemplate::BeginPlay()
    {
        Super::BeginPlay();
    
    
    }
    
    // Called every frame
    void AC_TPPTemplate::Tick(float DeltaTime)
    {
        Super::Tick(DeltaTime);
    
        CameraComponent = CreateDefaultSubobject<UCameraComponent>(TEXT("CameraComponent"));
    }
    
    // Called to bind functionality to input
    void AC_TPPTemplate::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
    {
        Super::SetupPlayerInputComponent(PlayerInputComponent);
    
    }
    ScreenShots:



    I know from my experince with coding that the more the errors get complicated, the the simpler and the more stupid the solution will be. BUT PLEASE GIVE ME SIMPLE AND CLEAR EXPLENATIONS ABOUT THE MATTER as I have just started game programming with UE4 and C++.

    P.S. My Engine Version is 4.20.3 and I got the instructions from probably earlier version of the UE. I will give you the links of the tutorials if it is allowed in the forums.

    Thanks in Advance!

    #2
    You dont want to do it on tick - move it to the constructor
    https://www.casualdistractiongames.com

    Comment


      #3
      Thanks man! I knew it was simple and a stupid error done by an newbie programmer

      Comment

      Working...
      X