# Abstract Blueprints Possible?

**URL:** <https://forums.unrealengine.com/t/abstract-blueprints-possible/299147>\
**Category:** Blueprint\
**Tags:** classes, unreal-engine, Blueprint, question\
**Created:** [November 17, 2014, 3:59am UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147 "2014-11-17T03:59:06Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![DesertEagle\_PWN](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DesertEagle\_PWN](https://forums.unrealengine.com/u/DesertEagle_PWN)\
**Post date:** [November 17, 2014, 3:59am UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/1 "2014-11-17T03:59:06Z")

</div>

Is it possible to have abstract class blueprints? Can’t seem to find much on implementing abstract classes and methods in blueprints. How do I make one (if possible) and how do I got about creating abstract methods in blueprints?

---

<div class="post-metadata">

**Author:** ![Erasio](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Erasio](https://forums.unrealengine.com/u/Erasio)\
**Post date:** [November 18, 2014, 9:33am UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/2 "2014-11-18T09:33:47Z")

</div>

I haven’t found a way to do this directly…

My workaround so far is creating an interface, adding this to the parent and then implementing them in the child where I want a different functionality.

It works just fine though it does feel like a bit of a dirty hack.

---

<div class="post-metadata">

**Author:** ![DesertEagle\_PWN](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DesertEagle\_PWN](https://forums.unrealengine.com/u/DesertEagle_PWN)\
**Post date:** [November 19, 2014, 4:19pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/3 "2014-11-19T16:19:40Z")

</div>

The more I think about it the less it seems like abstract blueprints aren’t really intended to be made for the simple fact that you would only make an abstract class to be extended from and not instantiated. Blueprints seem like something you would make only for something that would be instanced in the game, though honestly I’m still new to the Blueprint system myself and would really like to know more about translating my existing OOP skills to Blueprint and UE4 C++.

---

<div class="post-metadata">

**Author:** ![Erasio](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Erasio](https://forums.unrealengine.com/u/Erasio)\
**Post date:** [November 19, 2014, 5:33pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/4 "2014-11-19T17:33:33Z")

</div>

That would be the prefabs system from cry. Blueprints are capable of working independently and are supposed to work seamlessly with c++.

So abstract functions are kinda necessary especially in an event heavy environment.

---

<div class="post-metadata">

**Author:** ![DesertEagle\_PWN](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DesertEagle\_PWN](https://forums.unrealengine.com/u/DesertEagle_PWN)\
**Post date:** [November 20, 2014, 3:40pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/5 "2014-11-20T15:40:22Z")

</div>

In that case, does anyone now how to directly implement them? This is kind of a big deal.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_e729f54e](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_e729f54e](https://forums.unrealengine.com/u/anonymous_user_e729f54e)\
**Post date:** [November 20, 2014, 8:49pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/6 "2014-11-20T20:49:59Z")

</div>

Hello DesertEagle\_PWN,

There is not a way currently to have a blueprint that is not in some way, shape, or form instantiated. I hope that this answers your question. You could try Erasio’s workaround, this should give you similar functionality.

Make it a great day

---

<div class="post-metadata">

**Author:** ![DesertEagle\_PWN](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DesertEagle\_PWN](https://forums.unrealengine.com/u/DesertEagle_PWN)\
**Post date:** [November 23, 2014, 5:08am UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/7 "2014-11-23T05:08:13Z")

</div>

Welp, good to have an official answer, is there any chance that this is something we may see in the future? I really appreciate the simplicity of Blueprint, but abstract classes are something that I need fairly frequently.

Edit for spelling.

---

<div class="post-metadata">

**Author:** ![MaximumRelativity](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@MaximumRelativity](https://forums.unrealengine.com/u/MaximumRelativity)\
**Post date:** [May 18, 2015, 5:33pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/8 "2015-05-18T17:33:17Z")

</div>

This might be dirty, but I used a normal Character-blueprint and derived the other classes from it.  
Then, to disable instantiation of the super-class, I use the Event “Begin Play” to Destroy the Actor  
(“Event Begin Play” → “Destroy Actor”(target: self) )

Not sure if this is the best way to solve the problem, but it works (for me at least).  
Hope it helps.

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_e729f54e](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_e729f54e](https://forums.unrealengine.com/u/anonymous_user_e729f54e)\
**Post date:** [May 21, 2015, 7:06pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/9 "2015-05-21T19:06:34Z")

</div>

Hello DesertEagle\_PWN,

A feature request has been submitted to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.

Make it a great day

---

<div class="post-metadata">

**Author:** ![DesertEagle\_PWN](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DesertEagle\_PWN](https://forums.unrealengine.com/u/DesertEagle_PWN)\
**Post date:** [May 21, 2015, 11:07pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/10 "2015-05-21T23:07:35Z")

</div>

Thank you very much Rudy, glad you’re still keeping up with this. I know for most purposes you would implement abstractable functionality in C++ classes and then extend via Blueprints, but it would be nice to easily be able to prototype functionality with some form of completely abstract blueprint (expecially for extending classes that are not Actors.) Thanks again.

---

<div class="post-metadata">

**Author:** ![redhatdragon](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@redhatdragon](https://forums.unrealengine.com/u/redhatdragon)\
**Post date:** [September 10, 2015, 5:16am UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/11 "2015-09-10T05:16:19Z")

</div>

I’ve had trouble with this for a while as well. For anyone that doesn’t know you can do what Max mentioned (i’ve done this with “actor” blueprint) but use “events” instead of functions. apparently child events execution override the parent’s event execution path. This is a bit dirty but you can wrap the execution in a comment and collapse it if you wish. This mimics abstract functions very well in my opinion but i don’t know if events are based on pointers(long jump) or not. could anyone elaborate please?

---

<div class="post-metadata">

**Author:** ![dzarafata](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@dzarafata](https://forums.unrealengine.com/u/dzarafata)\
**Post date:** [October 8, 2019, 9:26pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/12 "2019-10-08T21:26:55Z")

</div>

You can mark blueprint class as abstract by checking `Generate Abstarct Class`  
in `Class Settings -> Class Options (Advanceed)`.

![289574-generateabstractclass.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/5/9/d/59d22e98bd357e72f5630a8f282d8c72de7f80f9.png)

---

<div class="post-metadata">

**Author:** ![MonkeyBoy8001](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/monkeyboy8001/32/1215316_2.png) [@MonkeyBoy8001](https://forums.unrealengine.com/u/MonkeyBoy8001)\
**Post date:** [January 23, 2024, 1:34pm UTC](https://forums.unrealengine.com/t/abstract-blueprints-possible/299147/13 "2024-01-23T13:34:30Z")

</div>

Nice to know (hi from 2024)!
